//6.28
import javax.swing.JOptionPane;
public class game {
public static void main(String[]args){
gamestart();
}
public static void gamestart(){
String[][]youxi=new String[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
youxi[i][j]=" ";
}
}
int i;
JOptionPane.showMessageDialog(null, "这个游戏是一个三子棋游戏,两个游戏者在3*3网格中轮流作标记,一个人用X,另一个人用O,如果一个游戏者在网格的水平、垂直或对角线上作了三个连续的标记,游戏就以这个游戏者胜利告终。","help",JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null,"请玩家通过确定行和列的位置来下棋,行有0 1 2 三行,列有0 1 2三列");
showgame(youxi);
for( i=0;i<9;){
String sx=JOptionPane.showInputDialog("游戏还未结束,请第一个玩家输入X标志,请输入行数");
String sy=JOptionPane.showInputDialog("请输入列数");
int x=Integer.parseInt(sx);
int y=Integer.parseInt(sy);
i++;
if(x>2||y>2)
break;
youxi[x][y]="X";
showgame(youxi);
gameover(youxi,i);
if(i<9){
String sx1=JOptionPane.showInputDialog("游戏还未结束,请第二个玩家输入O标志,请输入行数");
String sy1=JOptionPane.showInputDialog("请输入列数");
int x1=Integer.parseInt(sx1);
int y1=Integer.parseInt(sy1);
i++;
if(x1>2||y1>2)
break;
youxi[x1][y1]="O";
showgame(youxi);
gameover(youxi,i);
}
}
}
public static void showgame(String[][]youxi){
System.out.println("+------+");
System.out.println("|"+youxi[0][0]+"|"+youxi[0][1]+"|"+youxi[0][2]+"|");
System.out.println("+------+");
System.out.println("|"+youxi[1][0]+"|"+youxi[1][1]+"|"+youxi[1][2]+"|");
System.out.println("+------+");
System.out.println("|"+youxi[2][0]+"|"+youxi[2][1]+"|"+youxi[2][2]+"|");
System.out.println();
System.out.println();
System.out.println();
}
public static void gameover(String[][]youxi,int i){
if(i>=9)
JOptionPane.showMessageDialog(null, "平局");
for(int j=0;j<3;j++){
if(youxi[0][j].equals("X")&&youxi[1][j].equals("X")&&youxi[2][j].equals("X")||youxi[j][0].equals("X")&&youxi[j][1].equals("X")&&youxi[j][2].equals("X"))
JOptionPane.showMessageDialog(null, "第一个玩家胜");
if(youxi[0][0].equals("X")&&youxi[1][1].equals("X")&&youxi[2][2].equals("X")||youxi[2][0].equals("X")&&youxi[1][1].equals("X")&&youxi[0][2].equals("X"))
JOptionPane.showMessageDialog(null, "第一个玩家胜");
if(youxi[0][j].equals("O")&&youxi[1][j].equals("O")&&youxi[2][j].equals("O")||youxi[j][0].equals("O")&&youxi[j][1].equals("O")&&youxi[j][2].equals("O"))
JOptionPane.showMessageDialog(null, "第二个玩家胜");
if(youxi[0][0].equals("O")&&youxi[1][1].equals("O")&&youxi[2][2].equals("O")||youxi[2][0].equals("O")&&youxi[1][1].equals("O")&&youxi[0][2].equals("O"))
JOptionPane.showMessageDialog(null, "第二个玩家胜");
}
}
}