ToyProblems 를 바 ¶
Board.java ¶
~cpp import javax.swing.JOptionPane; public class Board { private int array[][]; // 배 private int max_x; // private int max_y; // // public Board(int x, int y) { max_x = x; max_y = y; array = new int[max_y][max_x]; for (int i = 0; i < max_y; i++) for (int j = 0; j < max_x; j++) array[i][j] = 0; } // ? public boolean IsStepFull() { for (int i = 0; i < max_y; i++) for (int j = 0; j < max_x; j++) if (array[i][j] == 0) return false; return true; } // 벽? public boolean IsPostionWall(int x, int y) { if (x == -1 || x == max_x || y == -1 || y == max_y) return true; else return false; } // 는 public void PutStep(int x, int y) { array[y][x]++; //를 면 마 보 //ShowStep(); } // 보 public void ShowStep() { String output = ""; for (int i = 0; i < max_y; i++) { for (int j = 0; j < max_x; j++) output += array[i][j] + " "; output += '\n'; } JOptionPane.showMessageDialog(null, output); } }
Roach.java ¶
~cpp public class Roach { private int p_x; // 바 x private int p_y; // 바 y //바 동 public void Move(Board bo, int x, int y) { p_x = x; p_y = y; bo.PutStep(p_x, p_y); while (!bo.IsStepFull()) { int c_x; // 바 동 x int c_y; // 바 동 y do { c_x = p_x; c_y = p_y; int dir = (int)(Math.random() * 8); switch (dir) { case 0: c_y--; break; case 1: c_x++; c_y--; break; case 2: c_x++; break; case 3: c_x++; c_y++; break; case 4: c_y++; break; case 5: c_x--; c_y++; break; case 6: c_x--; break; case 7: c_x--; c_y--; break; } } while (!SeeNextPos(bo, c_x, c_y)); p_x = c_x; p_y = c_y; bo.PutStep(p_x, p_y); } } //동 리를 //벽면 false 벽 면 true public boolean SeeNextPos(Board bo, int x, int y) { if (bo.IsPostionWall(x, y)) return false; else return true; } }
Human.java ¶
~cpp import javax.swing.JOptionPane; public class Human { // 바를 놓는 public void PutRoach (Roach ro, Board bo, int x, int y) { ro.Move(bo, x, y); } // KillRoach를 떻 ??? public void KillRoach (Roach ro) { //명 보 ^^ } // 본 public void SeeBoard (Board bo) { bo.ShowStep(); } public static void main(String[] args) { int start_x, start_y; // 바 받 변 int board_x, board_y; // 받 변 Human sehwan = new Human(); Roach roach = new Roach(); board_x = Integer.parseInt(JOptionPane.showInputDialog(null, " ")); board_y = Integer.parseInt(JOptionPane.showInputDialog(null, " ")); start_x = Integer.parseInt(JOptionPane.showInputDialog(null, "바 ")); start_y = Integer.parseInt(JOptionPane.showInputDialog(null, "바 ")); // 맨 (0,0) Board board = new Board(board_x, board_y); sehwan.PutRoach(roach, board, start_x, start_y); // 바를 놓는 sehwan.SeeBoard(board); // 돌면 본 } }
내 ¶
1. 념 바 ¶
.념
: 는 는
동: 는 능 는 는 동
) 동 -
-> 변
동 -> 메()
: 는 는
동: 는 능 는 는 동
) 동 -
,바,들,배량,, -
린,를 바,를 높 낮, 린 - 동
-> 린,를 바,를 높 낮, 린 - 동
-> 변
동 -> 메()
방
public: , , 내 는 능
private: 만 능
protected: , , 내 는 능
friendly(략): , 내 는 능
(Encapsulation):
변 메를 묶 만.
는 모듈(modularity) 보(information hiding) .
모듈 를 무 는 .
보 는 보 른 부 .
메(Message):
는데 .
메를 받 , 메 , 메 매변 등 를 .
(Class):(벽돌)
들 대 는 변 메를 .
(Instance):(낸 벽돌)
를 는
(Object)
(Inheritance)
는 들 .
(Polymorphism)
러 메 대 방 는 능.
(overloading), , (overriding)등 .
. 및 () 변 메를 묶 만.
는 모듈(modularity) 보(information hiding) .
모듈 를 무 는 .
보 는 보 른 부 .
메(Message):
는데 .
메를 받 , 메 , 메 매변 등 를 .
(Class):(벽돌)
들 대 는 변 메를 .
(Instance):(낸 벽돌)
를 는
(Object)
(Inheritance)
는 들 .
(Polymorphism)
러 메 대 방 는 능.
(overloading), , (overriding)등 .
~cpp class { // 변 부 … // 메 부 … }
~cpp = new (); 는 ; = new ();.변 및 메
public: , , 내 는 능
private: 만 능
protected: , , 내 는 능
friendly(략): , 내 는 능
.메
: 러 는
: 따 른 는
->바
: 러 는
: 따 른 는
->바
2. ¶
.
.멤 멤
변 메 )
~cpp (매변 리) { … } (매변 리) { 른 ; // 번 루 . … } 변 = new (매변 리);.this
.멤 멤
변 메 )
~cpp [] static 변 ; [] static 메 ; 변 메 ) .메() 메() .메()
. 및
변 및 블
변 및 블
~cpp static 변=; 는 static 배변=new 배; static { 러 변들 는 배 ; }
3. ¶
... 는 ...
OOP ¶
, 메, , , , ,
명
명
문 ¶
- 미 데 는?
는 . 미^^;
- public protected 는?
는 문 모르는 ^^. private protected 는 루 면 됩. 만 루면 미는 . 만 동 는 봅. 런데 념. 동 념 럭 를 동 받 만들 . 랬 동 는 는 럭 . 런 protected 면 를 받 는 . 만 부 불능는 변 . 만 public 부 능 는 . 번 만들보. 떻 른 는 .
내 ¶
- ~ 벌 능 놀데? ^^; 말 뛰 디 를 능 . ? 면 른 를 ?
- 를 바보. 는 방 받 -> 바벌 마리를 놓 -> 바벌를 는 방 바.
- 바 메는 문. 대문 는 .
- 내 1 내 보.