0

我一直在玩我的代码,试图让我的程序中的球移动,但具体来说,场景是一个球迷宫游戏,我必须让球一次移动 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

如果你想让球一次移动一个空间,你需要计算出世界的高度和宽度,然后从那里找到一个单元格的大小。然后,从您要开始的单元格开始,添加或减去 x 或 y 以将您移动到下一个单元格。

于 2015-03-05T20:26:07.303 回答