2017-04-16 161 views
-1

私は、別のカメを避けるために、ユーザーがキーボードを使ってカメを移動するゲームを作成しています。これは私のコードです:1つのPythonカメが別のカメを追跡するようにする

import turtle 
playGround = turtle.Screen() 
playGround.screensize(500, 500) 
playGround.title("Turtle Keys") 

run = turtle.Turtle() 
follow = turtle.Turtle() 
run.shape("turtle") 
follow.shape("turtle") 
run.color("blue") 
follow.color("red") 
run.penup() 
follow.penup() 
run.st() 

def k1(): 
    run.forward(45) 
def k2(): 
    run.left(45) 
def k3(): 
    run.right(45) 
def k4(): 
    run.back(45) 
def quitThis(): 
    playGround.bye() 
playGround.onkey(k1, "Up") # the up arrow key 
playGround.onkey(k2, "Left") # the left arrow key 
playGround.onkey(k3, "Right") # you get it! 
playGround.onkey(k4, "Down") 
playGround.onkey(quitThis,'q') 
playGround.listen() 

私は赤亀が青い亀を追いかけるようにしたいが、それは動作しません。どんな助けでも大歓迎です!

+0

なぜこの質問をd​​ownvoteすることはできません。 – Kevman

+0

何を試しましたか?それはなぜ機能しないのですか? – tburrows13

答えて

1

あなたが見逃しているのは、コンピュータが制御している青/亀の動きです。 ontimer()イベントハンドラを追加して、setheading()towards()に追加すると、青色を維持したり、赤色の/実行を続けたりできます。ブルー/フォローのフォワードモーションの少しプラス。このような何か:

from turtle import Turtle, Screen 

playGround = Screen() 
playGround.screensize(500, 500) 
playGround.title("Turtle Keys") 

run = Turtle("turtle") 
run.speed("fastest") 
run.color("blue") 
run.penup() 
run.setposition(250, 250) 

follow = Turtle("turtle") 
follow.speed("fastest") 
follow.color("red") 
follow.penup() 
follow.setposition(-250, -250) 

def k1(): 
    run.forward(10) 

def k2(): 
    run.left(45) 

def k3(): 
    run.right(45) 

def k4(): 
    run.backward(10) 

def quitThis(): 
    playGround.bye() 

def follow_runner(): 
    follow.setheading(follow.towards(run)) 
    follow.forward(1) 
    playGround.ontimer(follow_runner, 10) 

playGround.onkey(k1, "Up") # the up arrow key 
playGround.onkey(k2, "Left") # the left arrow key 
playGround.onkey(k3, "Right") # you get it! 
playGround.onkey(k4, "Down") 
playGround.onkey(quitThis, 'q') 

playGround.listen() 

follow_runner() 

playGround.mainloop() 

あなたはそれがそのforward()文で移動量を変更することにより、続く/青のパフォーマンスを微調整することができます。一度あなたが1を上回ると、あなたはどれくらい速くそれが赤で走っているかに驚くでしょう。

亀がいつ衝突するかを検出するコードを追加する必要があります。

関連する問題