下载 >  开发技术 >  Java > java简易五子棋

java简易五子棋

java简易五子棋,喜欢的朋友可以进来看看。。
2011-11-18 上传大小:95KB
分享
收藏 举报
自制java五子棋简易代码(仅供参考)

今天重新温习java书籍,看到面向对象章节,为了更好的理解面向对象含义,特意写了这样一个小程序,希望与大家分享

立即下载
java实现简易五子棋

java实现五子棋,用于课程设计,按钮可能有些不习惯,这是为了验证更多的函数和方法。

立即下载
一个用java写的简单五子棋代码

一个简单的五子棋代码关键代码如下: //初始化棋盘 for(i=0;i<16;i++) for(j=0;j<16;j++) { this.pgrades[i][j] = 0; //代表玩家的得分 this.cgrades[i][j] = 0; this.board[i][j] = 2; //其值为2则代表为下子,若为1则代表电脑下子,若为0,则代表玩家下子 } //遍历所有的五连子可能情况的权值 //横 for(i=0;i<16;i++) for(j=0;j<12;j++){ for(k=0;k<5;k++){ this.ptable[j+k][i][icount] = true; this.ctable[j+k][i][icount] = true; } icount++; } //竖 for(i=0;i<16;i++) for(j=0;j<12;j++){ for(k=0;k<5;k++){ this.ptable[i][j+k][icount] = true; this.ctable[i][j+k][icount] = true; } icount++; } //右斜 for(i=0;i<12;i++) for(j=0;j<12;j++){ for(k=0;k<5;k++){ this.ptable[j+k][i+k][icount] = true; this.ctable[j+k][i+k][icount] = true; } icount++; } //左斜 for(i=0;i<12;i++) for(j=15;j>=4;j--){ for(k=0;k<5;k++){ this.ptable[j-k][i+k][icount] = true; this.ctable[j-k][i+k][icount] = true; } icount++; }

立即下载
用C++写的一个简单的五子棋程序

这是一个用C++实现的五子棋程序,很简单,对初学C++的同学有帮助。

立即下载
用C语言编写的简单五子棋游戏

