已经听了翁恺老师的课两天了,学到二维数组,编了个很简单的井字游戏。
package sushu2;
import java.util.Scanner;
public class tictoctoe {
public static void main(String[] args) {
// TODO Auto-generated method stub
//tic-toc-toe井字游戏
Scanner in = new Scanner(System.in);
final int size = 3;
String[][] board = new String[size][size];
boolean gotResult=false;
int numOfX=0;
int numOfO=0;
//读入矩阵
for (int i=0;i<size;i++)
{
for (int j=0;j<size;j++)
{
board[i][j]=in.next();
}
}
// 检查行和列
for (int i=0;i<size;i++)
{
for (int j=0;j<size;j++)
{
if (board[i][j]== "X")
{
numOfX+=1;
}
else
{
numOfO+=1;
}
}
if (numOfX==size || numOfO==size)
{
gotResult=true;
break;
}
}
//若还没有得到结果,继续检查对角线
if (!gotResult)
{
for (int i=0;i<size;i++)
{
if (board[i][i]== "X")
{
numOfX+=1;
}
else
{
numOfO+=1;
}
}
if (numOfX==size || numOfO==size)
{
gotResult=true;
}
}
//若还没有得到结果,检查反对角线
if (!gotResult)
{
for (int i=0;i<size;i++)
{
for (int j=size-1;j>=0;j--)
{
if (board[i][j]== "X")
{
numOfX+=1;
}
else
{
numOfO+=1;
}
}
if (numOfX==size || numOfO==size)
{
gotResult=true;
break;
}
}
}
//输出赢家
if (gotResult)
{
if (numOfX==size)
{
System.out.println("恭喜X方玩家获胜!");
}
if (numOfO==size)
{
System.out.println("恭喜O方玩家获胜!");
}
else
{
System.out.println("平局!");
}
}
}
}