欢迎来到天天文库
浏览记录
ID:47422235
大小:63.20 KB
页数:24页
时间:2019-09-12
《Symbian手机程序设计大作业 - 俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Symbian手机程序设计大作业俄罗斯方块游戏学院(系):专业:班级:学号:姓名:大连理工大学DalianUniversityofTechnology1程序功能描述俄罗斯方块一直都是游戏里的经典,每个方块由四个格子组成,不同形状的方块不同颜色,每次从顶部开始下降,可以通过按上键变换方块的形状,也可以通过左右键来移动方块的位置方向,直到方块坠入最底部,由于引擎类,使得可以按下键加速方块下降。当某一行充满了方块,该行方块消失,并加分。另外,与老师FTP上的俄罗斯方块的程序不太相同的地方,是本程序增添了下一方块提示功能。在界面的右侧部分,会显示下一个要到来的方块的形状,来帮助玩者调整
2、本次方块的位置,来达到更好的效果。CAknAppUiCAknDocumentCAknApplication2程序类图CS60TestApplicationCS60TestsAppUiCS60TestCS60TestDocumentCS60TestEngineCCoeControlCAknViewCS60TestAppViewTBlockTPreGridTGrid图1本程序主要的类为视图类CS60TestAppView,负责展现界面的各个元素。TGrid,TPreGrid,TBlock是为了实现俄罗斯方块的背板和方块以及实现下一方块预览功能设置的类。同时设置了引擎类CS60Tes
3、tEngine,使用户可按下键实现方块的快速下移。如图1示3程序运行截图左边是游戏主界面,右边有下一个方块的提示.不同形状的方块不同颜色,每次从顶部开始下降,可以通过按上键变换方块的形状,也可以通过左右键来移动方块的位置方向,直到方块坠入最底部。当某一行充满了方块,该行方块消失,并加分。如图2图24程序代码分析4.1S60test类分析#include"S60TestApplication.h"//系统调用newapplication()函数得到新的CApaapplication对象,GLDEF_CTIntE32Dll(TDllReason/*aReason*/){return
4、KErrNone;}//在avkon(forseries60)中返回一个CAknapplication子类的对象,在s60testapplication.cpp实现的CS60testapplication,EXPORT_CCApaApplication*NewApplication(){return(newCS60TestApplication);}s60testapplication.cpp#include"S60TestDocument.h"#include"S60TestApplication.h"/*在每次执行中下面两个函数必须重载,第一个,在AppDllUid将返回该
5、程序唯一的UID,我们例子中的UID不会出现在实际发布的程序中.第二个函数是创建CApaDocument类对象的CreateDocumentL函数*/CApaDocument*CS60TestApplication::CreateDocumentL(){CApaDocument*document=CS60TestDocument::NewL(*this);returndocument;}TUidCS60TestApplication::AppDllUid()const{returnKUidS60TestApp;}4.2CS60TestDocument类分析#include"S6
6、0TestAppUi.h"#include"S60TestDocument.h"CS60TestDocument*CS60TestDocument::NewL(CEikApplication&aApp){CS60TestDocument*self=NewLC(aApp);CleanupStack::Pop(self);returnself;}CS60TestDocument*CS60TestDocument::NewLC(CEikApplication&aApp){CS60TestDocument*self=new(ELeave)CS60TestDocument(aApp);C
7、leanupStack::PushL(self);self->ConstructL();returnself;}voidCS60TestDocument::ConstructL(){TTimetime;time.HomeTime();seed=time.Int64();Reset();}CS60TestDocument::CS60TestDocument(CEikApplication&aApp):CAknDocument(aApp),iGrid(),iPreGrid(),iCurrBloc
此文档下载收益归作者所有