java - Java 井字游戏程序设计第 1 级

标签 java arrays tic-tac-toe

我需要有关如何开始“玩”游戏的帮助,例如如果用户输入 1-9 中的任何数字,该数字将被“X”或“O”替换。

这是迄今为止我的代码:

import java.util.Scanner;

public class TicTacToe {
   public static char[][] board = new char[3][3];
   public static void main(String[] args){
      Scanner kb = new Scanner(System.in);
      
      Player player1 = new Player("John");
      Player player2 = new Player("Jill");
      initBoard();
      int turn = 1;
      int choice = 0;
      while(choice != -1){
         printBoard();
         Player currentPlayer = player1;
         if(turn % 2 == 0){
            currentPlayer = player2;
         }
         System.out.print(currentPlayer + ", pick a box: ");
         if(choice == 1){
            board[0][0] = 'X';
         }
         turn++;
         choice = kb.nextInt();
      }
   }
   
   public static void initBoard(){
      for(int r = 0; r < board.length; r++){
         for(int c = 0; c < board[r].length; c++){
            board[r][c] = (char)((r*3)+(c+1)+48);
         }
      }
   }
   
   public static void printBoard(){
      for(int r = 0; r < board.length; r++){
         for(int c = 0; c < board[r].length; c++){
            System.out.print(board[r][c]+" ");
         }
         System.out.println();
      }
  }
}
class Player{
      String name;
      int wins = 0;
      int losses = 0;
      int draws = 0;
      
      public Player(String s){
         name = s;
      }
      
      public String toString(){
         return name;
      }
}

注意:我不是要求任何人帮我完成作业,我只是需要一些关于如何放置“X”和“O”的提示,并检查其中一个板是否已经有“X”或“O”。

最佳答案

我想您是在问如何将 1-9 转换为矩阵索引。

在这种情况下,如果你的矩阵 `

|0|1|2| -----> j - 列

|1|2|3| 0

|4|5|6| 1

|7|8|9| 2

`

您可以找到允许您将数字转换为索引的模式。 i = (输入 - 1)/3; j = (输入 - 1) % 3;

关于java - Java 井字游戏程序设计第 1 级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53638648/

相关文章:

java - 如何在 Java 中将声音文件表示为字节数组

tic-tac-toe - α-β 剪枝会消除我的极小极大解决方案中的随机性吗?

python - AI tictactoe - future 的棋盘和计算机 Action

javascript 井字游戏

C 程序读取文件内容并将其传递给数组

java - 从 firebase android 中删除自动 key 节点

java - Aptana Studio 3 "...does not contain the JNI_CreateJavaVM symbol"错误

java - Hibernate - 未能延迟初始化角色集合 : could not initialize proxy - no Session

c++ - 使用 clEnqueueWriteBuffer 的内存损坏 - OpenCL

java - 创建具有给定维度的二维数组(简单)