avatar
问个tictactoe的问题# JobHunting - 待字闺中
d*c
1
我记得以前在本版看到哪位大神说过tictactoe可以用-1 表示X, 1 表示 O,然后扫一
遍就能判断有没有获胜的。用一个一维的数组存得。
怎么都想不起来了,哪位大神能帮忙解答一下
avatar
j*x
2
public class TicTacToe {
int[][] board;
int[] hScore;//horizontal
int[] vScore;//vertical
int[] dScore;//diagnal

public TicTacToe(int n){
board=new int[n][n];
hScore=new int[n];
vScore=new int[n];
dScore=new int[2];
}

public void addMove(char c,int i,int j){
board[i][j]=c;
int n=board.length;
if(c=='X'){
hScore[i]-=1;
vScore[j]-=1;
if(i==j) dScore[0]-=1;
if(i+j==n) dScore[1]+=1;
if(hScore[i]==-n||vScore[j]==-n||dScore[0]==-n||dScore[1]==-n){
System.out.println("Player X is win!");
return;
}
}else{
hScore[i]+=1;
vScore[j]+=1;
if(i==j) dScore[0]+=1;
if(i+j==board.length) dScore[1]+=1;
if(hScore[i]==n||vScore[j]==n||dScore[0]==n||dScore[1]==n){
System.out.println("Player O is win!");
return;
}
}
}
}
写了一个不知道对不对,欢迎批评指正
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。