第22章 C语言程序课程设计:游戏管理.pptVIP

  • 3
  • 0
  • 约5.3千字
  • 约 41页
  • 2018-03-06 发布于湖北
  • 举报

第22章 C语言程序课程设计:游戏管理.ppt

第22章 C语言程序课程设计:游戏管理

22.4.3 程序分析 按照程序的要求,可以看出,程序是图形图像处理方法和公式的分解与计算以及按键操作融合为了一体。程序的整体设计思路如图22-13所示。 22.4.4 程序设计 扑克牌的数字和颜色选择主要通过随机算法来生成,而公式的计算则是参考公式提取算法来进行。因此这个小节的程序相对简单。 根据流程图,编写各个模块函数,以下是速算24游戏的具体实现代码。 22.4.5 扑克牌处理部分 玩过联众的人都知道,发牌都是自动发牌,就是通过程序来控制的。 1.发牌模块函数 2.牌色与花色的随机选择模块 3.绘制扑克部分功能 22.4.6 程序运算部分 以下是判断4张扑克牌经过运算后是否可能等于24功能函数的具体实现代码。 22.4.7 小结 因为算式的计算在前面就已经学习过,所以程序的难点在于判断4张扑克牌经过输入的运算公式计算后,运算的结果是否可能等于24,即is_right()函数的编写。这里将前面学过的知识再次进行了复习,温故知新,是进一步的学好C语言良好途径。 22.5 病毒检测与消除 前面都是小游戏的介绍,玩游戏的机器非常容易中毒,很多病毒也跟随着游戏下载而自动下载下来。本节通过一段简单的代码,学习如何用C语言实现病毒的检测。 22.5.1 程序功能要求 程序说明:病毒的检测和消除是一门非常专业的知识,作为学习,这里提供了1741病毒的检测和消除过程。之所以被称为1741病毒,是因为该病毒长1741字节。当运行病毒文件时,它便驻留在内存高端,占用2K字节,并且修改INT 21H中断向量,使之指向病毒体。所以,只要操作系统调入.EXE和.COM文件,在执行前都将通过病毒体而且被加以改造:在文件尾挂上一段病毒程序,并修改.EXE文件的文件长度、初始化IP值、代码段偏移量三项;对于.COM文件,则修改文件的头三个字节。 程序要求:编写1741病毒的检测和消除程序; 程序输出:检测出病毒后,进行病毒的清除操作; 22.5.2 程序分析 常见的病毒检测软件程序,除了对内存中驻留的病毒进行检测外,还可以扫描整个系统进行病毒的删除。文中的病毒程序是相对比较简单的程序,为了不使程序复杂化,简化了病毒得检测程序。只通过目录扫描,遍历目录下所有的文件来进行病毒的查找。程序的整体设计思路入图22-1-1所示。 22.5.3 程序设计 对于病毒的检测,主要是通过对所有在目录中的文件进行逐个扫描,判定扫描的文件是否是病毒。以下是扫描1741病毒的具体实现代码,主要通过该病毒的特征进行判断。 1.目录搜索模块 2.病毒处理模块 3.病毒处理模块 22.5.4 小结 病毒的检测和消除是非常复杂的,本节只是一个非常简单的实例。特别在网络得以迅速普及的今天,病毒的扩散非常迅速,为人们造成了很多不必要的损失。抵御病毒入侵已经成为了一个很重要的程序应用,但是这方面的人才却极为紧缺。学好这一个小节,希望对读者能有一些启发。 通过全书这5个例子的学习,希望读者能掌握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

文档评论(0)

1亿VIP精品文档

相关文档