java—五子棋(纯代码,无解说)

编程入门 行业动态 更新时间:2024-10-18 14:17:58

java—<a href=https://www.elefans.com/category/jswz/34/1769950.html style=五子棋(纯代码,无解说)"/>

java—五子棋(纯代码,无解说)

java—五子棋

  • 前言
  • 代码部分

前言

小白正在学c,但专业教材直接学java,并且要求java写一篇五子棋,但c与java相近,并且之前写过井字棋,所以中间也没什么问题,很快就能写出来,之后也有可能出一篇详解代码的部分

代码部分

public static char is_win(char board[][]){//棋盘判断int qi_pan=0;for(int rows=0;rows<10;rows++){for(int cols=0;cols<10;cols++){if(qi_pan==1)break;if(board[rows][cols]=='-')qi_pan=1;}	}//横列判断char qi_zi='n';int p1_iswin=0;int p2_iswin=0;for(int rows=0;rows<10;rows++){p1_iswin=0;p2_iswin=0;for(int cols=0;cols<10;cols++){if(board[rows][cols]=='-'){p1_iswin=0;p2_iswin=0;}if(board[rows][cols]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[rows][cols]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}}}//竖列判断if(qi_zi=='n'){for(int rows=0;rows<10;rows++){p1_iswin=0;p2_iswin=0;for(int cols=0;cols<10;cols++){if(board[cols][rows]=='-'){p1_iswin=0;p2_iswin=0;}if(board[cols][rows]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[cols][rows]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}}}}//左上对角线判断if(qi_zi=='n'){for(int i=0;i<=5;i++){p1_iswin=0;p2_iswin=0;int rows=i;int cols=0;int rows_right=10;int cols_right=10-i;while(rows<rows_right&&cols<cols_right){if(board[rows][cols]=='-'){p1_iswin=0;p2_iswin=0;}if(board[cols][rows]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[cols][rows]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}rows++;cols++;}}}//左上上部分对角线判断if(qi_zi=='n'){for(int i=0;i<=5;i++){p1_iswin=0;p2_iswin=0;int rows=0;int rows_right=10-i;int cols=i;int cols_right=10;while(rows<rows_right&&cols<cols_right){if(board[rows][cols]=='-'){p1_iswin=0;p2_iswin=0;}if(board[rows][cols]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[rows][cols]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}rows++;cols++;}}}//右上对角线上半部分判断if(qi_zi=='n'){for(int i=0;i<=5;i++){p1_iswin=0;p2_iswin=0;int row=i;int row_right=9;int col=9;int col_right=i;while(row<=row_right&&col>=col_right){if(board[row][col]=='-'){p1_iswin=0;p2_iswin=0;}if(board[row][col]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[row][col]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}row++;col--;}}}//右上对角线上半部分if(qi_zi=='n'){for(int i=0;i<=5;i++){p1_iswin=0;p2_iswin=0;int rows=0;int row_right=9-i;int col=9-i;int col_right=0;while(col>=col_right&&rows<=row_right){if(board[rows][col]=='-'){p1_iswin=0;p2_iswin=0;}if(board[rows][col]=='*'){p1_iswin++;p2_iswin=0;}if(p1_iswin==5){qi_zi='*';break;}if(board[rows][col]=='0'){p1_iswin=0;p2_iswin++;}if(p2_iswin==5){qi_zi='0';break;}rows++;col--;}}}if(qi_zi=='0')return '0';if(qi_zi=='*')return'*';if(qi_pan==1)return 'n';if(qi_pan==0)return 'y';return 'z';}//游戏开始0 *public static int game(char board[][]){int no=0;int flag=0;while(flag==0){Scanner rua=new Scanner(System.in);if(no==0){		System.out.println("*:please input the number");int zuo_biao=rua.nextInt();int cols=zuo_biao%10;int rows=zuo_biao/10%10;if(board[rows][cols]!='-'){continue;}board[rows][cols]='*';menu(board);char f=is_win(board);if(f=='0'){System.out.println("0 winner!!");return 0;}else if(f=='*'){System.out.println("* winner!!");return 0;}else if(f=='y'){System.out.println("no winner");return 0;}}System.out.println("0:please input the number");int zuo_biao=rua.nextInt();int cols=zuo_biao%10;int rows=zuo_biao/10%10;if(board[rows][cols]!='-')  {no=1;continue;}else{no=0;}board[rows][cols]='0';menu(board);char r=is_win(board);if(r=='0'){System.out.println("0 winner!!");return 0;}else if(r=='*'){System.out.println("* winner!!");return 0;}else if(r=='y'){System.out.println("no winner");return 0;}}return 0;}//用户选择开始游戏或退出游戏public static int select(){
System.out.println("play: 1");
System.out.println("exit 0");	
Scanner sc=new Scanner(System.in);
int flag=sc.nextInt();return flag;	}//棋盘初始化public static void init(char board[][]){for(int u=0;u<10;u++){for(int i=0;i<10;i++){board[u][i]='-';}}}//棋盘打印
public static void menu(char board[][])
{System.out.print(" ");for(int rpw=0;rpw<10;rpw++){System.out.print(" ");System.out.print(""+rpw);}System.out.println("");for(int rows=0;rows<10;rows++){System.out.print(""+rows);System.out.print(" ");for(int cols=0;cols<10;cols++){System.out.print(""+board[rows][cols]);System.out.print(" ");}System.out.println("");}}//主函数public static void main(String[] args){char[][] board=new char[10][10]; int flag=1;
do
{flag=select();switch(flag){case 1:{init(board);menu(board);game(board);break;}case 0:{break;}default:{System.out.println("error number,please input the right number again");}}}while(flag!=0);}

更多推荐

java—五子棋(纯代码,无解说)

本文发布于:2024-02-24 15:34:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1695785.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:五子   代码   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!