基于C的五子棋算法--低级人机算法

本文介绍了如何使用C语言在Unix系统上实现五子棋游戏,包括棋盘绘制、五子相连的判定以及简单的低级人机对弈算法。通过遍历棋盘判断五子相连,以及建立评分系统选择最优落子位置。此外,还实现了网络对战功能,允许在局域网内进行游戏。
摘要由CSDN通过智能技术生成

五子棋是中国最古老的的棋类之一,老少皆宜,特别适合用来开发智力,对于编程而言,实现它也算一个特别经典的案例。

本文主要从五子棋下棋、判定五子相连、以及智能获取最优棋子上讨论五子棋的实现。

首先是棋盘绘制:
我是在Unix系统上用C写的,所以界面比较简陋,用getch()获取上下左右移动的键值,和Enter键确定下子,附加一个ESC退出
对于键值:

up:183
down:184
right:185
left:186
enter:10
esc:27

界面绘制呢,五子棋一般采用15*15的规格,所以显示函数如下

void showMap(int map[][15],size_t len){
system("clear");
puts("\n\n\n");
char s = 'A';
for(int i=0;i<15;i++){
	printf("\t\t\t");
	if(i>=10)printf(" %c",s++);
	else printf(" %d",i);
	for(int j=0;j<15;j++){
		if(map[i][j] == 0)printf(".");
		if(map[i][j] == 1)printf("#");
		if(map[i][j] == -1)printf("O");
		printf(" ");
	}
	printf("\n");
}
printf("\t\t\t  ");
char c = 'A';
for(int j=0;j<15;j++){
	if(j>=10)printf("%c &#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值