首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的乌龟没有检测到输入,它可以直接越过边界

我的乌龟没有检测到输入,它可以直接越过边界
EN

Stack Overflow用户
提问于 2019-06-13 03:41:12
回答 1查看 42关注 0票数 3

而且,当我可以的时候,当它到达边界时,它就会继续前进。我试着移动函数的位置,但不起作用。此外,海龟和边界之间的接触不会做任何事情。

代码语言:javascript
复制
  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()
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56569327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档