1 / 16
文档名称:

VC++打地鼠游戏.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VC++打地鼠游戏.doc

上传人:chuandao1680 2016/5/2 文件大小:0 KB

下载得到文件列表

VC++打地鼠游戏.doc

文档介绍

文档介绍:第五章老鼠和滚球 . 实现思想老鼠和滚球游戏,是我根据自己的意愿,是为了我将要说明的下面有关内容而设置的。由于没有经过具体实践, 我并不能保证其趣味性和吸引力, 我们学****的是它实现过程中的一些思想。希望对读者有所帮助。其实, 这种游戏, 在街头电子游戏中是常见的。但由于电脑的渐渐普及, 大规模游戏的迅速出现,已经不适合玩者的需求了。但是,我们可以以小见大,在学****小游戏的基础上, 慢慢培养设计大游戏的一些方法和技巧。关于游戏的角色: 老鼠, 是游戏的主角, 它有三条生命, 它为了生存, 必须能够逃脱灾难性的局面( 被滚球撞到) ,它在经过所谓的适者生存的淘汰之后,学会了使用子弹;而且是一种能够消灭滚球的子弹,以达到防身的目的。每打中一个球得一分,每被撞一下失去一条生命。滚球,一共有 50 个,但为了维持生态平衡,最多只能出来六个。滚球,是为了消灭老鼠而存在的,它将会在现代科技的伪随机函数中不定向地出现。红心, 生命的象征, 只要你能碰到它, 你就幸运了, 因为由此你会得到一条生命。当然, 生存需要竞争, 需要你自己去创造; 只要你在消灭了很多滚球之后, 你才有可能取得。正因为这个原因,我把它安排在滚球出现的地方。关于游戏的实现: 游戏, 经常都是全屏的, 但是由于我们的目的不仅仅在于游戏本身, 我们的宗旨是利用游戏的趣味性和吸引力, 来增强读者学****程序语言的信心。所以, 在前面我们都没有用到全屏显示,我们不需要。另外说明:本游戏的全屏只适应于 800*600 的分辨率。全屏,是这个游戏的一点要学****的。多位图的移动,是本游戏要学****的第二个内容,上面的最多只有两个位图可以移动, 这是由于游戏本身决定的。当然, 这个游戏的多位图移动, 也是游戏本身决定的, 但却是我之所以选择它为第五章的原因。当然, 我们没有那么多的手去操作键盘, 去移动位图。我们必须设置我们的程序, 让程序自己去执行, 去移动, 去显示计算机的优越性。这个游戏,比起上面来,它是一个更加复杂的社会,它不再只是玩者一个人充当角色。所以,我们新建了各自的类。新建工程 5_1 ,为单文档默认设置。 . 制作位图既然游戏是复杂的, 它就需要很多位图, 但由于我们在前面已经用了很多位图, 我们这里就不多说了。只是说明一下位图的数量和大小。背景位图: 800*600 1张 IDB_BITMAP1 老鼠位图: 50*50 4张 IDB_BITMAP2 (两只老鼠两个方向) IDB_BITMAP3 IDB_BITMAP7 IDB_BITMAP8 滚球位图: 50*50 1张 IDB_BITMAP4 红心位图: 50*50 1张 IDB_BITMAP11 子弹位图: 50*50 4张 IDB_BITMAP5 (两种颜色两个方向) IDB_BITMAP6 IDB_BITMAP9 IDB_BITMAP10 . 变量和函数老鼠: 它有位置, 分数, 方向, 生命力, 子弹和它自己。其中它自己的图像及它射出来的子弹都有前后方向。我们必须为它定义一个类,以让两个老鼠共用。新建类: CMouse 添加变量如下: CPoint point;// 位置 CBitmap bitmapa;// 向后图像 CBitmap bitmapb;// 向前图像 CBitmap shota;// 向后子弹 CBitmap shotb;// 向前子弹 int score;// 分数 short direction;// 方向 short lifes;// 生命滚球: 它也有位置, 也有它自己的图像。由于一共有五十个球, 最多会显示六个球, 我们也定义它为一共类。新建类: CBall 添加变量如下: CPoint point; CBitmap bitmap;// 由于对称,我们只要一个位图游戏: 由于它的复杂性,程序,由于它的复杂性,为了不使它们更加复杂,我们也为游戏的实现本身建立一个类。新建类: CGame 添加变量如下: CBall ball[6];// 六个滚球 short ballnum;// 滚球数: 50 CMouse m1,m2;// 两只老鼠 int yy[16][12];// 屏幕数组 CBitmap shot;// 子弹位图 bool heart1,heart2;// 两个红心是否显示 CBitmap heart;// 红心位图既然是游戏本身,它必定要实现很多功能,我们添加如下函数: void GetHeart();// 老鼠得到红心 void KillBall();// 老鼠打中滚球 void KillMouse();// 滚球杀死老鼠 void Draw(CDC*pDC);// 画界面 void DrawScore(CDC*pDC);// 画分数 void BallMove();