井字棋

作者: myz666 | 来源:发表于2016-10-14 17:52 被阅读0次

    package newPaca;

    import java.util.Scanner;

    public class jingziqi {

    /**

    * @param args

    */

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    int qipan[][]=new int[3][3];

    inItQiPan(qipan);

    printQiPan(qipan);

    gameStart(qipan);

    }

    public static void inItQiPan(int[][] qipan){//初始化棋盘

    for(int i=0;i

    for(int j=0;j

    qipan[i][j]=0;

    }

    }

    }

    public static void printQiPan(int[][] qipan){//打印棋盘

    String show[]={" ","X","O"};

    for(int i=0;i

    for(int j=0;j

    System.out.print("|"+show[qipan[i][j]]);

    }

    System.out.print("|");

    System.out.println();

    }

    }

    public static int ifEnd(int[][] qipan){//判断游戏状况、是否结束

    int i=0;

    for(int b=0;b<3;b++){

    if((qipan[b][0]==1&&qipan[b][1]==1&&qipan[b][2]==1)

    ||(qipan[0][b]==1&&qipan[1][b]==1&&qipan[2][b]==1)

    ||(qipan[0][0]==1&&qipan[1][1]==1&&qipan[2][2]==1)

    ||(qipan[0][2]==1&&qipan[1][1]==1&&qipan[2][0]==1)){i=1;}

    else if((qipan[b][0]==2&&qipan[b][1]==2&&qipan[b][2]==2)

    ||(qipan[0][b]==2&&qipan[1][b]==2&&qipan[2][b]==2)

    ||(qipan[0][0]==2&&qipan[1][1]==2&&qipan[2][2]==2)

    ||(qipan[0][2]==2&&qipan[1][1]==2&&qipan[2][0]==2)){i=2;}

    }

    return i;

    }

    public static int e=1;

    public static void gameStart(int[][] qipan){//游戏开始

    Scanner input=new Scanner(System.in);

    int r,l;

    System.out.println("请第"+e+"位玩家输入下步棋X所在的行和列:");

    r=input.nextInt();

    l=input.nextInt();

    ifGameOver(qipan,r,l);

    }

    public static int ifLocaltionTrue(int[][] qipan,int r,int l){//判断玩家输入的位置是否合法

    if(qipan[r-1][l-1]!=0||r>3||l>3||r<1||l<1){

    return 0;

    }

    else

    {

    return 1;

    }

    }

    public static void ifGameOver(int[][] qipan,int r,int l){//控制游戏显示有无结束

    Scanner input=new Scanner(System.in);

    if(ifLocaltionTrue(qipan,r,l)==1) {

    qipan[r-1][l-1]=e;

    printQiPan(qipan);

    if(ifEnd(qipan)==e){System.out.println("玩家"+e+"赢了!");}

    else{e=3-e;gameStart(qipan);}

    }

    else {

    System.out.println("您的输入有误!请重新输入:");

    r=input.nextInt();

    l=input.nextInt();

    ifGameOver(qipan,r,l);

    }

    }

    }

     

    相关文章

      网友评论

          本文标题:井字棋

          本文链接:https://www.haomeiwen.com/subject/xcqnyttx.html