2014-01-24 4 views
2

기본적으로 자바 게임 보드를 만들고 배열을 사용하여 10x10 격자 모양의 셀을 만들었습니다. 이제 그들은 번호를 매겼습니다. 왼쪽에서 오른쪽으로 위에서 아래로 이동합니다. (그림으로)
나는 뱀과 사다리 게임과 비슷한 게임을 만들고 있지만 자신의 트위스트가 있습니다.자바 보드 게임

질문 : 뱀 비슷합니다 지그재그 보드를 만드는 방법 & 사다리 보드? 아래 enter image description here

코드 배열을 생성하고 인쇄하고 번호를 필요 뭐죠이다 : 그것은 현재 보이는 방법

.


객체라는 이름의 게임 :

private Cell[][] cell = new Cell[10][10]; 

public Game(String nameIt) 
{ 
    super(nameIt); 
    JPanel x = new JPanel(); 

x.setLayout(new GridLayout(10, 10, 2, 2)); 
for (int r = 0; ir< 10; r++) 
    for (int c= 0; c < 10; c++) 

    x.add(cell[r][c] = new Cell(r, c, this)); 

} 

객체라는 세포 :

private int row; 
private int col; 
private int cellNum; 
static int count = 0; 


public Cell(int row, int column, Game guy) 
{ 

    this.ro = row; 
    this.col = column; 
    this.parent = guy; 

    count = count+1; 
    cellNum = count; 

    setBorder(new LineBorder(Color.BLUE, 1)); // Set cell's border 
} 

protected void paintComponent(Graphics p) 
{ 
    super.paintComponent(p); 

    p.drawString(String.valueOf(" " + cellNo), 24, 24); 

} 
+3

당신은 SO에 질문을 복제해서는 안된다. 이것은 http://stackoverflow.com/questions/21342762/board-game-in-java – axiopisty

+0

의 복제본입니다. 다른 질문이 너무 광범위하여 닫힌 후에 누군가가 그에게 사본을 만들 것을 요청했습니다. – Bryan

+2

원래 질문이 방금 열렸습니다. 나는 OP가 질문을 다시 쓰도록 요청 받았고 그래서 새로운 것을 게시 했으므로 쉽게 가겠다 ;-) – DNA

답변

5

좋아, 난 당신에 대한 정확한 코드를 쓸 수 있지만하지 않도록 나는거야 일반 2D 배열을 사용하여이를 수행하는 방법의 예를 보여줍니다. 현재 C++ 컴파일러 만 사용 가능하지만 충분히 명확해야합니다.

기본적으로 행 부터까지 순환해야합니다. 이것이 첫 번째 외부 루프가 9에서 0으로가는 이유입니다. 이것은 맨 아래 줄에서 시작하여 맨 위 줄에서 끝나고 따라서 뒤집습니다.

for (int i = 9; i >= 0; i--) { 

    // now the trick to making a "zig-zag" is to alternate between two ways 
    // of printing out each row. if i is even, you print out from right to left 

    if (i % 2) 
     for (int j = 9; j >= 0; j--) 
      cout << numbers[i][j] << "\t"; 

    // and if i is odd, you print it out from left to right 
    else 
     for (int j = 0; j < 10; j++) 
      cout << numbers[i][j] << "\t"; 

    cout << endl; 

} 

결과 : enter image description here

+0

고마워, 나 이제이 기회를 포기할 것입니다 ... LOL @ fun.exe : 'D – YouSof

+0

저는 프로그래밍에있어 다소 초보자입니다. 당신이 "cout << numbers [i] [j]"를 더 많이 확장 할 수 있습니까? 셀 클래스에는없는 숫자 배열이지만 대신 변수를 사용할 수 있습니다. 저는 이해할 수없는 연산자입니다. – YouSof

+0

@YouSof'cout << numbers [i] [j]'는 요소를 출력합니다 행 인덱스 'i'및 열 인덱스 'j'. 예를 들어, 이미지 (http://i.stack.imgur.com/x4551.png)를 기반으로 행 번호 4와 열 번호 8의 요소는 49입니다. 이것은 System.out.print와 같습니다. (numbers [i] [j]);'Java – Oleksiy