- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十五、井字棋?【问题描述】?设计一个井字棋得游戏程序【基本要求】?游戏规则就是:从一个空得棋盘开始,人为x一方,计算机为o一方,人机双方轮流放置棋子,人下得时候,字符x将被放入棋盘中指定得位置,轮到计算机下时,程序将扫描棋盘,并将字符o放入扫描到得第一个空格,某一方有3枚棋子占据了一横行、一竖行或一对角线则获胜,若整个棋盘被占满还没有一方获胜则为与局、
截图:
代码:
//author GXU-pengcheng
#include〈stdio、h>
#include〈windows。h>
#include<conio、h>
void Help();//帮助
int Play(char player,int choice);//对弈
void Init();//初始化棋盘
void Display();//打印棋盘
void Black(int choice);//黑棋
void White(int choice);//白棋
void Block(int choice);//添加选择框
void Clear(int choice);//清空之前得选择框
int Judge(int choice,char symbol);//判断输赢 返回值0为无结果,1为获胜,2为平局
int Funcx(int choice);//将标号转换为行号
int Funcy(int choice);//将标号转换为列号
void End(char symbol);//结束
int Found();//返回第一个没有棋子得位置得编号
char a[31][64];//用数组存放棋盘与棋子,a[行][列]
int b=0;//棋子个数
int main(){
char player;
?int choice;
system("title 井字棋");//设置标题
system("mode con cols=64 lines=35”);//设置窗口大小
system("color 70”);//设置颜色
while(1){
printf(”\n\n\n\n\n\n\t\t\t井\t字\t棋”);
printf("\n\n\n\n\n\n\n\n\t\t\t1、 玩 家 先 手\n\n\t\t\t2。 电 脑 先 手\n\n\t\t\t3、 帮 助\n\n\t\t\t4、 退 出\n\n\n\n\n\t\t请输入: ");
player=getch();
??if(player=='1'){
? Init();
? Block(5);
? choice=5;
?Play(player,choice);
}else if(player==’2'){
?Init();
???Play(player,choice);
?}else if(player==’3'){
??Help();
? getch();
? ?system("cls”);
??continue;
? }else if(player=='4'){
? return 0;
??}else{
?printf("\n\n\t\t 输入错误请重新输入!");
??Sleep(1000);
? system("cls");
continue;
? }
}
?return 0;
}
void Help(){
?system("cls");
printf(”\n\n\n\n\n\n\n\n\n\t\t\t 帮助\n\n\n”);
printf("\t 'W’上移, 'S'下移, 'A'左移, ’D'右移 \n\n");
?printf("\t\t 游戏中按'4'退出");
printf(”\n\n\n\n\t\t 按任意键退出");
}
int Play(char player,int choice){//对弈
?char get;
char symbol;
int c=0;//Judge得出得结果
while(1){
??system(”cls");//每次循环清屏一次
?Display();
if(player=='1’){//玩家下棋
??while(1){//确定要下得位置
?? if((get=getch())!=’ '){
?if(get=='4'){ ?
?? system("cls”);
? return 0;
? ?? }else if( (get=='w'||get=='W’) &&choice—3>=1){
???? Clear(choice);
?? choice =choice-3
文档评论(0)