0

私は自分のプログラムでボールを動かそうとしてコードをいじっていましたが、具体的にはシナリオはボール迷路ゲームで、ゴールブロックに到達するまでボールが一度に1マス動くようにする必要がありますただし、最後にボールが迷路から外れてはなりません。

したがって、次のコードを使用して、ボールが一度に1スペースずつ左、右、上、下の方向に移動できるようにするには、次のコードを変更/追加する必要があることを知りたいと思いました:

public void key(){
        int leftChange=0;
        int rightChange=0; 
        int upChange=0; 
        int downChange=0; 
        if (Greenfoot.isKeyDown("left")){
            if (canMove(leftChange, 0)==true)
            setLocation(getX()+leftChange, getY()) ;
        }
        if (Greenfoot.isKeyDown("right")){
           if (canMove(rightChange, 0)==true)
            setLocation(getX()+rightChange, getY()) ; 
        }
        if (Greenfoot.isKeyDown("up")){
            if (canMove(0, upChange)==true)
            setLocation(getX(), getY()+upChange) ;
        }
        if (Greenfoot.isKeyDown("down")){
            if (canMove(0, downChange)==true)
            setLocation(getX(), getY()+downChange) ;
        }
    }

またよろしくお願いします^_^。

4

1 に答える 1

0

一度に 1 スペースずつボールを動かしたい場合は、ワールドの高さと幅を計算し、そこから 1 つのセルのサイズを見つける必要があります。次に、開始したいセルから始めて、x または y のいずれかに加算または減算して、次のセルに移動します。

于 2015-03-05T20:26:07.303 に答える