2016-05-21 2 views
-1

私は矩形の中に敵(赤い四角形)を残したいと思っています。それはランダムな機能なので、敵は動いています。しかし、私の敵の一部は外に出てゆっくり動きます。起こること。私は彼らが画面の中だけにいてほしい。
私は画面の幅と画面の高さを差し引いてみましたが、私の試みでは失敗しました。基本的には、四角形が画面内にあるかどうかを確認する方法です。ランダムに動く敵をパイの中でスクリーンの中に保つ方法は?

EDIT:私の敵はrandomly.Inを移動しているよう

Thisは、プレイヤーが私のプログラムに対し、ユーザによって制御されている可能性が重複していない、敵の動きは完全にランダムです。事前に

def evilMove(evilGuy): 
    evilCoords = [] 
    #Returns either -1, 0 or 1 
    randomMovex=random.randrange(-1,2) 
    randomMovey=random.randrange(-1,2) 
    evilMake={'x':evilGuy[0]['x']+randomMovex,'y':evilGuy[0]['y']+randomMovey} 


    del evilGuy[-1] #Delete the previous spawn of enemy so there is no trail 
    evilCoords.append(evilMake['x']) #Adds x coordinate 
    evilCoords.append(evilMake['y']) #Adds y coordinate 
    deadZones.append(evilCoords) #Adds the enemy coordinates in the list 

    evilGuy.insert(0,evilMake) 

ありがとう:

は、ここに私の敵は私のランダムな動きです。

+0

[その他の質問](http://stackoverflow.com/questions/18729538/pygame-character-goes-off-screen)を見てみましたか? –

+0

移動前に新しい位置が画面の内側か外側かをテストしないのはなぜですか? – manu190466

答えて

0

まあ、このような他の質問を本当に見るべきですが、画面外にあるかどうかをテストするif文を作ることができます。 は悪者座標が画面より大きくない場合は、あなたの悪い男の座標が言って、画面によって確認されている場合だけ、このチェック画面が500によって500であると言う、あなたはどうしたら、

if coordinatesx < 500: 
    do this and that 
if coordinatesy < 500: 
    do this and that. 

できますあなたがする必要があることをしてください。

EDIT _________________________________________ちょうどそれと交換し、あなたのxとy変数と呼ばれるもの

def evilMove(evilGuy): 
    evilCoords = [] 
    #Returns either -1, 0 or 1 
    if x < 500 and y < 500: 
    randomMovex=random.randrange(-1,2) 
    randomMovey=random.randrange(-1,2) 
    evilMake={'x':evilGuy[0]['x']+randomMovex,'y':evilGuy[0]['y']+randomMovey} 

イムわかりません。そしてあなたの茶色の幅で500を置き換えてください。

+0

私にこのコードを教えてもらえますか? –

関連する問題