10x10 그리드를 만들고 로봇을 (10,1) (왼쪽 아래) 위치에 놓고 싶습니다. 나는이 로봇이 앞으로 나아갈 수 있고, 왼쪽/오른쪽으로 돌고 그리드에서 물건을 집어 올리길 원한다. 어떤 위치에 넣을 때, 단지 같이,이 위치에 넣어 얼마나 많은 개체를 표시하는 격자의 숫자가 있어야한다 :그리드에서 로봇의 위치와 방향
..........
...1......
..2.......
....3.....
..........
..........
......9...
.....4....
.........1
..........
우리는 그리드에 로봇을 볼 수 없습니다. 두 클래스가 있습니다. 클래스 로봇 :
public class Robot {
private Area area;
private Robot rob;
public Robot(Area area){
this.area = area;
rob = new Robot(area);
}
public void Right(){
}
public void Left(){
}
public void Forward(){
}
public void Put(){
}
public void PickUp(){
}
public (?) getPosition(){ // should return robot's position
}
}
클래스 지역 :
private int numberOfObjects;
private Robot robot;
private static final int X = 10;
private static final int Y = 10;
private Object [][] area; // grid
public Area(){ // defines a grid and robot
area = new Area[X][Y];
for(int a=0;a<X;a++){
for(int b=0;b<Y;b++)
area[a][b]=".";
}
numberOfObjects = 0; // grid is initially empty
Area ar = new Area();
robot = new Robot(ar);
}
public void Put(int x,int y){ // put the object to position (x,y)
area[x][y]=numberOfObjects++;
}
public void PickUp(int x,int y){ // pick up the object in position (x,y)
if(area[x][y]!=null){
area[x][y]=numberOfObjects--;
}
}
public void PrintAGrid(){
for(int r=0;r<X;r++){
for(int c=0;c<Y;c++)
System.out.print(area[r][c]+" ");
System.out.println();
}
System.out.println();
}
}
이 어떻게 위치 (10,1)에서 로봇을 넣을 수 있습니다? 방향 (예 : 오른쪽)을 선언하고 설정하려면 어떻게해야합니까? 나는 다른 방법을 쓰는 것이 쉬울 것이라고 생각합니다. 그래서 그것에 집중하지 않습니다.
이 방법 오른쪽 및 왼쪽 그냥 왼쪽/오른쪽에있는 로봇을 설정해야합니다, 그것을 움직이지 로봇에게 있습니다. 로봇과 함께 이동하는 Forward() 메소드가 있습니다. 어쨌든 도와 줘서 고마워. 감사합니다. – marek
@marek : 죄송합니다. 질문의 일부를 놓치 셨습니다. 나는 몇 분 안에 나의 대답을 업데이트하고있다. – Mohayemin
네, 이제 괜찮아 보입니다. 나는 나머지 프로그램을 다 할 것이다. 고맙습니다. – marek