2015-04-01 5 views
-5

Задача - создать игру Tic Tac Toe с использованием двумерного массива. Я создал доску для игры ниже, но теперь у меня возникают проблемы с тем, чтобы позволить пользователю размещать X и O на доске. Я должен использовать двумерный массив для представления моей доски. Как изменить значения, чтобы я мог делать что-то вроде того, что у меня есть?Tic-Tac-Toe Java

Так что

1 | 2 | 3 
---------- 
4 | 5 | 6 
---------- 
7 | 8 | 9 

Может стать чем-то вроде этого

X | X | O 
---------- 
4 | 5 | 6 
---------- 
O | 8 | 9 

По существу, я сделал доску, как мне сделать так, чтобы люди могли играть? Спасибо.

public class TicTacToe 
{ 
    public static void main(String args[]) 
    { 
     int [][]board = new int[3][3]; 

     int row =0; 
     int column =0; 
     int i=1; 
     for (row=0;row<board.length; row++) 
     { 
      for(column=0;column<board[row].length;column++) 
      { 
       board[row][column]= i; 
       i++; 
       System.out.print (" "+(board[row][column])+" "); 
      } 

      System.out.println(); 
     } 
    } 
} 
+3

Пожалуйста, приложите немного усилий в свою программу, прежде чем отправлять вопрос в следующий раз. – Keppil

+0

Возможно, вам понадобится еще один 2-мерный массив типа String для Xs и Os. – ryekayo

+1

. Вы можете заполнить свой массив значением трех разных цифр: '0' для пустого,' 1' для 'O' и' 2 'для' X'. Просто идея. Во время итерации по массиву вы можете просто проверить значение и напечатать аккордный символ. – pzaenger

ответ

0

Возможно, вам лучше использовать ArrayList, содержащие объекты, представляющие букву и координату, где она размещена. Это упакованное представление, и оно, вероятно, лучше работает для той игры, которую вы пытаетесь реализовать. Не думайте, что интуитивное представление работает лучше для ваших нужд. В любом случае, если вы хотите использовать массив с двумя измерениями, почему бы не использовать массив из двух измерений символов?

+0

Это хороший совет, но не то, что говорит его задание. – Bill

+0

@Подробная информация не должна мешать находить лучшие решения. Если вы посмотрите на то, как шахматная доска будет имплантирована, вы поймете, почему интуитивная репутация хуже всего. –

+0

Хотелось бы, чтобы это было повсеместно. :-) – Bill

0

Я определенно не могу передать вам решение, поскольку это кажется домашней работой, и эта домашняя работа выглядит на правильном пути, но не полностью разработана. Однако вы должны слушать своих комментаторов, ударяя головой об эту стену, поскольку они направили вас в очень полезном направлении.

Я думаю, что ваше самое большое препятствие после того, как вы выясните структуру данных (т. Е. Возможно, используя свой массив с кодированными ints?), Будет таким, как вы позволяете пользователю взаимодействовать с этой программой. Будут ли они вводить число, соответствующее ячейке? Если это так, я бы посоветовал вам подумать о том, как вы можете искать значение в массиве и выяснить, как эти числа на экране могут соответствовать этому процессу. Как только у вас будет это, будет тривиальная задача заполнения вашей доски Xs и Os.

Вернитесь назад после того, как почувствуете, что вы ударили еще несколько тупиков. Но я думаю, что вы это увидите, прежде чем это произойдет.

Удачи!

Смежные вопросы