c语言五子棋的设计与实现课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言五子棋的设计与实现课程设计
学生课程设计报告五子棋的设计与实现
一、课程设计内容
该程序是经过C++编写,具备存储,调用,修改和查询学生基本信息的管理系统,该程序并嵌入了五子棋游戏作为附加应用。嵌入的五子棋程序具备自动输出表格功能,并经过双人对弈实现该游戏的操作,而且该程序中的函数具备判断胜负方的功能
二、技术路线
以C、c++语言为编程语言,组合不同功能的函数进行功能的叠加
三、设计与实现
1.五子棋的设计与实现:
(1)首先画棋盘,用一个19*19的二维数组来画棋盘。
(2)设计一个转义函数:把二维数组的内容转义成符号。
(3)设计一个判断函数,分别对白黑子从横、竖、左斜、右斜四个方向判断是否连成五子,每个方向分成两部
分,每个部分用一个循环来完成是否连成五子的判断。
只要连成了五子,返回一个值来记录。例如其中的一个
判断竖直方向的代码(其它的类似):for(int
i=0;i<5;i++)//竖直是否连成五子的判断
{if(h-i-1>-1 && stone[h-i-1][l]=='o') js+=1;
else break;}
for(int j=0;j<5;j++)
{if(h+j+1<20 && stone[h+j+1][l]=='o') js+=1;
else break;}
if(js>=5){system("cls");return 0;}
(4)接下来是主函数:主函数里面需要对输入的键盘操作进行判断,上下左右分别对应不同的操作,分别把光标
上下左右移动,空格键表示下子,对应的sign、lasth、
lastl变化(因为sign提示该谁下子了,lasth、lastl记录下子
的位置)h表示悔棋,只需将lasth、lastl的位置数组元素
清零。根据判断函数返回值告诉玩家谁赢了,,下棋总
次数为奇数则黑棋走,偶数白棋走。
2.学生信息管理系统的设计与实现
该程序经过分模块进行组合编写,信息管理系统模块经过C语言构造了学生信息的结构体,而且创立了查看函数、保存函数、打开函数、颜色函数等功能函数分别完成信息管理系统的存储信息、查找信息、修改信息等功能。颜色函数的调用实现了界面的美观性,主函数中的switch语句的使用实现了信息管理系统的选择功能,并能够经过界面选项为入口选择进行信息系统管理和游戏。
{
case 1:type();break; /*调用键入学生信息函数*/