#include<math.h> #include<stdio.h> #define N 20 void welcome(); void initqipan(); void showqi(int i); void save(int p); void panduan(int p); void heqi(); void over(); int zouqihang(); int zouqilie(); /******************结构体*****************/ struct zuobiao { int x[N*N]; int y[N*N]; }weizhi[N*N]; /******************主函数*****************/ void main() { int p=0; welcome(); initqipan(); for(p=1;p<=N*N;p++) { if(p%2==0) weizhi[p].x[p]=weizhi[p-1].x[p-1]; else weizhi[p].x[p]=zouqihang(); if(p%2==0) weizhi[p].y[p]=weizhi[p-1].y[p-1]+1; else weizhi[p].y[p]=zouqilie(); save(p); showqi(p); panduan(p); } if(p==N*N) heqi(); over(); } /******************建立棋盘*****************/ void initqipan() {char f[N]={' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s'}; int i,j; for(i=0;i<N;i++) { printf("%c",f[i]); printf(" "); } printf("\n"); for(i=1;i<N;i++) { for(j=0;j<N;j++) { if(j==0) printf("%c",f[i]); else printf(" ·"); } printf("\n"); } } /******************显示棋子*****************/ void showqi(int p) { int i,j,k,m; int a[N*N],b[N*N]; FILE *fp; fp=fopen("wuzi_list","rb"); for(i=1;i<=N*N;i++) { fread(&weizhi[i],sizeof(struct zuobiao),1,fp); a[i]=weizhi[i].x[i]; b[i]=weizhi[i].y[i]; } for(m=1;m<p;m++) { while(weizhi[p].x[p]==a[m]&&weizhi[p].y[p]==b[m]) { printf("error!\n"); weizhi[p].x[p]=zouqihang(); weizhi[p].y[p]=zouqilie(); m=1; } } for(i=0;i<N;i++) { printf("%d",i); printf(" "); } printf("\n"); for(i=1;i<N;i++) { for(j=1;j<N;j++) { if(j==1) printf("%2d",i); for(k=1;k<=p;k++) { if(i==weizhi[k].x[k]&&j==weizhi[k].y[k]) { if(k%2==1) {printf("○");break;} else if(k%2==0) {printf("●");break;} } } if(k>p)printf("·"); else continue; } printf("\n"); } } /******************走棋行*****************/ int zouqihang() { int x; printf("请输入要走棋子所在行数!\n"); printf("x="); scanf("%d",&x); while(x>N-1||x<1) { printf("error!\n"); printf("请输入要走棋子所在行数!\n"); printf("x="); scanf("%d",&x); } return x; } /******************走棋列*****************/ int zouqilie() { int y; printf("请输入要走棋子所在列数!\n"); printf("y="); scanf("%d",&y); while(y>N-1||y<1) { printf("error!\n"); printf("请输入要走棋子所在列数!\n"); printf("y="); scanf("%d",&y); } return y; } /******************文件保存*****************/ void save(int i) { FILE *fp; static int m=0; fp=fopen("wuzi_list","wb"); fwrite(&weizhi[i],sizeof(struct zuobiao),1,fp); } /****************判断输赢*******************/ void panduan(int p) { int i,j,k[8]={1,1,1,1,1,1,1,1,}; int a[N*N],b[N*N]; FILE *fp; fp=fopen("wuzi_list","rb"); for(i=1;i<=p;i++) { fread(&weizhi[i],sizeof(struct zuobiao),1,fp); a[i]=weizhi[i].x[i]; b[i]=weizhi[i].y[i]; } /*****************判断行******************/ for(i=1;i<=p;i++) { if(i%2==1) { for(j=1;j<=p;j=j+2) { if((a[i]==a[j])&&(b[i]==b[j]-1)) { k[0]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-2)) { k[0]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-3)) { k[0]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-4)) { k[0]++; continue; } else if(k[0]==5) { printf("Player 1 wins!!!\n"); } else continue; } if(k[0]==5) break; k[0]=1; } else if(k[0]==5) break; else if(i%2==0) { for(j=2;j<=p;j=j+2) { if((a[i]==a[j])&&(b[i]==b[j]-1)) { k[1]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-2)) { k[1]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-3)) { k[1]++; continue; } else if((a[i]==a[j])&&(b[i]==b[j]-4)) { k[1]++; continue; } else if(k[1]==5) { printf("Player 2 wins!!!\n"); } else continue; } if(k[1]==5) break; k[1]=1; } } /**********************判断列************************/ for(i=1;i<=p;i++) { if(k[0]==5||k[1]==5) break; else if(i%2==1) { for(j=1;j<=p;j=j+2) { if((a[i]==a[j]-1)&&(b[i]==b[j])) { k[2]++; continue; } else if((a[i]==a[j]-2)&&(b[i]==b[j])) { k[2]++; continue; } else if((a[i]==a[j]-3)&&(b[i]==b[j])) { k[2]++; continue; } else if((a[i]==a[j]-4)&&(b[i]==b[j])) { k[2]++; continue; } else if(k[2]==5) { printf("Player 1 wins!!!\n"); } else continue; } if(k[2]==5) break; k[2]=1; } else if(k[2]==5) break; else if(i%2==0) { for(j=2;j<=p;j=j+2) { if((a[i]==a[j]-1)&&(b[i]==b[j])) { k[3]++; continue; } else if((a[i]==a[j]-2)&&(b[i]==b[j])) { k[3]++; continue; } else if((a[i]==a[j]-3)&&(b[i]==b[j])) { k[3]++; continue; } else if((a[i]==a[j]-4)&&(b[i]==b[j])) { k[3]++; continue; } else if(k[3]==5) { printf("Player 2 wins!!!\n"); } else continue; } if(k[3]==5) break; k[3]=1; } } /****************判断对角(左上-右下)******************/ for(i=1;i<=p;i++) { if(k[0]==5||k[1]==5||k[2]==5||k[3]==5) break; else if(i%2==1) { for(j=1;j<=p;j=j+2) { if((a[i]==a[j]-1)&&(b[i]==b[j]-1)) { k[4]++; continue; } else if((a[i]==a[j]-2)&&(b[i]==b[j]-2)) { k[4]++; continue; } else if((a[i]==a[j]-3)&&(b[i]==b[j]-3)) { k[4]++; continue; } else if((a[i]==a[j]-4)&&(b[i]==b[j]-4)) { k[4]++; continue; } else if(k[4]==5) { printf("Player 1 wins!!!\n"); } else continue; } if(k[4]==5) break; k[4]=1; } else if(k[2]==5) break; else if(i%2==0) { for(j=2;j<=p;j=j+2) { if((a[i]==a[j]-1)&&(b[i]==b[j]-1)) { k[5]++; continue; } else if((a[i]==a[j]-2)&&(b[i]==b[j]-2)) { k[5]++; continue; } else if((a[i]==a[j]-3)&&(b[i]==b[j]-3)) { k[5]++; continue; } else if((a[i]==a[j]-4)&&(b[i]==b[j]-4)) { k[5]++; continue; } else if(k[5]==5) { printf("Player 2 wins!!!\n"); } else continue; } if(k[5]==5) break; k[5]=1; } } /**********判断对角(左下-右上)************/ for(i=1;i<=p;i++) { if(k[0]==5||k[1]==5||k[2]==5||k[3]==5||k[4]==5||k[5]==5) break; else if(i%2==1) { for(j=1;j<=p;j=j+2) { if((a[i]==a[j]+1)&&(b[i]==b[j]-1)) { k[6]++; continue; } else if((a[i]==a[j]+2)&&(b[i]==b[j]-2)) { k[6]++; continue; } else if((a[i]==a[j]+3)&&(b[i]==b[j]-3)) { k[6]++; continue; } else if((a[i]==a[j]+4)&&(b[i]==b[j]-4)) { k[6]++; continue; } else if(k[6]==5) { printf("Player 1 wins!!!\n"); } else continue; } if(k[6]==5) break; k[6]=1; } else if(k[6]==5) break; else if(i%2==0) { for(j=2;j<=p;j=j+2) { if((a[i]==a[j]+1)&&(b[i]==b[j]-1)) { k[7]++; continue; } else if((a[i]==a[j]+2)&&(b[i]==b[j]-2)) { k[7]++; continue; } else if((a[i]==a[j]+3)&&(b[i]==b[j]-3)) { k[7]++; continue; } else if((a[i]==a[j]+4)&&(b[i]==b[j]-4)) { k[7]++; continue; } else if(k[7]==5) { printf("Player 2 wins!!!\n"); } else continue; } if(k[7]==5) break; k[7]=1; } } } /****************和棋*******************/ void heqi() { printf("************************************\n"); printf(" Tie!!!\n"); printf("************************************\n"); } /****************游戏结束*******************/ void over() { printf("************************************\n"); printf(" game over!!!\n"); printf("************************************\n"); } /****************游戏开始*******************/ void welcome() { printf("************************************\n"); printf(" Welcome!!!\n"); printf("************************************\n"); }

