四子棋课程设计报告报告.doc

上传人:李司机 文档编号:1180163 上传时间:2022-07-14 格式:DOC 页数:11 大小:152.88KB
返回 下载 相关 举报
四子棋课程设计报告报告.doc_第1页
第1页 / 共11页
四子棋课程设计报告报告.doc_第2页
第2页 / 共11页
四子棋课程设计报告报告.doc_第3页
第3页 / 共11页
四子棋课程设计报告报告.doc_第4页
第4页 / 共11页
四子棋课程设计报告报告.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《四子棋课程设计报告报告.doc》由会员分享,可在线阅读,更多相关《四子棋课程设计报告报告.doc(11页珍藏版)》请在三一办公上搜索。

1、计算15级C语言课程设计报告题目: 四子棋游戏课程设计任务书题目四子棋课程设计一、 设计容及要求容:设计一个四子棋游戏程序,棋盘为11*12,先到达4子成一条线即完毕游戏。(该程序在DOS下运行)。要求:1画出棋盘界面。 2定义键盘的功能,可以实现棋子左右移动及落子。 3棋子不能悬空,落子后不能再移动。 4人、人分别落子。 5用不同的颜色区分各方的棋子。 6撰写设计说明书及调试心得。二、 设计原始资料C程序设计第四版谭浩强 著C语言程序设计实验指导与实训中国水利水电三、设计完成后提交的文件和图表1计算说明书局部课程设计报告同时提交纸质版和电子版源程序电子版程序的可执行文件.e*e电子版2图纸局

2、部:程序主流程图:流程图开场 画棋盘控制游戏开场,并且玩家落子写棋子并计算棋子的位子判断棋盘中是否有横,竖,斜线上是否有四子练成直线。是否继续落子,直到下完完毕四、进程安排此处按照2周安排,前几天以查阅资料、分析问题、设计方案为主描述;中间以设计编程测试为主描述;最后以测试完善为主描述,第2周周五进展辩论,完成辩论后则整理资料撰写课程设计报告。五、主要参考资料C程序设计第四版谭浩强 著C语言程序设计实验指导与实训中国水利水电目录1课程设计的任务及要求1.1设计任务1.2任务要求2程序设计思路2.1主程序及流程图2.2棋盘及棋子的绘制2.3判断胜负3程序测试3.1开场界面3.2输赢情况4程序中未

3、能解决的问题5程序设计小结及心得摘要四子棋的程序中包含许多模块,其中有棋盘的绘制,棋子的绘制以及棋子坐标位置的计算,棋子胜负的算法等等,在主程序中需要将这些模块起来。1. 课程设计的任务及要求1.1设计任务设计一个四子棋游戏程序,棋盘为12*11,先到达4子成一条线即完毕游戏。 (该程序在DOS下运行)。1.2任务要求1画出棋盘界面。2定义键盘的功能,可以实现棋子左右移动及落子。3棋子不能悬空,落子后不能再移动。4人、人分别落子。5用不同的颜色区分各方的棋子。6撰写设计说明书及调试心得。2.程序设计思路2.1主程序流程图程序主流程图:开场控制游戏开场,并且玩家落子写棋子并计算棋子的位子 画棋盘

4、判断棋盘中是否有横,竖,斜线上是否有四子练成直线。是否继续落子,直到下完完毕2.2棋盘及棋子的绘制 开场划线画出上边框利用循环画出竖线加棋子画出上边框 完成划线绘制棋盘代码:void qipan()int i,j;printf( 退出请选择0! n);printf( n);printf( n);printf( n);for(i=10;i=0;i-)printf( );for(j=0;j0)printf(n n);if(i=0)printf(n n);2.3判断胜负胜负判断的算法:该算法的作用主要是判断玩家的落子后是否构成胜负关系,以及给出胜负的具体一方,该算法主要是通过一个二维数组来表示棋子的

5、位置,通过计算*个棋子周围3个棋子的颜色来判断是否胜利。程序源代码:以黑棋胜利为例,白棋同理int a,b,c,d;a,b代表所下棋子的坐标d=0;c代表向各个方向找3个棋子for(a=0;a=11;a+)d代表一样棋子的个数for(b=0;b0)if(Lab=2)for(c=3;c=-3;c-)if(La-cb=2)d+;else d=0;if(d=4)d=0;printf(黑方胜。);竖4子胜利情况return 0;for(c=3;c=-3;c-)if(Lab-c=2)d+;else d=0;if(d=4)d=0;printf(黑方胜。);横4子胜利情况return 0;for(c=3;c

6、=-3;c-)if(La+cb+c=2) d+;else d=0;if(d=4)d=0;printf(黑方胜。);撇4子胜利情况return 0;for(c=3;c=-3;c-)if(La+cb-c=2) d+;else d=0;if(d=4)d=0;printf(黑方胜。);捺4子胜利情况return 0;3.程序测试3.1进入游戏3.2胜利情况测试4程序中未能解决的问题 这个程序有个很大的缺乏之处,在填满整个棋盘的过程中游戏会中途崩盘,自动退出到开场界面。希望在今后的学习中能够解决这一问题。5程序设计心得这次课程设计使我使我认识到我在C语言学习上的很多严重缺乏,现在算法编制不简洁,程序冗长,出现即使是自己编写的也造成很难读懂的情况,对一些命令认识有很大的疏漏,对命令的含义和使用方法理解的不够深刻。通过这次的课程设计,对我编程方法掌握时有很大帮助,我发现并解决了平常一些不明显但实际上却很严重的问题,我对模块化的编程方式也有了更深的理解,我想我会在以后的课程设计中克制这次课程设计所暴露的问题,不在犯类似的错误。对于程序中难以解决的问题,可以尝试通过小组合作解决,小组合作解决不了就一定要多请教教师不能放着不管。软件的设计依靠团体中的每一个人共同努力,相互协作,才能做到最好。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号