与Greenfoot一起苦苦挣扎

时间:2015-01-18 12:23:53

标签: java greenfoot

在作业中,我获得了我的Uni模块,题为“解决问题”和“编程。

我遇到了一个错误的场景,并且在阅读作业时,下面列出的代码就是错误所在。

到目前为止,我发现在我的代码的public void key部分中,我一直得到类预期的错误,但是因为我是一个完全编程的新手,所以我不知道如何解决这个问题。

我试图在互联网上找到一个解决方案,但我不知道要搜索什么,虽然我的朋友们说如果你遇到与编程有关的问题,使用stackoverflow是很好的,所以我想我会尝试一下,因为我会感谢一些帮助。

public boolean canMove(int x,int y)     {

    Actor sand;
    sand=getOneObjectAtOffset(x,y,sandroad.class);

    //the section below checks if there is a block you can move to
    // if there is it sets sand to a vlaue otherwise it says null
    // The errors are in this section
    boolean flag=true;
    if (sand !=null)
    {
        flag=false;
    }
    return flag;
}
public void key()
{
   //Note 1: Down the page increase the y value and going to the right increases the x value
   //Note 2: Each block is 60 pixels wide and high 
    int leftChange=//choose the appropriate left step size ; 
    int rightChange=//choose the appropriate right step size ; 
    int upChange=//choose the appropriate up step size ; 
    int downChange=//choose the appropriate down step size ; 
    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) ;
    }
}

1 个答案:

答案 0 :(得分:0)

int's中的多个key()并未设置为任何内容。你不能那样离开他们。

    int leftChange=//choose the appropriate left step size ; 
    int rightChange=//choose the appropriate right step size ; 
    int upChange=//choose the appropriate up step size ; 
    int downChange=//choose the appropriate down step size ; 

所以应该像

int leftChange=4;

每一个。