版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东交通学院计算15级C语言课程设计报告题目: 四子棋游戏院(系、部) 信息科学与电气工程学院专 业 计算机科学与技术 班 级 计算151 学 号 150811120 姓 名 刘高伟 指导教师 李克峰 完成时间 成 绩 课程设计报告规范课 程 设 计 任 务 书题 目 四子棋课程设计 院 (部) 信息科学与电气工程学院 专 业 计算机科学与技术 班 级 151 学生姓名 刘高伟 学 号 150811120 3 月 7 日至 3 月 20 日 共 2 周指导教师(签字) 负责人(签字) 年 月 日一、 设计内容及要求内容:设计一个四子棋游戏程序,棋盘为11X12,先达到4子成一条线即结束游戏。&
2、#160;(该程序在DOS下运行)。要求:(1)画出棋盘界面。 (2)定义键盘的功能,可以实现棋子左右移动及落子。 (3)棋子不能悬空,落子后不能再移动。 (4)人、人分别落子。 (5)用不同的颜色区分各方的棋子。 (6)撰写设计说明书及调试心得。二、 设计原始资料C程序设计(第四版)谭浩强 著C语言程序设计实验指导与实训中国水利水电出版社三、设计完成后提交的文件和图表1计算说明书部分课程设计报告(同时提交纸质版和电子版)源程序(电子版)程序的可执行文件(.exe)(电子版)2图纸部分:程序主流程图:流程图开始 画棋盘控制游戏开始,并且玩家落子写棋子并计算棋子的位子判断棋盘中是否有横,竖,斜线
3、上是否有四子练成直线。是否继续落子,直到下完结束四、进程安排此处按照2周安排,前几天以查阅资料、分析问题、设计方案为主描述;中间以设计编程测试为主描述;最后以测试完善为主描述,第2周周五进行答辩,完成答辩后则整理资料撰写课程设计报告。五、主要参考资料C程序设计(第四版)谭浩强 著C语言程序设计实验指导与实训中国水利水电出版社目 录1课程设计的任务及要求1.1设计任务1.2任务要求2程序设计思路2.1主程序及流程图2.2棋盘及棋子的绘制2.3判断胜负3程序测试3.1开始界面3.2输赢情况4程序中未能解决的问题5程序设计小结及心得摘 要四子棋的程序中包含许多模块,其中有棋盘的绘制,棋子的绘制以及棋
4、子坐标位置的计算,棋子胜负的算法等等,在主程序中需要将这些模块链接起来。1. 课程设计的任务及要求1.1设计任务设计一个四子棋游戏程序,棋盘为12X11,先达到4子成一条线即结束游戏。 (该程序在DOS下运行)。1.2任务要求 (1)画出棋盘界面。 (2)定义键盘的功能,可以实现棋子左右移动及落子。(3)棋子不能悬空,落子后不能再移动。 (4)人、人分别落子。 (5)用不同的颜色区分各方的棋子。 (6)撰写设计说明书及调试心得。2.程序设计思路2.1主程序流程图 程序主流程图: 开始控制游戏开始,并且玩家落子写棋子并计算棋子的位子 画
5、棋盘判断棋盘中是否有横,竖,斜线上是否有四子练成直线。是否继续落子,直到下完结束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;j<=11;j+)if(Lij=0)printf(" "
6、);if(Lij=2)printf("");if(Lij=3)printf("");if(i>0)printf("n n");if(i=0)printf("n n");2.3判断胜负胜负判断的算法:该算法的作用主要是判断玩家的落子后是否构成胜负关系,以及给出胜负的具体一方,该算法主要是通过一个二维数组来表示棋子的位置,通过计算某个棋子周围3个棋子的颜色来判断是否胜利。程序源代码:(以黑棋胜利为例,白棋同理)int a,b,c,d; a,b代表所下棋子的坐标d=0; c代表向各个方向找3个棋子for(a=0;a
7、<=11;a+) d代表相同棋子的个数for(b=0;b<=10;b+)if(Lab>0)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>=-3;c-)if(La+cb+c=2) d+;else d=0;i
8、f(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语言学习上的很多严重不足,现在算法编制不简洁,程序冗长,出现即使是自己编写的也造成很难读懂的情况,对一些命令认识有很大的疏漏,对命令的含义和使用方法理解的不够深刻。通过这次的课程设计,对我编程方法掌握时有很大帮助,我发现并解决了平常一些不明显但实际上却很严重的问题,我对模块化的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年会计职称(初级)综合提升练习试题含答案详解【达标题】
- 全国范围内网络安全培训试题
- 小学三年级语文《犟龟》核心素养导向下预测策略单元整体教学导学案
- 基于核心素养的初中语文传记类作品教学研究
- 小学英语四年级下册 Unit 2 What time is it Part A Let's spell 语音教学整合设计
- 初中英语八年级上册 Unit 2 Home Sweet Home Section B 3a3c 核心素养导向下读写结合教学设计与实施
- 小学语文五年级下册《祖父的园子》核心素养导向教学设计
- 核心素养导向下的初中历史九年级单元整体复习教案:社会主义道路的探索与当代国家发展路径的多元审视
- 初中数学八年级下册《描点法绘制函数图象》教学设计
- 初中八年级物理下册《科学探究:杠杆的平衡条件》教案
- 北京全国性体育社会组织2025年秋季招聘50人笔试历年参考题库附带答案详解
- 2025安徽省皖能资本投资有限公司招聘2人笔试历年参考题库附带答案详解
- 黑脸包公课件
- 国家事业单位招聘2024经济日报社招聘25人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 新《金融机构客户尽职调查和客户身份资料及交易记录保存管理办法》解读课件
- 2025年民用无人机驾驶航空器操控员理论合格证考试答案
- 虚拟制片课件
- 《网店运营》职业教育全套教学课件
- 原创新形势下大学生国家安全教育论文1500
- 维修燃气锅炉合同范本
- 2025年高三数学高考基础题巩固模拟试题
评论
0/150
提交评论