初学VC之五子棋
来源:互联网 发布:mac安装的软件在哪 编辑:程序博客网 时间:2024/05/19 13:55
才开始真正学VC编程,兴趣很重要,所以先照猫画虎写了一个五子棋的程序,还可以玩的,只是没有智能AI的部分,下一步会好好学习的。
在整个程序中,感觉最重要的要数输赢检测了,下面把算法公布出来:
BOOL CMyView::Desk_win(CPoint pt){pt.x=pt.x-1;pt.y=pt.y-1;int i=0,j=0;for(i=0;i<line-4;i++){//行连续五个是否相等if(qizi[i][pt.y]==qizi[i+1][pt.y] && qizi[i+1][pt.y]==qizi[i+2][pt.y] && qizi[i+2][pt.y]==qizi[i+3][pt.y] && qizi[i+3][pt.y]==qizi[i+4][pt.y] && qizi[i][pt.y]!=0){TRACE("行连续五个是否相等");return TRUE;}}for(i=0;i<line-4;i++){//列连续五个是否相等if(qizi[pt.x][i]==qizi[pt.x][i+1] && qizi[pt.x][i+1]==qizi[pt.x][i+2] && qizi[pt.x][i+2]==qizi[pt.x][i+3] && qizi[pt.x][i+3]==qizi[pt.x][i+4] && qizi[pt.x][i]!=0){TRACE("列连续五个是否相等");return TRUE;}}//********************************for(j=4;j<16;j++){//斜上方向,4-15for(i=0;i<j-3;i++){if(qizi[i][j-i]==qizi[i+1][j-i-1] && qizi[i][j-i]==qizi[i+2][j-i-2] && qizi[i][j-i]==qizi[i+3][j-i-3] && qizi[i][j-i]==qizi[i+4][j-i-4] && qizi[i][j-i]>0){TRACE("斜上方向,4-15");return TRUE;}//TRACE("("+Tool_Tostr(i)+","+Tool_Tostr(j-i)+") ");}//TRACE("\n");}for(i=1;i<12;i++){//斜上方向,下半棋盘14-4for(j=0;j<15-i-3;j++){if(qizi[i+j][15-j]==qizi[i+1+j][15-j-1] && qizi[i+j][15-j]==qizi[i+2+j][15-j-2] && qizi[i+j][15-j]==qizi[i+3+j][15-j-3] && qizi[i+j][15-j]==qizi[i+4+j][15-j-4] && qizi[i+j][15-j]>0){TRACE("斜上方向,下半棋盘14-4");return TRUE;}//TRACE("("+Tool_Tostr(i+j)+","+Tool_Tostr(15-j)+") ");}//TRACE("\n");}for(j=0;j<12;j++){//右斜下半旗盘for(i=0;i<15-j-3;i++){if(qizi[i][j+i]==qizi[i+1][j+1+i] && qizi[i][j+i]==qizi[i+2][j+2+i] && qizi[i][j+i]==qizi[i+3][j+3+i] && qizi[i][j+i]==qizi[i+4][j+4+i] && qizi[i][j+i]>0){TRACE("右斜下半旗盘");return TRUE;}//TRACE("("+Tool_Tostr(i)+","+Tool_Tostr(j+i)+") ");}//TRACE("\n");}for(i=1;i<12;i++){//右斜下,上半棋盘for(j=0;j<15-i-3;j++){if(qizi[i+j][j]==qizi[i+1+j][j+1] && qizi[i+j][j]==qizi[i+2+j][j+2] && qizi[i+j][j]==qizi[i+3+j][j+3] && qizi[i+j][j]==qizi[i+4+j][j+4] && qizi[i+j][j]>0){TRACE("右斜下,上半棋盘");return TRUE;}//TRACE("("+Tool_Tostr(i+j)+","+Tool_Tostr(j)+") ");}//TRACE("\n");}return FALSE;}
下面是源程序的下载地址:点我下载
- 初学VC之五子棋
- VC++ 五子棋
- 初学VC之路:引言
- 五子棋源代码(VC++6.0)
- 五子棋1.0版,c++初学
- vc++初学
- iOS之五子棋
- 控制台小游戏之五子棋
- HTML5小游戏之五子棋
- Qt之五子棋
- 画布之五子棋小游戏
- 编程娱乐之五子棋
- 五子棋之Qt实现
- 小游戏之五子棋
- 五子棋智能算法解析(VC .net)
- vc配合sdl编写五子棋游戏
- 利用VC制作单机版五子棋游戏
- 利用VC制作单机版五子棋游戏
- oracle存储函数简单介绍及实例
- 六周 BX1.1
- java工厂模式应用——多数据库分页实现(结合Spring)
- 在java中调用储存函数
- POJ 1961 HDU 1358 KMP的性质
- 初学VC之五子棋
- linux list.h 实例
- view的requestLayout()方法
- 北航计算机复试上机题(2008)
- DOC 命令大全
- 主动,永远的法宝
- 为tomcat分配内存
- win2003安装版 iis6.0 service unavailable问题...
- Linux下的vim配置和插件管理