而且,当我可以的时候,当它到达边界时,它就会继续前进。我试着移动函数的位置,但不起作用。此外,海龟和边界之间的接触不会做任何事情。
import turtle, os, math
#setting up the dimensions of the screen + color
wn = turtle.Screen()
wn.screensize(500,500)
wn.title("Mario vs the turtles")
wn.bgcolor("white")
border_pen = turtle.Turtle()
border_pen.speed(0)
border_pen.color("black")
border_pen.penup()
border_pen.setposition(-350,-350)
border_pen.pendown()
border_pen.pensize(3)
for side in range (4):
border_pen.fd(600)
border_pen.lt(90)
border_pen.hideturtle()
score_mario=0
hearts_mario=3
#score
score = turtle.Turtle()
score.speed(0)
score.color("black")
score.penup()
score.hideturtle()
score.goto(50,300)
score.pendown()
score.write("Score: 0 Hearts: 3", align="center", font=("Courier", 24, "normal"))
#Main game loop
#color of the turtle, speed, two variables for the position
mario=turtle.Turtle()
mario.shape("turtle")
colors = ['red', 'blue', 'green', 'purple', 'yellow', 'orange', 'black']
mario.penup()
mario.hideturtle()
mario.goto(-320,-320)
mario.showturtle()
simon=turtle.Turtle()
simon.shape("turtle")
simon.color("black")
simon.penup()
simon.hideturtle()
simon.setposition(-270,-320)
simon.showturtle()
while hearts_mario>0:
mario.ycor==simon.ycor
x,y=mario.position()
x,y=simon.position()
while simon.xcor<500 and simon.xcor>-500:
simon.setheading(180)
mario.forward(100)
mario.speed(0)
mario.shapesize(stretch_wid=1, stretch_len=1)
def jump():
cor1=mario.ycor()
cor1+=10
mario.delay=2
mario.setposition(x,cor1)
cor1-=10
mario.setposition(x,cor1)
def left():
mario.setheading(180)
mario.forward(100)
def right():
mario.setheading(0)
mario.forward(100)
def escape():
wn.bye()
def reset():
mario.reset()
if mario.xcor==simon.xcor and mario.ycor==simon.ycor:
hearts_mario=2
#all these functions are for movement/boundaries
#boundaries
if mario.xcor<=border_pen.xcor and mario.ycor<=border_pen.ycor:
mario.setposition(250,250)
if mario.setheading(180) and mario.forward (100):
turtle.register_shape("marioleft.gif")
mario.shape("marioleft.gif")
turtle.onkey(left, "Left")
turtle.onkey(right, "Right")
turtle.onkey(escape, "Escape")
turtle.onkey(reset, "r")
turtle.onkey(jump, "space")
turtle.listen()
turtle.mainloop()
https://stackoverflow.com/questions/56569327
复制相似问题