立即下载
简单五子棋c++源代码

c++五子棋源代码,适用于学c++游戏开发的同学,源代码中包括了棋盘的打印等等

立即下载
一个简单的android五子棋

简单的android五子棋实现300多行代码

立即下载
基于STM32的五子棋对战平台

基于STM32F4(原子探索者)的五子棋对战平台,可以实现触摸下子、人机对战、人人对战、帮助、悔棋、开关音量的功能,别的平台或板子可以参考移植,博客及视频https://blog.csdn.net/a568713197/article/details/80461127

立即下载
五子棋 C#源码

支持在线游戏,采用C/S架构模式开发。预留积分排名、悔棋认输等二次开发模块供大家参考。

立即下载
五子棋人机对战源码(C++)

用C++实现的五子棋人机对战,接口定义得相当清晰,用户可自己优化算法,来加强电脑的能力.

立即下载
STM32五子棋游戏

该程序是基于STM32f103的五子棋游戏,里面包含了触摸屏和SD卡的应用,可以实现基本的五子棋对战

立即下载
java做的五子棋

java做的简易五子棋。大家可以看看^_^

立即下载
java编写的五子棋

用java编写的简易五子棋,用最少的代码实现五子棋的简易功能,但遗憾的是只是人机对弈版的。

立即下载
有简单AI的五子棋(含源码)

我写的五子棋程序,有很弱的AI。 采用控制台界面,鼠标+键盘操作。代码比较简单,也许对控制台界面和棋类游戏的初学者有点帮助。

立即下载
MFC中最简单的五子棋程序,五子棋算法很简单

很好用的,设和那些第一次做五子棋,没有思路的人看,做过的人就不用再下载了

立即下载
Java五子棋程序(基于控制台,有界面)

用Java写的基于控制台的五子棋程序(含简易界面)

立即下载
java简易五子棋实现

java程序设计课程作业 简易五子棋实现 附上文档

立即下载
简易五子棋qt实现

简易的五子棋qt creator 实现,可在此基础之上实现五子棋算法。

立即下载
java简易五子棋源码

java编写建议五子棋源码,希望和大家共同探讨java技术问题。

立即下载
jquery实现五子棋简单案例

简单的逻辑运算,用jquery实现布局。界面比较简陋。里面的文件齐全了,下载后即可打开网页,如有不懂可以联系

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

java简易五子棋

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: