C语言程序设计工程实训报告_第1页
C语言程序设计工程实训报告_第2页
C语言程序设计工程实训报告_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、某某工程实训报告五子棋游戏课程名称C语言程序设计工程实训姓名院(系)专业班级学号指导教帅某某大学教务处制1需求分析12系统总框图和功能模块说明12.1系统总框图12.2功能模块说明13系统设计23.1主要结构体23.2主要功能函数23.3关键函数的流程图35 4.系统调试5总结6源程序清单61需求分析系统以菜单方式工作落子一输入实时浏览功能一一输出存档,按文件查找。2系统总框图和功能模块说明2.1系统总框图图1系统总框图2.2功能模块说明棋局生成模块:生成棋局用户操作模块:用户落子,设定游戏等。游戏判断模块:判断游戏哪方玩家赢得比赛,游戏是否结束3系统设计3.1主要结构体(shortLineN

2、o_Color=15,RowNo_Color=15,Check_Color=6,X_Color=10,O_Color=12,Menu_Color=7,Game_Options_Color=7,Help_Color=7,Open_Sound=1,Auto_Save_Ending=1;intGame_Over3(int(*a)N,intchess_symbol)/*"/"形呈龙*/*以上全局变量依次表示:行序号颜色,列序号颜色,棋盘格线颜色,玩家1的棋子'X'颜色,玩家2的棋子'O'颜色,游戏主菜单GAME_MENU颜色,游戏设定菜单Game_O

3、ptions颜色,"关于游戏”的颜色,是否开启游戏提示音,是否开启棋局终局自动保存3.2主要功能函数intmain()voidAbout_Game()/*游戏帮助*/intGame_Options()/*游戏设定*/intGame_Over1(int(*a)N,intchess_symbol)/*"-"形或者"|"形呈龙(事实上"-"与"|"关于""对称)*/intGame_Over2(int(*a)N,intchess_symbol)/*""形呈龙*/intGam

4、e_Over3(int(*a)N,intchess_symbol)/*"/"形呈龙*/voidInit_Chess(int(*a)N)/*初始化棋盘,置棋盘上无任何棋子*/intLoad_Chess(int(*a)N)/*读取棋局*/intLoad_Options()/*读取游戏设定*/voidPrint_Chess(int(*a)N)/*输出棋局,或者说画棋盘*/intSave_Chess(int(*a)N,char*ss)/*保存棋局*/intSave_Options()/*保存游戏设定*/intString_to_Int(char*s,intmax)/*字符申条件转化

5、成整型*/3.3关键函数的流程图初始化voidInit_Chess(int(*a)N)/*棋盘,置棋盘上无任何棋子*/inri.n-n.n-in*n+si-ni+intString_to_Int(char*s,intmax)/*字符串条件转化成整型*/iart|搐匚况i*.MmsMrtintmain()4.系统调试菜单如上图:MlE:wuziqibianchengDebugwuziqibiancheng.exe5总结本次做的五子棋游戏,界面有点简陋,可观性不强,因为操作是要靠输入坐标的方式落子的,可操作性不强,希望能在以后的学习中能够努力的学习这方面的不足。由丁这个游戏是人人对战的,而非人际对

6、战,缺少可玩性,但愿能在日后的学习中做出人机对战的程序来,这无疑是需要强大的算法和坚实的基础,熟练的技巧的,这对我也是很大的挑战。6源程序清单#include<stdio.h>#include<conio.h>#include<windows.h>#defineN19#defineSetColor(x)SetConsoleTextAttribute(setcolor,x)shortLineNo_Color=15,RowNo_Color=15,Check_Color=6,X_Color=10,O_Color=12,Menu_Color=7,Game_Optio

7、ns_Color=7,Help_Color=7,Open_Sound=1,Auto_Save_Ending=1;/*以上全局变量依次表示:行序号颜色,列序号颜色,棋盘格线颜色,玩家1的棋子'X'颜色,玩家2的棋子O'颜色,游戏主菜单GAME_MENU颜色,游戏设定菜单Game_Options颜色,"关于游戏”的颜色,是否开启游戏提示音,是否开启棋局终局自动保存*/voidInit_Chess(int(*a)N)/*初始化棋盘,置棋盘上无任何棋子*/(inti,j;for(i=0;i<N;i+)for(j=0;j<N;j+)aij=''

8、;intString_to_Int(char*s,intmax)/*字符串条件转化成整型*/(inti,n=0;for(i=0;si<='9'&&si>='0'i+)n=10*n+si-'0'/*"si-'0'",not"si-'0'"*/return(si='0')&&(max<0|n<=max)?n:-1;/*任何一个输入都可以看成是一个不定长的字符串,此函数用来处理非法输入问题,比如输入整型数据时输

9、入了含有字母等非数字字符*/voidPrint_Chess(int(*a)N)/*输出棋局,或者说画棋盘*/(inti,j;HANDLEsetcolor=GetStdHandle(STD_OUTPUT_HANDLE);SetColor(11);/*设定颜色*/SetColor(LineNo_Color);printf("LR12345678910111213141516171819n");for(i=0;i<N;i+)(SetColor(Check_Color);printf(-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|n"

10、;);SetColor(RowNo_Color);printf("%2d",i+1);SetColor(Check_Color);printf(T);for(j=0;j<N;j+)(if(aij='X')SetColor(X_Color);elseSetColor(O_Color);printf(-%c",aij);SetColor(Check_Color);printf("|”);printf("n");printf(-|-+-|-|-+-|-|-+-|-|-|n”);intGame_Over1(int(*a)

11、N,intchess_symbol)/*"-"形或者"|"形呈龙(事实上"-"与"|"关于""对称)*/(inti,j,k,l,r;for(i=0;i<N;i+)for(k=0;k<N-4;k+)(l=r=0;for(j=k;j<k+5;j+)/*algorithmerror:"j<k+5;"not"j<j+5;"*/(if(aij=chess_symbol)/*"-"形呈龙*/l+;if(aji=ches

12、s_symbol)/*"|"形呈龙*/r+;if(l=5|r=5)/*连续的5个棋子在一条直线上时,游戏结束*/return1;return0;intGame_Over2(int(*a)N,intchess_symbol)/*""形呈龙*/(inti,j,k,m,LeftDown,RightUp;for(m=0;m<N-4;m+)for(k=0;k<N-4-m;k+)(RightUp=LeftDown=0;for(i=k,j=k+m;i<k+5;i+,j+)(if(aij=chess_symbol)/*对角线""上及

13、其右上方的""形呈龙*/RightUp+;if(aji=chess_symbol)/*对角线""上及其左下方的""形呈龙*/LeftDown+;if(RightUp=5|LeftDown=5)return1;return0;intGame_Over3(int(*a)N,intchess_symbol)/*"/"形呈龙*/inti,j,k,m,LeftUp,RightDown;for(m=N-1;m>=4;m-)for(k=0;k<m+1-4;k+)RightDown=LeftUp=0;for(i=k,j

14、=m-k;i<k+5;i+,j-)if(aij=chess_symbol)/*对角线"/"上及其左上方的"/"形呈龙*/LeftUp+;if(aN-1-jN-1-i=chess_symbol)/*对角线"/"上及其右下方的"/"形呈龙*/RightDown+;/*上面应该是"aN-1-jN-1-i",而不是"aN-jN-i"*/if(RightDown=5|LeftUp=5)return1;return0;/*以上三个函数通过遍历棋盘所有的可能呈龙情况以判定游戏是否ov

15、er了*/intSave_Chess(int(*a)N,char*ss)/*保存棋局*/inti,j;FILE*fp;if(strcmp(ss,"save")=0)/*保存当前未结束的棋局*/if(fp=fopen("Save.sav","w")=NULL)printf("Can'topenfile"Save.sav"!n");return0;elseprintf("当前棋局已经成功保存到存档文件"Save.sav"中!n");else/*保存棋局

16、终局*/if(fp=fopen("Ending.txt","a")=NULL)(printf("Can'topenfile"Ending.txt"!n");return0;elseprintf("棋局终局已经成功保存到文本文件"Ending.txt"中!n");fprintf(fp,"LR12345678910111213141516171819n");for(i=0;i<N;i+)(fprintf(fp,"|-|-|-|-|-|-

17、|-|-|-|-|-|-|-|-|-|-|-|-|-|n");fprintf(fp,"%2d|",i+1);for(j=0;j<N;j+)fprintf(fp,"%c|",aij);fprintf(fp,"n");fprintf(fp,"|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|n");fclose(fp);return1;intSave_Options()/*保存游戏设定*/(FILE*fp;if(fp=fopen("Config.ini",

18、"w")=NULL)(printf("Can'topenfile"Config.ini"!n");return0;fprintf(fp,"LineNo_Color=%dnRowNo_Color=%dnCheck_Color=%dnX_Color=%dn”LineNo_Color,RowNo_Color,Check_Color,X_Color);fprintf(fp,"O_Color=%dnMenu_Color=%dnGame_Options_Color=%dn”,O_Color,Menu_ColorGame

19、_Options_Color);fprintf(fp,"Help_Color=%dnOpen_Sound=%dnAuto_Save_Ending=%dn”,Help_Color,Open_Sound,Auto_Save_Ending);fclose(fp);printf("当前游戏设定已经成功保存到配置文件"Config.ini"中!n");return1;intLoad_Chess(int(*a)N)/*读取棋局*/(intj,k,X_Number=0,O_Number=0;charc;doublei=-1.5;FILE*fp;if(fp=f

20、open("Save.sav”,"r")=NULL)/*检测存档文件"Save.sav"是否在当前目录下*/return0;Init_Chess(a);/*先初始化棋盘*/c=fgetc(fp);while(c!=EOF)(if(c='X')X_Number+;elseif(c='O')O_Number+;c=fgetc(fp);if(X_Number-O_Number>1|X_Number-O_Number<-1)/*检查棋盘数据是否合法*/return-1;rewind(fp);/*文件指针移至文

21、件首*/c=fgetc(fp);while(c!=EOF&&i<N)/*确保数组不越界*/(if(c='n')(i+=0.5;k=0;if(c='X')(j=k/4-1;/*棋盘数据的分布规律*/a(int)ij='X'/*读取档案数据*/if(c='O')(j=k/4-1;a(int)ij='O'c=fgetc(fp);k+;fclose(fp);returnX_Number>O_Number?2:1;/*返回读档后的优先下棋的玩家*/intLoad_Options()/*读取游戏设定

22、*/(charc;shortOption_Value10=0,i=0;FILE*fp;if(fp=fopen("Config.ini","r")=NULL)/*检测配置文件"Config.ini"是否在当前目录下*/return0;c=fgetc(fp);while(c!=EOF)if(c<='9'&&c>='0')Option_Valuei=10*Option_Valuei+c-'0'/*"c-'0'",not"

23、c"*/if(c='n')if(Option_Valuei<1&&i<8)/*确保颜色属性值合法,即不小于1*/return-1;i+;c=fgetc(fp);fclose(fp);LineNo_Color=Option_Value0;/*加载配置文件"Config.ini"中的设定*/RowNo_Color=Option_Value1;Check_Color=Option_Value2;X_Color=Option_Value3;O_Color=Option_Value4;Menu_Color=Option_Value

24、5;Game_Options_Color=Option_Value6;Help_Color=Option_Value7;Open_Sound=Option_Value8;Auto_Save_Ending=Option_Value9;return1;intGame_Options()/*游戏设定*/HANDLEsetcolor=GetStdHandle(STD_OUTPUT_HANDLE);inttemp;shorti;chars10;while(1)system("cls");SetColor(11);SetColor(Game_Options_Color);printf(

25、"*-*-*-*-*-*-*Game_Options*-*-*-*-*-*-*n");printf("1.查看各种颜色的属性值(1-15);n");printf(-2.设定行序号的颜色;n");printf(-3.设定列序号的颜色;n");printf("4.设定棋局格线(棋盘)的颜色;n");printf("5.设定玩家1的棋子的颜色;n");printf("6.设定玩家2的棋子的颜色;n");printf("7.设定游戏主菜单Game_Menu的颜色;n&quo

26、t;);printf("8.设定游戏设定菜单Game_Options的颜色;n");printf(-9.设定'"关于游戏'"的颜色;n");printf("10.设定是否开启游戏提示音;n");printf("11.设定是否开启棋局终局自动保存;n");printf("12.保存当前设定到配置文件Config.ini中;n");printf("13.加载配置文件Config.ini中的设定;n");printf("14.恢复游戏设定至默认值

27、;n");printf("15.退出游戏设定菜单Game_Options.n");printf("请输入一个整数以决定你要设定的项目:");scanf("%s”,s);temp=String_to_Int(s,15);switch(temp)case1:system("cls");for(i=1;i<16;i+)SetColor(i);printf("%d是当前其显示的颜色的属性值!n",i);break;case2:printf(-请输入行序号颜色的属性值(1-15):");s

28、canf("%s",s);temp=String_to_Int(s,15);if(temp>0)LineNo_Color=temp;printf(-已成功设定行序号的颜色!n");elserintf(-非法的颜色属性值!n");break;case3:printf(-请输入列序号颜色的属性值(1-15):");scanf("%s",s);temp=String_to_Int(s,15);if(temp>0)RowNo_Color=temp;printf(-已成功设定列序号的颜色!n");elseprin

29、tf(-非法的颜色属性值!n");break;case4:printf(-请输入棋局格线(棋盘)颜色的属性值(1-15):");scanf("%s”,s);temp=String_to_Int(s,15);if(temp>0)(Check_Color=temp;printf("已成功设定棋局格线(棋盘)的颜色!n");elseprintf(-非法的颜色属性值!n");break;case5:printf(-请输入玩家1的棋子(棋子符号'X')颜色的属性值(1-15):");scanf("%s&

30、quot;,s);temp=String_to_Int(s,15);if(temp>0)(X_Color=temp;printf("已成功设定玩家1的棋子的颜色!n");elseprintf("非法的颜色属性值!n");break;case6:printf("请输入玩家2的棋子(棋子符号'O')颜色的属性值(1-15):");scanf("%s",s);temp=String_to_Int(s,15);if(temp>0)(O_Color=temp;printf("已成功设定玩

31、家2的棋子的颜色!n");elseprintf("非法的颜色属性值!n");break;case7:printf("请输入游戏主菜单Game_Menu的颜色的属性值(1-15):");scanf("%s",s);temp=String_to_Int(s,15);if(temp>0)(Menu_Color=temp;printf("已成功设定游戏主菜单Game_Menu的颜色!n");elseprintf("非法的颜色属性值!n");break;case8:printf("

32、;请输入游戏设定菜单Game_Options的颜色的属性值(1-15):");scanf("%s",s);temp=String_to_Int(s,15);if(temp>0)(Game_Options_Color=temp;printf("已成功设定游戏设定菜单Game_Options的颜色!n");elseprintf("非法的颜色属性值!n");break;case9:printf("请输入'”关于游戏'”的颜色的属性值(1-15):");scanf("%s"

33、;,s);temp=String_to_Int(s,15);if(temp>0)(Help_Color=temp;printf("已成功设定'”关于游戏'”的颜色!n");elseprintf("非法的颜色属性值!n");break;case10:printf("请输入"yes"(不含引号",下同)开启游戏提示音或输入"no"关闭游戏提示音:,scanf("%s",s);if(strcmp(s,"yes")=0)(Open_Sound

34、=1;printf("游戏提示音已开启!n");elseif(strcmp(s,"no")=0)(Open_Sound=0;printf("游戏提示音已关闭!n");elseprintf(-对不起,输入错误!n");break;case11:printf("请输入"yes"开启棋局终局自动保存或输入"no"关闭自动保存:");scanf("%s”,s);if(strcmp(s,"yes")=0)(Auto_Save_Ending=1;p

35、rintf("棋局终局自动保存已开启!n");elseif(strcmp(s,"no")=0)(Auto_Save_Ending=0;printf("棋局终局自动保存已关闭!n");elseprintf("对不起,输入错误!n");break;case12:Save_Options();break;case13:temp=Load_Options();/*读取配置文件"Config.ini"中的游戏设定,并检查配置文件数据是否合法*/if(temp=0)printf("对不起,无法打开

36、配置文件"Config.ini"!n请确保配置文件"Config.ini"在当前文件夹下.n");elseif(temp=-1)printf("对不起,无法加载配置文件"Config.ini"!因为文件中存在非法数据.n");elseif(temp=1)printf("已经成功读取配置文件"Config.ini"中的游戏设定!n");break;case14:LineNo_Color=15;/*加载游戏设定的默认值*/RowNo_Color=15;Check_Col

37、or=6;X_Color=10;O_Color=12;Menu_Color=7;Game_Options_Color=7;Help_Color=7;Open_Sound=1;Auto_Save_Ending=1;printf(-游戏设定已经恢复为默认值!n");break;case15:return0;default:printf("对不起,输入错误!请在游戏设定菜单Game_Options中重新输入.n");SetColor(Game_Options_Color);printf("按任意键返回游戏设定菜单Game_Options.");get

38、ch();return1;voidAbout_Game()/*游戏帮助*/(HANDLEsetcolor=GetStdHandle(STD_OUTPUT_HANDLE);system("cls");SetColor(11);SetColor(Help_Color);printf("玩家1和玩家2轮流在棋盘(19X19)上任意空闲位置(没有棋子)放置一个棋子,放置的方法是输入要放置的棋子的位置(即该棋子所在");printf("的行的序号和所在的列的序号,棋盘中L、R分别表示行(Line)、列(Row),同一玩家所放棋子中任意五个或五个以上棋子较

39、先呈现");printf("连续在同一直线(四种形式|、-、/、)上的玩家获胜!nn2.游戏操作:nn");printf("(1)在游戏主菜单"Game_Menu"中输入相应的数字并回车即可执行相应的操作,第一次玩请先输入5并回车查看游戏帮助,然后返");printf("回"Game_Menu”后输入1并回车选择"新的棋局”开始游戏."新的棋局”将开始一场新的游戏,棋盘数据将被初始化,在进行“新");printf("的棋局"前有必要的话(比如第n次玩,n&

40、gt;1且是整数)请注意保存之前的棋局;nn1/4n按任一键跳至下一页");getch();system("cls");printf("(2)"新的棋局"开始后如果中途想返回游戏主菜单"Game_Menu"执行其他操作请在"请输入要放的棋子所在的行(L)的序号:”时");printf(-输入“exit”(不含引号,下同)并回车即可,如果想要继续游戏的话请输入2并回车选择“继续当前棋局”,注意“当前棋局”指的");printf(-是在游戏程序没有关闭情况下的当前棋局,如果没有进行游戏,则

41、当前棋局则为空棋局;nn");printf("(3)如果想保存棋局请在"请输入要放的棋子所在的行(L)的序号:”时输入"save”即可将当前棋局存至存档文件Save.sav中,并");printf("且存档文件会自动在游戏主程序"五子棋.exe”所在的文件夹(目录)下建立,以便下次启动游戏时可以在“游戏主菜单”中输入3");printf("并回车选择"从文件中读取已存档的棋局"继续游戏;nn");printf("(4)关于游戏设定中设定颜色时,请在游戏设定菜单&qu

42、ot;Game_Options"先输入1查看各种颜色对应的属性值(范围1-15),然后根据个");printf("人喜好(输入颜色的属性值以)设定各个选项的颜色;nn");printf("(5)"游戏提示音”是在游戏进行过程中对玩家的非法输入和玩家的获胜进行提醒的,“棋局终局自动保存”是任一玩家获胜后游戏");printf("自动对棋局终局的保存,终局保存在Ending.txt中,以便玩家在游戏结束后对棋局进行研究;nn2/4n按任一键跳至下一页");getch();system("cls&qu

43、ot;);printf("(6)游戏设定是可以保存在配置文件“Config.ini”中,配置文件中各参数及值(以下是默认值)的意义分别是:LineNo_Color=15(");printf("行序号颜色=亮白),RowNo_Color=15(列序号颜色=亮白),Check_Color=6(棋局格线(棋盘)颜色=暗黄),X_Color=10(玩家1的棋子");printf("颜色=鲜绿),O_Color=12(玩家2的棋子颜色=鲜红),Menu_Color=7(游戏主菜单颜色=白),Game_Options_Color=7(游戏设定菜单"

44、;);printf("颜色=白),Help_Color=7("关于游戏"颜色=白),Open_Sound=1(是否开启提示音=是),Auto_Save_Ending=1(是否开启棋局终局");printf(-自动保存=是).内行的玩家可以在配置文件中对游戏的各个选项进行设定,制在1-255,提示音及自动保存的");printf(-值只有两个,分别是0(关)和1(开),注意修改时请不要更改文本内容结构先加载Config.ini中的设定,如果");printf("没有Config.ini,则加载默认的设定;nn");p

45、rintf("(7)棋局存档只能存一个,多次存档会覆盖,并且以最后一次存的档案为准,棋局终局自动保存则是以追加的");printf(-方式保存,即每次的棋局终局都将保存,所以此功能请慎用,因为文本文件家的多次试玩会越来越大,系统默");printf(-认是开启自动保存,主要是想让玩家可以预览此项功能理文件Ending.txt,以免浪费存储");printf(-空间.读取档案时请确保相应存档文件与游戏主程序“五子棋且尽量不要自行修改存档数据,");printf("以免发生错误.nn3/4n按任一键跳至下一页");getch()

46、;system("cls");printf("3.游戏说明:n(1)启动游戏后请将游戏窗口最大化并将右侧的滚动条滑至最上端以获得最佳的游戏显示效果;nn")但是颜色属性值请控!每次启动游戏时都是游戏设定存档也是.Ending.txt将随玩<A+A>/.如果已开启此功能,请定期清.exe”在同一文件夹(目录)下,而intmain()(intaNN,i,j,player=1,temp;/*玩家1先下棋*/chars10;HANDLEsetcolor=GetStdHandle(STD_OUTPUT_HANDLE);Init_Chess(a);/*初

47、始化棋局*/Load_Optins();/*加载配置文件”Config.ini”中的游戏设定,如果配置文件不在当前目录下,则游戏设定为默认值*/while(1)(system("cls");SetColor(11);printf("Asimplequintetgame,hopeyoucanenjoy!<A+A>/n");SetColor(Menu_Color);printf("1.新的棋局;n");printf("2.继续当前棋局;n");printf("3.从文件中读取已存档的棋局;n&qu

48、ot;);printf("4.游戏设定;n");printf("5.关于游戏;n");printf("6.退出游戏.n");printf(-请先输入一个数(1-6)后按"Enter"键执行相应操作:");scanf("%s”,s);temp=String_to_Int(s,6);switch(temp)(case1:Init_Chess(a);player=1;loop:while(1)(system("cls");Print_Chess(a);/*输出即时棋局*/SetCo

49、lor(Menu_Color);printf("玩家%d(棋子符号:'",player);/*游戏玩家下棋提示*/if(player=1)SetColor(X_Color);elseSetColor(O_Color);printf("%c",player=1?'X':'O');SetColor(Menu_Color);printf("')下棋:n");printf("请输入要放的棋子所在的行(L)的序号:");scanf("%s",s);if(st

50、rcmp(s,"save")=0)/*输入"save"保存当前棋局至文件"Save.sav"中*/(Save_Chess(a,"save");break;elseif(strcmp(s,"exit")=0)/*输入"exit"暂停游戏并返回游戏主菜单GAME_MENU*/break;i=String_to_Int(s,N);/*显然,i<=N*/if(i<1)/*检测输入的数据是否合法*/(printf("a");printf(-对不起,输入错

51、误!请按任意键返回后重新输入棋子位置.");/*输入错误提示*/getch();else(printf("请输入要放的棋子所在的列(R)的序号:");scanf("%s”,s);j=String_to_Int(s,N);if(j<1|ai-1j-1!='')/*检测输入的位置是否不合法:即该位置是否有棋子*/(if(Open_Sound)printf("a");printf(-对不起,输入错误!请按任意键返回后重新输入棋子位置.");getch();elseif(player=1)(ai-1j-1=&#

52、39;X'if(Game_Over1(a,'X')|Game_Over2(a,'X')|Game_Over3(a,'X')/*检测玩家1是否胜出*/(system("cls");Print_Chess(a);if(Open_Sound)printf("aa");SetColor(X_Color);printf("恭喜!玩家1获胜!<A+A>/n");if(Auto_Save_Ending)Save_Chess(a,"ending");break;p

53、layer=2;/*轮到玩家2下棋了*/else(ai-1j-1='O'if(Game_Over1(a,'O')|Game_Over2(a,'O')|Game_Over3(a,'O')/*检测玩家2是否胜出*/(system("cls");Print_Chess(a);SetColor(O_Color);if(Open_Sound)printf("aa");printf("恭喜!玩家2获胜!<人+人>/叩);if(Auto_Save_Ending)Save_Chess(a,"ending");break;player=1;/*轮到玩家1下棋了*/break;case2:if(Game_Over1(a,'X')|Game_Over2(a,'X')|Game_Over3(a,'X')(system("cls

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论