《Android应用与游戏开发》纸牌游戏 Solitaire 程序分析李铒修改版.docxVIP

《Android应用与游戏开发》纸牌游戏 Solitaire 程序分析李铒修改版.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
纸牌游戏 Solitaire 程序分析 魏刘宏 修改 : 李铒 包名:com.kmagic.solitaireJava文件总览:1、Solitaire.java(包含Solitaire类);2、AnimateCard.java(包含AnimateCard类);3、Card.java(包含Card类);4、CardAnchor.java(包含CardAnchor类,DealTo类,SeqStack类,DealFrom类,SeqSink类,SuitSeqStack类,SpiderStack类,FreecellStack类,FreecellHold类,以及GenericAnchor类);5、DrawMaster.java(包含DrawMaster类);6、Move.java(包含Move类);7、MoveCard.java(包含MoveCard类);8、Options.java(包含Options类);9、Replay.java(包含Replay类);10、Deck.java(包含Deck类);11、Rules.java(包含Rules类,NormalSolitaire类,Spider类,Freecell类,FortyThieves类,以及EventPoster类);12、SelectCard.java(包含SelectCard类);13、SolitaireView.java(包含SolitaireView类,RefreshHandler类,以及Speed类);14、Stats.java(包含Stats类)。Activity:只有一个,对应Java文件为Solitaire.java , 视图文件为main.xml 。主要界面截图:单人纸牌,也是默认界面: 蜘蛛纸牌: 空当接龙 : 四十大盗:按menu键出现菜单: 点击“新游戏”,出现:“设置”,我做了下汉化(在res中添加values-zh-rCN文件夹),可进行相应设置:设置2:点击“更多”,出现:点击“统计”,可出现相关信息,记录玩家胜的局数和总的局数:“帮助”,有一些操作的介绍;另外,第一次启动程序时这也会出现。主要程序分析:*****************************Solitaire.java*******************************Solitaire类: 为程序的主控类,该类继承并拓展了Activity类,是整个游戏程序的入口。实现了程序界面的初始化。提供了调用其他类的方法,以及负责程序存档的初始配置。1、在构造函数onCreate()方法中强制横屏,并去除标题;实例化了游戏的主界面mMainView(一个View)。mMainView中嵌套了自定义mSolitaireView。并且获得了SharePrefeneces储存对象。2、在onStart()中如果存档不正确就启动新游戏,调用HelpSplashScreen()方法在mSolitaireView 界面显示帮助信息;以及调用SolitaireView的InitGame方法加载游戏;3、覆写onCreateOptionsMenu() 方法来自定义一系列菜单选项,onOptionsItemSelected()方法处理菜单项选中事件;在用户点击menu——“设置”时调用DisplayOptions() 方法,方法中实例化了一个Options类的对象;DisplayStats() 方法与DisplayOptions类似,实例化了一个Stats类的对象; 4、覆写了onPause(),onReSume(),OnStop()。实现了数据储存,及游戏计时器的开关。5、 CancelOptions(),NewOptions(),RefreshOptions()三个方法对游戏设置进行了实现。***************************SolitaireView.java**************************SolitaireView类:该类为整个程序的游戏界面实现类继承并拓展了View类 。主要的方法有1、InitGame(int gameType)调用了Rules中的GetGameTypeString(),GetAnchorArray()来进行游戏类型,初始绘制的实现。2、ChangeViewMode(int newMode)方法负责游戏界面的切换,相关类的联动。SaveGame()使用File实现游戏数据的储存,使用SharePreferences储存数据是否有效的判断值。LoadSave()作为读取数据的方法。3、onDraw(Canvas canvas)为游戏界面绘制的主控函数,在不同的游戏阶段,分别调用MoveCard,SelectCa

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档