В настоящее время у меня возникает проблема, когда каждый раз, когда я пытаюсь использовать более одного варианта «Верно», l oop в моем коде происходит сбой веб-сайта. Я кодирую с python черепаха, хороший способ для начинающих начать с кодирования с python. Поэтому я пытаюсь вращать объект черепахи по кругу, пока игрок не нажмет пробел. Черепаха вращается, когда объект черепахи имеет синий цвет. Как только игрок нажмет кнопку, объект черепахи станет зеленым, и он перестанет поворачиваться и двинется вперед на 300 пикселей в направлении, к которому смотрел объект черепахи, до нажатия клавиши пробела. Цель этой маленькой мини-игры состоит в том, чтобы поразить красный шар, известный как цель. Эта цель создается в случайном месте на холсте при каждом запуске кода. Как только объект черепахи столкнется с целью, оценка в верхней части экрана изменится с 0 на 1.
import turtle
import random
t = turtle.Turtle()
target = turtle.Turtle()
scoreBoard = turtle.Turtle()
scoreBoard.ht()
target.ht()
screen = turtle.Screen()
x = random.randint(-300,300)
y = random.randint(-300,300)
scoreNum = 0
turnSpeed = 2
t.shape('turtle')
t.color('blue')
target.speed(0)
target.penup()
target.goto(30,0)
target.shape('circle')
target.color('red')
target.st()
scoreBoard.color('orange')
scoreBoard.speed(0)
scoreBoard.penup()
scoreBoard.goto(-75,310)
scoreBoard.write('Score:' + str(scoreNum),font=('Arial',15, 'normal'))
def turnStop():
t.color('green')
t.forward(300)
def checkCollision():
if abs(t.xcor() - target.xcor()) < 10 and abs(t.ycor() - target.ycor()) < 10:
return True
else:
return False
screen.onkey(turnStop,'space')
screen.listen()
while t.color()[0] == 'blue':
t.right(turnSpeed)
while t.color()[0] == 'green':
if checkCollision():
scoreNum = scoreNum + 1
scoreBoard.clear()
scoreBoard.write('Score:' + str(scoreNum),font=('Arial',15, 'normal'))
Так что, как вы можете видеть, у меня есть два цикла True, в то время как у меня есть два цикла. Один, когда игрок синий в начале игры. Это позволяет вращать объект черепахи до тех пор, пока игрок не нажмет пробел. А другое пока истинно l oop, когда игрок становится зеленым, нажимая клавишу пробела, чтобы проверить наличие столкновений с целью красного шара. Но каждый раз, когда я нажимаю пробел после запуска кода, сайт падает. Есть идеи? Заранее спасибо!
PS Я учусь на джуни. Это онлайн-класс, где вы можете go и научиться программировать с преподавателем в режиме реального времени. И он поставляется с собственным текстовым редактором, так что именно это я и кодировал.
PS PS И есть ли лучший способ вставить свой код на этот форум? Мне пришлось вставить свой код для переполнения стека и сделать отступ каждой строки кода 4 раза, что довольно утомительно.