Java实验—四子棋进阶 | 四子棋java

请参阅教材264页8.20题叙述编写一个“四子连”游戏(注:每次不只要指定棋子的行并且还要指定列,具体效果以下图所示;此外,红黄棋手谁先下应随机 ...尚码园首 页javapythonphphtmlcssjavascriptmysqllinuxJava实验—四子棋进阶2019年12月11日阅读数:18这篇文章主要向大家介绍Java实验—四子棋进阶,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

标签:javadom函数codeblog游戏inputclassimport循环请参阅教材264页8.20题叙述编写一个“四子连”游戏(注:每次不只要指定棋子的行并且还要指定列,具体效果以下图所示;此外,红黄棋手谁先下应随机生成)。

java运行效果:代码:importjava.util.Scanner;publicclassJavaGame{introw,column;//行列StringGraph[][];//二维棋盘StringC[]={"红","黄"};//棋子颜色intempty;//棋盘剩余空格publicJavaGame(intr,intc){//初始化棋盘数据empty=r*c;row=r;column=c;Graph=newString[r][c];for(inti=0;i=0;i--){System.out.print("|");for(intj=0;j=column||y<0||x>=row||x<0||!Graph[x][y].equals("")){System.out.println("输入有误,请从新输入");return1;}Graph[x][y]=C[key%2];empty--;return0;}publicintjudge(intx,inty){//判断是否有人胜出if(search(Graph[x][y],x,y,1,0)+search(Graph[x][y],x,y,-1,0)>=3||//水平探测search(Graph[x][y],x,y,1,1)+search(Graph[x][y],x,y,-1,-1)>=3||//对角探测search(Graph[x][y],x,y,0,1)+search(Graph[x][y],x,y,0,-1)>=3||//垂直探测search(Graph[x][y],x,y,1,-1)+search(Graph[x][y],x,y,-1,1)>=3)//对角探测return1;return0;//未有人获胜}publicintsearch(Stringk,inta,intb,intz,intf){//单向探测函数a+=z;b+=f;if(b>=column||a>=row||a<0||b<0||!Graph[a][b].equals(k))return0;returnsearch(k,a,b,z,f)+1;}publicstaticvoidmain(String[]args){JavaGameMy=newJavaGame(6,7);Scannerinput=newScanner(System.in);intx,y,key;My.show();for(inti=(int)(Math.random()*2);;){//随机起手System.out.print("请"+My.C[i%2]+"棋手输入您的棋子所在行(1-6):");x=input.nextInt();System.out.print("所在列(1-7):");y=input.nextInt();if(My.Input(x-1,y-1,i)!=0)//出错后执行下一循环(i没有++)continue;My.show();if(My.judge(x-1,y-1)==1){//判断是否有人胜出System.out.println("恭喜,"+My.C[i%2]+"棋手赢!");break;}if(My.empty==0){//平局System.out.println("Chessdraw");break;}i++;}}} 标签:javadom函数codeblog游戏inputclassimport循环原文地址:https://b


常見健康問答


延伸文章資訊