資源簡介
人機對戰,可選擇先手后手。注釋詳細,簡單易懂。代碼有本人QQ號,疑惑的同學可以和我一起學習,交流。分值不高,絕對超值。有此作業的同學幸福了...
代碼片段和文件信息
#include?
int?s;???????????????????//人棋子
int?w;???????????????????//電腦棋子
int?n?=?9;???????????????//存放棋盤空位置數量
void?Intro()??????//游戲簡介
{
printf(“\t\t\t\t\t程序員:劉玉濤\tQQ:932129499\n“);
printf(“\n【游戲規則:由最先在任意一條直線上成功連接成三個標記的一方獲勝】\n\n“);
printf(“棋盤:\n“);
printf(“?1?|?2?|?3\n“);
printf(“----------\n“);
printf(“?4?|?5?|?6\n“);
printf(“----------\n“);
printf(“?7?|?8?|?9\n“);
}
int?Judge(int?a[])??????????????????//判斷是否勝利
{
?????if(a[1]!=0?&&?a[1]==a[2]?&&?a[2]==a[3])?return?1;
else?if(a[4]!=0?&&?a[4]==a[5]?&&?a[5]==a[6])?return?1;
else?if(a[7]!=0?&&?a[7]==a[8]?&&?a[8]==a[9])?return?1;
else?if(a[1]!=0?&&?a[1]==a[4]?&&?a[4]==a[7])?return?1;
else?if(a[2]!=0?&&?a[2]==a[5]?&&?a[5]==a[8])?return?1;
else?if(a[3]!=0?&&?a[3]==a[6]?&&?a[6]==a[9])?return?1;
else?if(a[1]!=0?&&?a[1]==a[5]?&&?a[5]==a[9])?return?1;
else?if(a[3]!=0?&&?a[3]==a[5]?&&?a[5]==a[7])?return?1;
return?0;
}
void?Checker(int?a[]int?x)???????????//顯示棋盤
{
int?i;
char?temp[10]={0};
for?(i=1;i<10;i++)??????????//棋子轉換
{
?if?(a[i]>0)????temp[i]=88;
else?if?(a[i]<0) temp[i]=79;
}
printf(“\n?%c?|?%c?|?%c\n“temp[1]temp[2]temp[3]);
printf(“-----------\n“);
printf(“?%c?|?%c?|?%c\n“temp[4]temp[5]temp[6]);
printf(“-----------\n“);
printf(“?%c?|?%c?|?%c\n“temp[7]temp[8]temp[9]);
n--;????????????????//剩余空位置個數
if(x==2)
{
printf(“你贏了\n“);
getchar();
}
else?if(x==3)
{
printf(“你輸了\n“);
getchar();
}
}
int?People(int?a[])???????????????????//人走棋
{
int?num;
while(1)
{
printf(“\n選擇位置放置棋子:“);
scanf(“%d“&num);
getchar();????????????????
if(num>0?&&?num<10?&&?a[num]==0)
{
a[num]=s;
if(Judge(a))
{
Checker(a2);
return?1;
}
else
{
n--;
return?0;
}
}
else
printf(“輸入有誤\n“);
}
}
int?Max(int?temp[])???????//比較勝率大小
{
int?imax=1;
for?(i=2;i<10;i++)
{
if(temp[max] max=i;
}
return?max;
}
int?Computer(int?a[])????????????//電腦走棋
{
int?i;
int?temp[10]={0};????//勝率計數器
if(n<=6)????????????????//輸贏情況有可能發生了
{
for(i=1;i<10;i++)???????????//電腦能贏,就贏
{
if(a[i]==0)
{
a[i]=w;
if(Judge(a))
{
Checker(a3);
return?1;???????????//1標示分出勝負
}
else
a[i]=0;
}
- 上一篇:酒店管理系統 c++的代碼
- 下一篇:八皇后問題-爬山法
評論
共有 條評論