java实现控制台五子棋游戏.docx
《java实现控制台五子棋游戏.docx》由会员分享,可在线阅读,更多相关《java实现控制台五子棋游戏.docx(9页珍藏版)》请在冰豆网上搜索。
![java实现控制台五子棋游戏.docx](https://file1.bdocx.com/fileroot1/2023-1/3/3377397b-a8a8-4112-9c43-f7ca5c469a12/3377397b-a8a8-4112-9c43-f7ca5c469a121.gif)
java实现控制台五子棋游戏
/**
大家好,我现在正在学习java,虽然在这之前我已经学习过一遍了,但是现在再重新来学,才发现以前学的太肤浅了,而且学的质量也很不好,所以,现在我又重新站在了新的起跑线上,开始了我的java学习之旅,喜欢java的朋友和想学习java的朋友来和我一起前进吧。
我会及时的把自己学的一些东西总结出来,并传送到文库中和大家一起分享的。
所以MakeTheChange的时候到了,Everyone,ComeOn!
(我的QQ号jiaziming1990@,愿意交流的同学可以加我呦)
Java中的几种排序方法:
冒泡排序,选择排序,插入排序和快速排序。
下面是我当初开始学java时的一些源代码,简单易懂,拿出来分享给大家,希望对刚接触java的人能够有所帮助。
在此,也和大家共勉一下:
相信自己,用心学习,大胆创新!
*/
/**
这是一个简单的五子棋游戏,在玩的方面它确实没有什么价值。
但是,它却包含了一些java方面最基础的知识。
对你以后的学习有很大的帮助,而且还可以增强你的自信心呦!
以下是我写的一个源码,执行效率并不高,但可以做以下参考(*^__^*)嘻嘻……
*/
importjava.util.Scanner;
publicclassFiveChessGame{
publicstaticvoidmain(String[]args){
char[][]arr=newchar[17][17];
arr[0][0]='';
//布置棋盘,运用了三个for循环;
for(inti=1;i<11;i++){
arr[0][i]=(char)('0'+(i-1));
arr[i][0]=(char)('0'+(i-1));
}
for(inti=11;i<17;i++){
arr[0][i]=(char)('a'+(i-11));
arr[i][0]=(char)('a'+(i-11));
}
for(inti=1;i<17;i++){
for(intj=1;j<17;j++){
arr[i][j]='*';
}
}
print(arr);
for(;;){
booleanflag=false;
bFall(arr);
flag=compareB(arr);
if(flag)break;
wFall(arr);
flag=compareW(arr);
if(flag)break;
}
}
//黑棋落子bFall();
publicstaticvoidbFall(char[][]arr){
//落子前,首先判断选中的位置是不是已经有棋子了
System.out.println("黑棋落子:
");
Scannersc=newScanner(System.in);
Stringin=sc.next();
charc1=in.charAt(0);
charc2=in.charAt
(1);
inthIndex=0;
intsIndex=0;
for(inti=1;ifor(intj=1;jif(c1==arr[i][0]&&c2==arr[0][j]){
hIndex=i;
sIndex=j;
}
}
}
if(arr[hIndex][sIndex]!
='*'){
System.out.println("当前的位置上已经有棋子了,请重新输入");
}else{
arr[hIndex][sIndex]='@';
print(arr);
}
}
//白棋落子wFall();
publicstaticvoidwFall(char[][]arr){
//落子前,首先判断选中的位置是不是已经有棋子了
System.out.println("白棋落子:
");
Scannersc=newScanner(System.in);
Stringin=sc.next();
charc1=in.charAt(0);
charc2=in.charAt
(1);
inthIndex=0;
intsIndex=0;
for(inti=1;ifor(intj=1;jif(c1==arr[i][0]&&c2==arr[0][j]){
hIndex=i;
sIndex=j;
}
}
}
if(arr[hIndex][sIndex]!
='*'){
System.out.println("当前的位置上已经有棋子了,请重新输入");
}else{
arr[hIndex][sIndex]='&';
print(arr);
}
}
//横向够五个棋子
publicstaticintcrossRight(char[][]arr,inti,intj,charc){
intcount=1;
while(j+1count++;
returncount;
}
//竖向够五个棋子
publicstaticintverticalRight(char[][]arr,inti,intj,charc){
intcount=1;
while(i+1count++;
}
returncount;
}
//斜向够五个棋子
publicstaticintobliqueRight(char[][]arr,inti,intj,charc){
intcount=1;
while(i+1count++;
}
returncount;
}
//反斜向够五个棋子
publicstaticintinverseRight(char[][]arr,inti,intj,charc){
intcount=1;
while(i+1count++;
}
returncount;
}
//比较黑棋
publicstaticbooleancompareB(chararr[][]){
booleanb=false;
//比较横向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='@'){
intcount=crossRight(arr,i,j,'@');
if(count==5){
b=true;
print(arr);
System.out.println("黑棋赢了");
}
}
}
}
//比较竖向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='@'){
intcount=obliqueRight(arr,i,j,'@');
if(count==5){
b=true;
print(arr);
System.out.println("黑棋赢了");
}
}
}
}
//比较斜向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='@'){
intcount=obliqueRight(arr,i,j,'@');
if(count==5){
b=true;
print(arr);
System.out.println("黑棋赢了");
}
}
}
}
//比较反斜向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='@'){
intcount=inverseRight(arr,i,j,'@');
if(count==5){
b=true;
print(arr);
System.out.println("黑棋赢了");
}
}
}
}
returnb;
}
//比较白棋
publicstaticbooleancompareW(chararr[][]){
booleanb=false;
//比较横向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='&'){
intcount=crossRight(arr,i,j,'&');
if(count==5){
b=true;
print(arr);
System.out.println("白棋赢了");
}
}
}
}
//比较竖向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='&'){
intcount=obliqueRight(arr,i,j,'&');
if(count==5){
b=true;
print(arr);
System.out.println("白棋赢了");
}
}
}
}
//比较斜向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='&'){
intcount=obliqueRight(arr,i,j,'&');
if(count==5){
b=true;
print(arr);
System.out.println("白棋赢了");
}
}
}
}
//比较反斜向
for(inti=0;ifor(intj=0;jif(arr[i][j]=='&'){
intcount=inverseRight(arr,i,j,'&');
if(count==5){
b=true;
print(arr);
System.out.println("白棋赢了");
}
}
}
}
returnb;
}
//打印棋盘
publicstaticvoidprint(char[][]arr){
for(inti=0;ifor(intj=0;jSystem.out.print(arr[i][j]+"");
}
System.out.println();
}
}
}