Please, help me with this code:
It works, but not correctly)
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Hero here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Hero extends Actor
{
//скорость по оси х
int speedX=0;
int speedY=0;
int[][] map = new int[][]{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1},
{0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,139,0,0},
{0,0,0,0,0,0,0,0,0,23,23,0,23,0,0,0,139,0,139,0},
{0,0,0,0,0,0,0,0,23,0,23,0,0,0,0,23,0,305,0,0},
{0,0,0,0,0,0,0,0,0,23,0,0,23,0,0,0,0,0,0,0},
{0,0,0,0,0,442,0,23,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,23,0,0,23,0,0,0,0,0,0},
{0,0,0,0,0,0,0,442,0,0,0,0,442,0,0,0,0,27,27,27},
{0,0,0,0,0,0,0,0,0,420,420,282,420,420,420,420,0,27,2,27},
{0,0,0,0,0,0,0,0,0,420,420,420,420,420,420,420,0,27,2,27},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,2,27},
{0,0,0,0,0,0,0,27,27,27,27,27,27,27,27,27,27,27,2,27},
{0,0,0,0,0,0,0,27,2,2,2,2,2,2,2,2,2,2,2,27},
{0,0,0,0,0,0,0,27,2,2,2,2,2,2,2,2,2,2,2,27},
{0,0,0,0,0,0,0,99,2,2,2,2,2,2,2,2,2,2,2,27},
{0,0,0,0,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
};
int i,j;
public void act()
{
keyboardControls();
}
public void keyboardControls(){
if(Greenfoot.isKeyDown("left")){
speedX=-2;
speedY=0;
boundMove();
}
if(Greenfoot.isKeyDown("right")){
speedX=2;
speedY=0;
boundMove();
}
if(Greenfoot.isKeyDown("up")){
speedY=-2;
speedX=0;
boundMove();
}
if(Greenfoot.isKeyDown("down")){
speedY=2;
speedX=0;
boundMove();
}
}
public void boundMove(){
i=Math.round((getX())/32);
j=Math.round((getY())/32);
System.out.println(i+ " "+j+" "+map[j][i]);
if(map[j][i]==0){
setLocation(getX()+speedX, getY()+speedY);
}else
setLocation(getX()-speedX, getY()-speedY);
}
}