欢迎来到天天文库
浏览记录
ID:5363539
大小:988.95 KB
页数:14页
时间:2017-12-08
《【面向对象】小游戏“终结者”程序的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处【面向对象】小游戏“终结者”程序的设计与实现面向对象程序设计这是我们学习程序设计的第一课。我也在这门课上第一次接触程语言、写代码。我们以影印版的《C++ProgramDesign:AnIntroductiontoProgrammingandObject-OrientedDesign》为教材。现在想来那段“入门”的经历真是痛苦不堪,很多概念难以理解,就只能一点点把书中的代码一遍遍的敲。但每次跑出一点小东西也都觉着
2、兴奋到不行。大一末的时候有个“大”的课程设计:两人一组编写一个小游戏。我和小琦一组,写了一个比较简略的闯关游戏,这次经历之后才真的对编程有了“入门”的感觉。小游戏"YingMu"【游戏功能需求说明】本游戏是基于日本漫画《灌篮高手》而设计的,相信大家对游戏中的人物都相当熟悉。在游戏中我们采用了键盘上、下、左、右控制玩家的移动,空格键发射子弹。如果玩家碰到敌人,则游戏结束;消灭所有敌人,则通关。游戏共分为两关,每一关的地图是随机产生的,敌人的移动速度也逐渐加快。虽然功能看似简单,但其中乐趣无穷,是一款集娱
3、乐、冒险为一体的游戏。我们这次是在MicrosoftVisualC++6.0,EzWindowlibrary的开发环境下设计完成的,一些程序的功能我们一时没有想到好的方法来实现,所以在这款游戏中没有呈现给大家。相信在以后的学习中,我们能更好地掌握并对这款小游戏进行升级更新。本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处【游戏总类图】【游戏中的关键类】Player[c
4、pp]viewplaincopy1.enumFloor{FLoor1=0,Floor2,Floor3,Floor4};2.3.classPlayer{4.public:5.//constructor6.Player(SimpleWindow&w);7.public:8.//inspectors9.SimpleWindow&GetWindow()const;//得到玩家所在窗口10.PositionGetPosition()const;//得到玩家当前位置11.DirectionGetDirection
5、()const;//得到玩家当前的方向12.BitMap&GetBmp(constDirection&d,inti);//得到玩家在相应的方向及步子上位图13.constBitMap&GetBmp(constDirection&d,inti)const;14.FloorGetFloor()const;//得到玩家当前所在层数15.boolIsDying();//检查玩家是否死掉16.boolAtRightEdge()const;//检查玩家是否走到窗口边缘17.boolAtLeftEdge()cons
6、t;18.19.//Facilitators本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处20.voidCreate();//创建玩家(即将玩家“放”在游戏窗口中)21.voidKill();//“杀死”玩家(从窗口中擦掉)22.voidMove();//使玩家在键盘操控下做相应的移动23.voidFire();//发射子弹24.voidOKUp();//设置玩家是
7、否可以在层之间跳跃25.voidOKDown();26.voidCannotUpDown();27.28.//mutators29.voidSetPosition(constPosition&p);//设置玩家当前所有位图的位置30.voidSetFloor(Floor&f);//玩家跳跃之后改变层的数据成员31.voidSetDirection(constDirection&d);//设置玩家当前的方向32.33.//datamember34.vectorbullets;/****
8、************************************/35.//方便GameController中检查子弹和敌人//36.//状况,所以放在public域中,设置为可见//37./****************************************/38.private:39.//facilities40.voidDraw();41.voidErase();/********************************
此文档下载收益归作者所有