资源简介

这是一个用c语言编写的四子棋小程序,本程序作为一个平台使用,对战双方可以分别编写一个人工智能程序进行对战,特别锻炼编程初学者的编程能力。

资源截图

代码片段和文件信息

// AI修正.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“


int _tmain(int argc _TCHAR* argv[])
{
return 0;
}

#include
#include “time.h“
#include “stdlib.h“

#define m 10                    //m是棋盘的宽度,n是高度
#define n 10

int fucksum=0jinggao=0Abomb=1Bbomb=1win=0h[m]={0}now[m][n]={0}nowfora[m][n]={0}nowforb[m][n]={0};
//一些重要和不重要的全局变量

void copy(int a[m][n]int b[m][n])
{
for (int i=0;i<=m-1;i++)
for (int j=0;j<=n;j++)
b[i][j]=a[i][j];
}
void delay(int time)
{
int ij;
for (i=0;i<=100000;i++)
for (j=0;j<=time;j++);
}

#include“abab.h“
//#include“Learner.h“
//#include“SB.H“ //此处要将参赛选手的.h格式的作品包含进来,其中应该有_XXX_ST函数
int main()
{
void push(intint);
int check(void);
void winner(int);
srand((unsigned)time(NULL));

int papb=-1;
while (sum if (sum>n*m*9/10){                      //如果棋盘上的棋子数目超过了90%,会送每人一个炸弹
Abomb++;
Bbomb++;
}
copy(nownowfora);
pa=_135_ST(nowfora1AbombBbombpb); //选手A是一个只会随机下子的AI
//如果想要测试自己写的AI,将自己的函数包含进来之后把_rand_ST换成自己的函数名称就可以了
// scanf(“%d“&pa);
if ((pa>=m*2)||(pa<0)){ //如果输入不规范的话,嘿嘿,就直接输了
winner(2);
break;
}
if (pa>=m){
if (Abomb>0) Abomb--;
else pa=pa%m;
}
push(pa1); //下满子儿的地方可千万别往里投子儿了,要不然也输
if (jinggao) {
winner(2);
break;
}

if (win=check()){
winner(win);
break;
}
copy(nownowforb);
// pb=_SB_ST(nowforb2AbombBbombpa); //选手B只会往第3列下子儿
scanf(“%d“&pb);
if ((pb>=m*2)||(pb<0)){
winner(1);
break;
}
if (pb>=m){
if (Bbomb>0) Bbomb--;
else pb=pb%m;
}
push(pb2);
if (jinggao) {
winner(1);
break;
}

if (win=check()){
winner(win);
break;
}
}
if (sum==n*m) printf(“糟糕,平局了\n“);
return 0;
}



void pr(void)
{
int i;
// delay(5000);
printf(“\n“);
for (int j=n-1;j>=0;j--){
printf(“%d    “j);
for (i=0;i<=m-1;i++) if (now[i][j]) printf(“   %c“10+now[i][j]);
else printf(“    “);
printf(“\n“);
}


printf(“\n     “);
for (i=0;i

评论

共有 条评论