- ... 력 동는 것만 빼면 다 다. 그 력 C럼 만만가 더군... 력 나 는데 뭘 그렇게 많 는...
- 민 것 1 보다.(그 료)... 2 례...그리고 다가 count변가 다 다 다.
3 드는 comment solving 보 감. 3 그대로 다면, 력 데, Bug 를 맞는 가 것다.
Class main
~cpp import java.util.*; public class main{ public static void main(String[] args) { Bug bug1=new Bug(); System.out.println("RandomWalk"); bug1.journey[0]='0'; bug1.journey[1]='0'; bug1.journey[2]='4'; for(int i=0;bug1.journey[i]!='\0';i++) bug1.move(bug1.journey[i]); } }Class Bug
~cpp public class Bug{ public int x=0; public int y=0; public int count=0; public char journey[]={'\0','\0','\0','\0','\0'}; Board aboard=new Board(); public void move(char way) { if(count==0) aboard.board[0][0]++; if(way=='0')//북 x=x-1; else if(way=='1')//북동 { x=x-1; y=y+1; } else if(way=='2')//동 y=y+1; else if(way=='3')//남동 { x=x+1; y=y+1; } else if(way=='4')//남 x=x+1; else if(way=='5')//남 { x=x+1; y=y-1; } else if(way=='6')// y=y-1; else if(way=='7')//북 { x=x-1; y=y-1; } if(x>=aboard.board.length) x=0; if(x<0) x=aboard.board.length-1; if(y>=aboard.board[0].length) y=0; if(y<0) y=aboard.board[0].length-1; aboard.board[x][y]++; aboard.exhibit(); System.out.print("\n"); count++; } }Class Board
~cpp public class Board{ public int board[][]={ {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} }; public void exhibit(){ for(int i=0;i<board.length;i++) { for(int j=0;j<board.length;j++){ System.out.print(board[i][j]); System.out.print("\t"); } System.out.print("\n"); } } }
1로 고 ¶
- 변경 각 명다.
- word rap 는 부 복 다.
- 는 Board.count
~cpp public class Board { public char journey[] = { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0' }; public int x = 0; public int y = 0; public int board[][] = { { 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 } }; public void move(char way) { if (way == '0') //북 { x = x - 1; } else if (way == '1') //북동 { x = x - 1; y = y + 1; } else if (way == '2') //동 { y = y + 1; } else if (way == '3') //남동 { y = y + 1; x = x + 1; } else if (way == '4') //남 { x = x + 1; } else if (way == '5') //남 { y = y - 1; x = x + 1; } else if (way == '6') // { y = y - 1; } else if (way == '7') //북 { y = y - 1; x = x - 1; } // WordRap 기 if (x >= board.length) x = 0; if (y >= board[0].length) y = 0; if (x < 0) x = board.length - 1; if (y < 0) y = board[0].length - 1; board[x][y]++; exhibit(); System.out.println(); } public void exhibit() { // Magic Number for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + "\t"); } System.out.println(); } } public static void main(String[] args) { Board aboard = new Board(); System.out.println("RandomWalk"); aboard.board[0][0]++; aboard.journey[0] = '0'; aboard.journey[1] = '3'; for (int i = 0; aboard.journey[i] != '\0'; i++) aboard.move(aboard.journey[i]); } }
2 고 ¶
- HashMap 방값 대 값 변량 다. 배로 구 드를 게 는 것과 같 목다.
~cpp import java.util.HashMap; public class Board { public char journey[] = { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0' }; public int x = 0; public int y = 0; public int board[][] = { { 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 } }; class 방값 { 방값(int x, int y) { this.x = x; this.y = y; } int x; int y; } public void move(char way) { // HashMap 변량만 가 HashMap directionMap = new HashMap(); directionMap.put("0", new 방값(-1, 0)); // 북 directionMap.put("1", new 방값(-1, 1)); // 북동 directionMap.put("2", new 방값(0, 1)); // 동 directionMap.put("3", new 방값(1, 1)); // 남동 directionMap.put("4", new 방값(1, 0)); // 남 directionMap.put("5", new 방값(1, -1)); // 남 directionMap.put("6", new 방값(0, -1)); // directionMap.put("7", new 방값(-1, -1)); // 북 // primitive type String(Object) 로 변경는 꽁 // HashMap 력된 방 델 값 내 x,y 더 방값 delta = (방값) directionMap.get("" + way); x += delta.x; y += delta.y; // Wordrap 드 x = (x >= board.length) ? 0 : x; y = (y >= board[0].length) ? 0 : y; x = (x < 0) ? board.length - 1 : x; y = (y < 0) ? board[0].length - 1 : y; board[x][y]++; // exhibit -> printBoard 로 rename printBoard(); System.out.println(); } public void printBoard() { // Magic Number for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + "\t"); } System.out.println(); } } public static void main(String[] args) { Board aboard = new Board(); System.out.println("RandomWalk"); aboard.board[0][0]++; aboard.journey[0] = '0'; aboard.journey[1] = '3'; for (int i = 0; aboard.journey[i] != '\0'; i++) aboard.move(aboard.journey[i]); } }
3 고 ¶
- char jouney -> ArrayList 로 대
- x, y -> nowX, nowY 로 rename : 미로 currentXPos가 당겠.
- 방 는 Magic number , Board.jouney 가 ArrayList 므로, String 다. comment mixing 되겠.
~cpp import java.util.ArrayList; import java.util.HashMap; public class Board { // char jouney -> ArrayList 로 대 protected ArrayList jouney = new ArrayList(); // x -> nowX public int nowX = 0; // y -> nowY public int nowY = 0; public int board[][] = { { 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 } }; class 방값 { 방값(int x, int y) { this.x = x; this.y = y; } int x; int y; } public void move(String way) { // HashMap 변량만 가 HashMap directionMap = new HashMap(); // 방 는 Magic number directionMap.put("북", new 방값(-1, 0)); directionMap.put("북동", new 방값(-1, 1)); directionMap.put("동", new 방값(0, 1)); directionMap.put("남동", new 방값(1, 1)); directionMap.put("남", new 방값(1, 0)); directionMap.put("남", new 방값(1, -1)); directionMap.put("", new 방값(0, -1)); directionMap.put("북", new 방값(-1, -1)); // primitive type String(Object) 로 변경는 꽁 // HashMap 력된 방 델 값 냅다. 방값 delta = (방값) directionMap.get("" + way); nowX += delta.x; nowY += delta.y; // Wordrap 드 nowX = (nowX >= board.length) ? 0 : nowX; nowY = (nowY >= board[0].length) ? 0 : nowY; nowX = (nowX < 0) ? board.length - 1 : nowX; nowY = (nowY < 0) ? board[0].length - 1 : nowY; board[nowX][nowY]++; printBoard(); System.out.println(); } public void printBoard() { // Magic Number for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + "\t"); } System.out.println(); } } public ArrayList getJouney() { return jouney; } public static void main(String[] args) { Board aboard = new Board(); System.out.println("RandomWalk"); aboard.board[0][0]++; // jouney getter로 jouney 를 다. // jouney 는 aboard가 가고 는 것다. ArrayList jouney = aboard.getJouney(); jouney.add("북"); jouney.add("남동"); // 력부 ArrayList 로 따른 변경 for (int i = 0; i < jouney.size(); i++) aboard.move((String) jouney.get(i)); } }