- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言课程设计》实验指导书-学生版
《C语言课程设计》实验指导书
一、目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际环境和实践编程的能力。在《C语言程序设计》理论教学结束之后,立即实施具有综合性、趣味性、启发性的案例教学,加深学生对C语言相关知识的理解,初步建立学生进行程序设计的各种能力(包括初步的阅读、编程、调试以及测试能力、初步的算法分析和设计能力、初步的系统分析能力等)。对不同能力的学生实施因材施教,对于能力一般的学生教学着重点在基础知识的扎实掌握、复杂系统实施过程的初步观摩以及阅读、编程和调试技能的强化训练等方面,并培养学生对后续课程的学习兴趣;对于能力较强的学生培养着重点在算法分析和设计、独立进行简单软件系统实施等能力。
二、内容及要求
利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,让学生自己到图书馆查阅资料或网上咨询独立完成程序的编写,并能运用学过的技巧独立上机调试完成。
三、C语言课程设计案例案例二
(1) 案例名称:黑白棋
(2) 案例的目的
黑白棋:练习C语言数组、函数和多重循环的相关知识,掌握C语言绘图的基本方法,通过游戏提高学生的学习兴趣,启发学生对博弈算法的思考,提高对VC++程序设计、人工智能等后续课程的学习热情。
(3) 案例覆盖知识点
二维数组、函数和子程序设计、分支嵌套和多重循环、DOS下C语言绘图的基本方法
(4) 案例培养学生哪方面能力
首先,作为一个简单的游戏,可以培养学生独立分析系统需求的能力,让学生进行系统功能模块划分的练习;其次,游戏中需要考虑的情况较多,可以培养学生复杂分支和多重循环的设计能力;掌握C语言绘图的基本方法,为以后进行Windows程序设计打下基础;对于有能力的学生,鼓励他们进行人机对战功能的实现,可以提高学生算法设计能力;或者鼓励学生进行游戏的Windows改进,为后续的可视化程序设计奠定基础。
(5) 做该案例需具体的前趋知识
无
(6) 案例需求描述
黑白棋游戏是一个深受人们喜爱的游戏,通常是人机对奕,本程序设计为人与人对奕,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己棋子的数目多于对方。按键盘上的方向键可以上下左右移动棋子,按回车键可以摆放棋子。
黑白棋规则:
1)两人对奕,以轮流方式持黑子与白子。
2)开辟新局者持白子,加入者持黑子,之后以轮流方式将棋子置于棋盘格子中。
3)在提示的格子中,选择一个格子下子)
(7) 需求分析描述文档
黑白棋的游戏是要在一个8*8的网格中进行,而数组属于构造体类型,数组是具有相同数据类型的变量序列,序列中的每个变量成为元素,数组元素由一个统一标识的数组名和顺序好“下标”来表示。需要在游戏中定义一个二维数从而实现游戏的走棋、落棋、判断棋盘的变化等。
游戏不同于基于C语言的其他程序(如学生成绩管理系统、教务工作管理系统、图书管理系统等)由于游戏本身的问地就在于缓解压力,所以基于C语言设计的游戏需要一个良好的游戏界面,给游戏者以轻松和愉快的感觉。TURBO C提供了70多个图形函数,这些函数包括在图形库文件graphics.LIB中,被定义在graphics.h中。有强大的图形处理能力,去设计一个良好的人机交流界面是可行的。
由于此游戏采用的是“人人对战”的模式,所以在游戏时,需要两个游戏者轮流下棋,棋手1走棋完毕后,经过判断棋盘变化过程后棋手2走棋,游戏过程需要在棋手间不断进行转化。在C语言中,提供了包括if……elseswitch……case等分支语句,综合运用这些分支语句,可以完成上述转化。
黑白棋游戏双方共需要走棋6手,每次走棋后,都需要根据相同的标准判断棋盘变化,来判断旗子颜色的变化情况。显然需要运用循环语句来简化编程的长度。C语言中提供了while\for等循环语句可以实现上述功能。
游戏需要操作和输出显示游戏的结果,游戏的操作要由计算机的外部设备在人的操作下完成。C语言本身并不提供输入和输出语句,输入和输出的操作都是由函数来完成的,在C语言的标准库函数中提供了一些输入和输出的函数,这些函数的指针都是针对系统隐含指定的输入和输出设备的。综合运用这些输入和输出的函数可以实现上述的功能。
在中,通过调用绘制棋盘、棋手对战判断棋盘变化、改变棋子颜色等函数的调用来实现主函数的相应的功能子函数功能序号名称 功能 备注 初始化 初始化图形系统,画出棋盘 2 DrawQp 绘制棋盘和初始棋子 在棋盘中绘制8*8的格子,初始棋子 SetPlayColor 设置棋子第一次的颜色 先走棋者持白子,后走棋黑子,每次交替 Playtoplay 人人对战函数 俩棋手交替走棋,定
您可能关注的文档
最近下载
- RIGOL普源PVP2350 无源探头用户手册.pdf VIP
- 电气试验管理制度.docx VIP
- 考研真题东北农业大学食品学院816食品生物化学历年考研真题汇编.docx VIP
- 化学锚栓计算(修改版).xls VIP
- osi七层模型教学课件.ppt VIP
- 新民主主义革命理论PPT2024版毛泽东思想和中国特色社会主义理论体系概论课件.pptx VIP
- ZOOM声乐乐器L-12快速入门(Chinese)说明书用户手册[1].pptx VIP
- 《成人密闭式吸痰技术操作规范》.pdf VIP
- 《图纸会审(表格)》.docx VIP
- 北京市房屋租赁合同(2008版-新)【模板范本】 .pdf VIP
文档评论(0)