Ошибка список не определен. Хотя она объявлена
Вот весь код. Когда я хочу запустить функцию night то появляется ошибка в которой написано что список star_areas не определен, хотя я объявил этот список в начале функции. Также пишет что списки xcors и ycors тоже не определены но я их как бы объявлял. Что делать?
from random import *
def night():
star_areas = [] # список для хранения координат для спавна звезд
def house(x, y, height, width, color): # функция делает дом с окнами включенным или отлюченным светом
turtle.up()
turtle.goto(x, y) # идем к заданным позициям
turtle.down()
turtle.fillcolor(color) # задаем цвет дома
turtle.begin_fill()
turtle.left(90)
turtle.forward(height)
turtle.right(90)
turtle.forward(width)
turtle.right(90)
turtle.forward(height)
turtle.left(90)
turtle.end_fill()
for i in range(x + 10, x + width - 10, 40): # рисуем окна
for j in range(y + 10, y + height - 29, 40):
window(i, j, 20, randint(0, 1)) # чтобы нарисовать окна вызываем функцию window
# с координатами i, j размером окна в 20 пикселей с включеным(1) или отключенным(0) светом
def window(x, y, side, islight_on): # функция делает одно окно
turtle.color(('DarkBlue', 'yellow')[islight_on], ('DarkBlue', 'yellow')[islight_on])
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.begin_fill()
for _ in range(4):
turtle.forward(side)
turtle.left(90)
turtle.end_fill()
turtle.pencolor('black')
# turtle.forward(side / 2)
# turtle.left(90)
# turtle.forward(side)
# turtle.up()
# turtle.goto(x, y)
# turtle.right(90)
# turtle.down()
def houses(x, y): # функция делает дома с окнами включенным или отлюченным светом
global star_areas
turtle.up()
turtle.goto(x, y)
turtle.down()
h, w = randrange(220, 501, 40), randrange(200, 401, 40) # рандомно подбираем высоту и ширину дома
house(x, y, h, w, 'DarkBlue')
star_areas.append((x, x + w, y + h)) # добавляем к списку star_areas кортеж состоящий из координат левой вершины дома,
# правой вершины дома и из координат вершины дома
for _ in range(6):
x += w # увеличиваем начальную координату по иксу на ширину только что нарисованного дома
h = randrange(220, 501, 40)
w = randrange(200, 401, 40)
star_areas.append((x, x + w, y + h))
house(x, y, h, w, 'DarkBlue')
def star(x, y, size): # функция делает одну звезду
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.dot(size, 'yellow')
#turtle.fillcolor('yellow')
#turtle.begin_fill()
#for _ in range(4):
#turtle.forward(size)
#turtle.left(90)
#turtle.forward(0)
#turtle.end_fill()
xcors = [] # список для хранения координат звезд по x
ycors = []# список для хранения координат звезд по y
def stars(): # функция делает звезды с рандомными размерами
global xcors, ycors, star_areas
for area in star_areas:
a, b, c = area # присваеваем переменным a, b и c значения кортежа area
while len(xcors) != 5: # пока
x, y = randrange(a + 15, b - 15), randrange(c + 50, 400)
while checking(x, y) != True:
x, y = randrange(a + 15, b - 15), randrange(c + 50, 400)
star(x, y, randint(8, 10))
xcors.append(x)
ycors.append(y)
# print(xcors)
# print(ycors)
xcors, ycors = [], []