- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第22章节C语言程序课程的设计-游戏
第22章 C语言程序课程设计:游戏 前面学习了很多C语言的基础知识,很多读者已经对具体的应用稍有了解,但如何把一些零散的知识点贯穿起来,形式一个完整的项目,是一种技术上的突破。本章就通过几个好玩的游戏案例,从C语言本身的开发过程入手,教读者把前面的知识点再深入掌握一遍。 22.1 黑白棋 本节案例学习一个小游戏:黑白棋。从游戏开发的功能需要求开始,然后让读者知道究竟设计成一个什么样的结果,最后给出开发的代码。 22.1.1 程序功能要求 程序说明:黑白棋也叫苹果棋或翻转棋,它是一款经典的策略性游戏。它使用8×8的棋盘,分别由两人执黑子和白子轮流下棋,最后子多方为胜方。游戏中只要用自己的两个棋子夹住对方的棋子,便能使对方的棋子全部变色,变成自己的棋子颜色。到一方或双方都无子可下的时候,统计各方得分,保留棋子最多者就是胜者。 程序要求:根据黑白棋的规则,编制黑白棋游戏。 输出结果:绘制基础黑白棋面板,并能够进行游戏操作。 22.1.2 输入输出样例 黑白棋游戏就是要求在机器上实现黑白棋游戏的功能,程序的输出图示如图22-1所示。 22.1.3 程序分析 参阅黑白棋游戏的规则,可以知道该游戏的核心是:当其中一方的棋子夹住另一方的棋子后,被夹住的棋子要变色,如图22-2所示,变色后如图22-3。被夹住的棋子可以是在水平、垂直、斜线三个方向中的任意一个。为了便于理解本节的程序,下面介绍一些程序中用到的主要功能函数。程序的整体设计思路如图22-4。 22.1.4 程序初始化 程序初始化部分就是运行程序,开始进行黑白棋游戏。同时初始化棋盘标志数组board_flag,此数组为8行8列,记录棋盘每个方格的状态。其值含义如表22-1所示。 22.1.5 初始化图形设备 初始化图形设备就是在屏幕上绘制程序运行的图形界面,图形界面是程序可视化的基础,为此需要调用系统函数initgraph(int far *gdriver, int far *gmode, char far *path)函数初始化图形设备。函数的主要参数如下。 *gdriver:图形驱动序号变量指针; *gmode:图形驱动器模式序号变量指针;*pdriver:图形驱动程序所在目录路径; 22.1.6 绘制棋盘 棋盘是进行黑白棋游戏的基础,所有棋子都要在此平台上进行相应的操作,因此绘制8×8的棋盘要先于其他部分,该部分调用绘图函数,根据坐标绘制网格并进行填充。绘图结果如图22.1中所示,以下是绘制棋盘功能函数的具体实现代码。 22.1.7 交替绘制黑白棋 当黑棋在棋盘中确定落子以后,那么在棋子出现的初始位置应该马上显示白子;同理,当白棋在棋盘中确定落子以后,在棋子出现的初始位置应该马上出现黑子。程序中,棋子出现的初始位置的坐标设为(-1,0)。此时需要注意,棋子在初始位置时,只能往右移动,其他方向都不可移动。显示初始位置棋子和其颜色的函数为show_init(int pat);以下是可以移动的棋子出现在初始位置,交替出现黑白子的功能函数的具体实现代码。参数pat表明了棋子显示的颜色,当pat为0时,棋子为黑色;当pat为1时,棋子为白色。 22.1.8 游戏(同时判断是否有一方胜利) 游戏时移动棋子,需注意如下三点: 第一,只能在棋盘范围之内; 第二,移动到下一棋格后,回复当前棋格被占之前的状态; 第三,按Enter键,准备放置棋子时,需要判断当前位置是否符合放置棋子的条件。此部分流程如图22-5所示。 22.1.9 小结 在本节中,按照程序的要求和黑白棋的游戏规则,编制完成了黑白棋游戏。可以看出目前游戏执行后,可以进行双人游戏,已经初步达到了程序设计的目的和要求。但是程序缺少和电脑本身进行游戏的功能,并且游戏界面比较粗糙,需要进行更进一步的细化,有兴趣的读者可以参考图形图像处理章节进行进一步的改进。从本节中,主要是学习简单动绘制的实现、游戏过程的处理等方面编程的思路和方法。 22.2 五子棋 五子棋是很多手机上都带的游戏,是很多人休闲解压的一种方式,本节除介绍五子棋的玩法外,还详细介绍了其开发过程。 22.2.1 程序功能要求 程序说明:五子棋是一款经典的益智类游戏,通常是黑棋先行;五子棋专用盘为15×15方格 ,五个子的连接方向为横、竖、斜,当任一方的五个子在各个方向上连成一线,则该方获胜。 程序要求:按照程序说明编写五子棋程序,要求可以进行双人之间的游戏。 程序输出:输出棋盘、棋子、并能够进行响应的操作。 22.2.2 输入输出样例 根据程序要求,图22-5所示为程序运行结果。操作键盘,根据键盘左、右、上、下键来移动棋子。 22.2.3 程序分析 可以看出,这个程序依然是算法与图形图像处理的结合。不但要求对程序设计中处理过程算法的掌握,而且更重要
您可能关注的文档
最近下载
- 中国高尔夫差点系统会员入会申请书.doc
- 江苏国泰(002091)公司2023年财务分析研究报告.doc
- 2024执业药师继续教育药物分析(3)参考答案.docx
- DB11T 383-2023 建筑工程施工现场安全资料管理规程.docx
- 总体国家安全观授课.pptx VIP
- 一种聚4-甲基-1-戊烯中空纤维膜的制备方法.pdf VIP
- DB11T 1832.2-2023 建筑工程施工工艺规程 第2部分:防水工程.docx
- 普外科麻醉科运用PDCA循环提高患者术后自控镇痛有效率QCC品管圈成果汇报书.docx
- 海信BCD-203FH电冰箱使用说明书.pdf
- 哈工大尹海洁社会统计学(第2版)课后习题答案.docx
文档评论(0)