没有合适的资源?快使用搜索试试~ 我知道了~
C语言写的五子棋的源代码(人机对战)
3星 · 超过75%的资源 需积分: 50 66 下载量 39 浏览量
2012-09-28
16:13:21
上传
评论 3
收藏 207KB DOC 举报
温馨提示
试读
18页
C语言写的五子棋的源代码(人机对战),里面附有TC来编译的五子棋源代码(双人对战)
资源推荐
资源详情
资源评论
愣愣心欣 一级 | 我的知道 | 消息 ( 1 ) | 空间 | 应用 | 退出
我的知道
我的提问 我的回答 为我推荐的提问 知识掌门人
应用
礼物
投票
分享
HOHO
照片
PK
更多应用
新闻
网页
贴吧
知道
MP3
图片
视频
百科
文库
帮助|设置
百度知道> 电脑 / 网络 > 程序设计 > C/C++
急求一个五子棋 C++程序
悬赏分:5|解决时间:2010-12-27 20:28|提问者:acoylee
问题补充:
是基于 Win32 控制平台的 C++五子棋程序
用到类(class)
有棋盘
有悔棋功能
能在 visual c++ 6.0 上运行
急求。。。
最佳答案
以下代码经测试能在 vc++6.0 运行
以下是代码的开始
-----------------------------------------------------------------
#include<iostream>
#include<cstdlib>
using namespace std;
const char outstr[11][4]={"┌","┬","┐","├","┼","┤","└","┴","┘","○","●"};
int com[15][15],luozi[15][15];
int c,d;
void jushi() //这是判断落子重要性的函数
{
int x,y,i,m,n,lianzi1=0,lianzi2=0,life=0;
memset(com,0,sizeof(com));
for(x=0;x<=14;x++)
for(y=0;y<=14;y++)
{
if(luozi[x][y]==0)
{
for(m=-1;m<=1;m++)
for(n=-1;n<=1;n++)
{
if(m!=0 || n!=0)
{
for(i=1;i<=4;i++)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
[y+i*n]==1 )
{lianzi1++;}
else
if(luozi[x+i*m][y+i*n]==0)
{life++; break;}
else
{break;}
}
for(i=-1;i>=-4;i--)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
[y+i*n]==1 )
{lianzi1++;}
else
if(luozi[x+i*m][y+i*n]==0)
{life++; break;}
else
{break;}
}
if(lianzi1==1) {com[x][y]+=1;}
else if(lianzi1==2)
{
if(life==1) {com[x][y]+=5;}
else if(life==2) {com[x][y]+=10;}
}
else if(lianzi1==3)
{
if(life==1) {com[x][y]+=20;}
else if(life==2) {com[x][y]+=100;}
}
else if(lianzi1==4) {com[x][y]+=500;}
life=0;
for(i=1;i<=4;i++)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
[y+i*n]==2 )
{lianzi2++;}
else
if(luozi[x+i*m][y+i*n]==0)
{life++; break;}
else
{break;}
}
for(i=-1;i>=-4;i--)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
[y+i*n]==2 )
{lianzi2++;}
else
if(luozi[x+i*m][y+i*n]==0)
{life++; break;}
else
{break;}
}
if(lianzi2==1) {com[x][y]+=2;}
else if(lianzi2==2)
{
if(life==1) {com[x][y]+=8;}
else if(life==2) {com[x][y]+=30;}
}
else if(lianzi2==3)
{
if(life==1) {com[x][y]+=50;}
else if(life==2) {com[x][y]+=200;}
}
else if(lianzi2==4) {com[x][y]+=1000;}
lianzi1=0;
lianzi2=0;
life=0;
}
}
}
}
}
void computer(int a[15][15]) //这是电脑落子的函数
{
int i,j,max=0;
jushi();
for(i=0;i<=14;i++)
for(j=0;j<=14;j++)
{
if(com[i][j]>max)
{
max=com[i][j];
c=i;
d=j;
}
}
a[c][d]=10;
luozi[c][d]=2;
}
int panduan(int x,int y,int sum) //判断胜负的函数
{
int m,n,i,lianzi=0;
for(m=-1;m<=1;m++)
for(n=-1;n<=1;n++)
{
if(m!=0 || n!=0)
{
for(i=1;i<=4;i++)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
[y+i*n]==sum )
{lianzi++;}
else
{break;}
}
for(i=-1;i>=-4;i--)
{
if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m]
剩余17页未读,继续阅读
资源评论
- 上海-浦东-小无知了2014-04-10可以运行.就是长得有点丑!
- DuncanSun2012-12-07下下来之后发现从百度知道上面复制的·····
panda_c
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功