在作业中,我获得了我的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) ;
}
}
答案 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;
每一个。