已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连民族学院本科毕业设计(论文)基于ANDROID平台的“经营冷饮店”游戏设计摘要随着社会与科技的发展,人们越来越注重移动、便携与方便。而随着这股潮流的发展,手机应用游戏应运而生。安卓系统作为一个市场占有超过50的手机平台,其应用游戏的发展非常迅猛。本论文提出一款基于安卓系统的“经营冷饮店”游戏设计,并对其具体开发与实现进行了剖析。在游戏制作过程中,实现了用户与手机之间的良好的人机交互,使用户更好的参与到游戏中去。此款游戏为模拟经营类游戏,其内容主要包含“游戏开始”,“选择游戏难度”,“玩家进货、定价”,“游戏主画面”,“游戏结束”这5个模块。主要介绍了每个模块的功能,设计方法。模块和模块之间的逻辑结构和数据处理。本论文主要对此款游戏的总体设计,需求分析和内部数据的具体处理和计算进行了详细的阐述。并对游戏的具体设计与实现进行了简要的说明。在一定安卓理论的基础上,介绍了部分关键代码与关键函数的应用。对游戏中应用到的相关计算机图形学实现应用动画的过程做了具体介绍。最后展示成果截图并对其进行简单介绍,然后论文进行整体总结与归纳。关键词游戏;安卓;人机交互THESUBJECTOFUNDERGRADUATEGRADUATIONPROJECTTHESISOFDLNUABSTRACTWITHTHEDEVELOPMENTOFSOCIETYANDTECHNOLOGY,GROWINGEMPHASISHASBEENONMOBIL,PORTABLEANDCONVENIENTWITHTHISTREND,MOBILAPPLICATIONGAMECOMEINTOBEINGANDROIDSYSTEMASAMARKETSHAREOVER50OFTHEMOBILEPHONESYSTEM,THEAPPLICATIONOFANDROIDHASBEENDEVELOPEDVERYRAPIDTHISPAPERPRESENTSANANDROIDGAMECALLED“THECOLDDRINKSHOP”ANDITSSPECIFICDEVELOPMENTANDREALIZATIONAREEXPLAINEDTHEGAMEISGOODHUMANCOMPUTERINTERACTIONANDTHEUSERSWILLBEBETTERINVOLVEDINTHEGAMETHISGAMEISBUSINESSSIMULATIONGAME,ITSTOPICSINCLUDE“THESTARTOFTHEGAME”,“SELECTTHEGAMEDIFFICULTY”,“PLAYERPURCHASEANDPRICING”,“THEMAINGAMESCREEN”,“THEENDGAME”OFTHESEFIVEMODULESITISINTRODUCTIONTHEFUNCTIONOFEACHMODULE,THEDESIGNMETHODANDLOGICALSTRUCTUREANDDATAPROCESSINGMODULESANDBETWEENMODULESTHISTHESISFOCUSESONTHEOVERALLDESIGNOFTHISGAME,NEEDSANALYSIS,ANDINTERNALDATAPROCESSINGANDCALCULATIONINDETAILANDGAMESPECIFICDESIGNANDIMPLEMENTATIONOFABRIEFDESCRIPTIONONTHEBASISOFTHETHEORYOFANDROID,ITISINTRODUCTIONOFTHEAPPLICATIONOFTHEKEYSCODEANDFUNCTIONSSPECIFICINTRODUCTIONTOTHECOMPUTERGRAPHICSAPPLICATIONSANIMATIONPROCESSAPPLIEDTOTHEGAMEFINALLYSHOWTHERESULTSANDBEABRIEFINTRODUCTION,ANDTHENTHEPAPEROVERALLSUMMARYANDSUMMARIZEDKEYWORDSGAME;ANDROID;HUMANCOMPUTERINTERACTION目录摘要IABSTRACTII1前言111游戏的目的与意义112ANDROID游戏的发展趋势113系统调研1131社会可行性分析1132技术可行性分析2133经济可行性分析22ANDROID开发工具及系统特点321开发工具322系统特点33游戏总体设计531游戏模块划分532游戏设计逻辑6321天气影响因素6322声誉影响因素64游戏设计841游戏需求分析8411对功能的规定8412对性能的规定842游戏数据分析8421游戏固定数据存储格式8422玩家进货价格生成9423商品腐败值计算方法10424商店声誉计算方法10425顾客购买率计算方法115游戏具体设计与实现1251游戏各ACTIVITY功能12511开始ACTIVITY12512选择ACTIVITY12513准备ACTIVITY12514游戏进行ACTIVITY1352游戏中动画原理实现13521图片的加载13522顾客的走动和购买的实现13523下雨、下雪的背景实现146游戏实现及效果15结论17参考文献18致谢191前言11游戏的目的与意义现如今,电子游戏已慢慢渗透进人们生活中,并在扮演着越来越重的角色。可以说,随着它的迅猛发展,现今的电子游戏已经不仅仅是一种娱乐,而是形成了一种文化现象。本游戏的制作属于电子游戏中的经营类游戏。经营类游戏即是你在虚拟世界中开一家店铺,以把店铺经营好,使店铺在金钱和等级上达标。简单的经营类游戏可以使玩家体验到娱乐与消遣。但当游戏更加靠近现实,把现实中开店所遇到的各种有利因素、不利因素都添加进去之后,经营游戏可以算是一种对现实的模拟。12ANDROID游戏的发展趋势随着社会的发展,人们的工作压力与日俱增。与此同时相应的减压放松的方式也慢慢发生了变化。人们更趋于在家或者工作闲余时间以电子游戏的方式达到娱乐的目的。一次,也就意味着,电子游戏的利润空间和发展空间是十分宽广的。而作为现代人不可或缺,随身携带的手机设备,则作为一类游戏的载体,有着广泛的发展空间。而ANDROID作为主流智能手机系统之一,研究和开发相应应用游戏是时代发展的趋势。现如今ANDROID的市场份额占总体智能手机市场份额的50以上,相对于前几年来说,其发展势头势不可挡。以至于越来越多的开发商加入了ANDROID应用开发的行列。在2010年,ANDROID市场份额仅占47左右,并其市场只有不到20000个应用程序。但在2011年初,这个数字就已经超过了25万字大关。而随着越来越多的应用的诞生,由于其的多元化和普遍性越来越高,其发展趋势已开始渐渐逼近世界智能手机龙头苹果公司推出的IOS系统。而在多个ANDROID的应用程序排行榜中,无论是按照使用量或者人气,或者收入,70以上的应用排行榜榜首都是游戏。可见,ANDROID游戏应用已渐渐深入人心。ANDROID手机游戏应用开发已渐渐占据市场主流。13系统调研131社会可行性分析随着手机的发展与普及,以及互联网技术的扩展,人们对移动通讯的需求必将需要实现多元功能化。通过移动通讯连接到INTERNET上,实现数据,应用等资源共享。提高了数据的资源利用,并能及时的到更新。在这样的外界环境之下,手机娱乐应用的推广得到保证。132技术可行性分析ANDROID系统平台是一个基于LINUX开源的手机操作系统。它由GOOGLE公司在2007年11月5日正式发布的。ANDROID平台是由操作系统、中间件、界面和应用软件组成。是第一个要为移动终端创造的一款真正开放的完整的操作系统。1说道ANDROID操作系统平台的优势,不得不提到最突出的两个特点“免费”和“开源”。免费ANDROID免费提供其操作系统,让移动过电话制造商可以免费搭载ANDROID操作系统,使得手机的制作成本大大降低,渐渐使得ANDROID普及。开源ANDROID手机制作操作系统代码的开放性,不仅让开发者可以在统一开放平台进行程序开发,而且可以解决现今市场不同智能机之间因文件格式不同造成的信息交流不便、程序内容无法移植等问题;并且ANDROID的开机源码就意味着手机使用者不必在被动地接受移动电话制造商默认的设施和环境,使用者完全可以根据自己的想法自定义手机的配置。133经济可行性分析作为现金炙手可热的ANDROID手机游戏,由于其拥有大量玩家的基础,因此开发商络绎不绝,对其投资的广告商也源源不断。2ANDROID开发工具及系统特点21开发工具ECLIPSE是一个市场占有率很高的JAVAIDE工具,ANDROID推荐使用ECLIPSE来开发ANDROID应用,并为其提供了专门的插件ANDROIDDEVELOPMENTTOOLS(ADT)。22系统特点ANDROID的底层建立在LINUX系统之上,它采用一种软件叠层的方式进行构建。这种软件层结构使得层与层之间互相分离,分工明确。保证了层与层之间的低耦合,当下层的层下或者层内发生改变时,上层应用程序无须做任何改变。1ANDROID疯狂讲义ANDROID系统主要由5部分组成应用程序层应用程序框架函数库ANDROID运行时LINUX内核应用程序层HOMECONTACTSPHONEVIEWSYSTEMBROWSERWINDOWMANAGERACTIVITYMANAGERCONTENTPROVIDERS应用程序框架PACKAGEMANAGE函数库SURFACEMANAGERSQLITEWEBKITLIBCSSLANDROID运行时CORELIBRARIESDALVIKVIRTUALMACHINELINUX内核DISPLAYDRIVERCAMERADRIVERWIFIDRIVER图21如图21所示应用程序层为系统的核心应用程序,如电子邮件客户端、地图、浏览器等。这些程序主要都是JAVA编写,玩家主要通过这些应用程序来实现对手机的操作。应用程序框架提供了大量API供开发者使用。开发者自己开发的应用的功能模块,主要遵守了框架的约定,那么其他应用程序也能使用这个功能模块。函数库包含了一套被不同组件所使用的C/C库的集合。一般来说,ANDROID开发者不能直接调用这套C/C库集,但可以通过它上面的应用程序框架来调用此库。ANDROID操作系统运行时由2个部分组成ANDROID核心库和DALVIK虚拟机。其中ANDROID核心库主要为JAVA语言提供了大部分的功能,而虚拟机则负责运行ANDROID应用程序。2LINUX内核系统基于LINUX26之上搭建的。在ANDROID平台上LINUX内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。并且LINUX也是硬件层与软件层之间的抽象层。3游戏总体设计31游戏模块划分本游戏主要分为4个部分游戏开始,选择游戏难度,玩家进货、定价,游戏主画面,游戏结束。游戏具体的流程图如图31所示图31玩家进入游戏,首先看到开始界面,选择开始,游戏进入游戏天数选择界面。游戏根据玩家选择的天数,令玩家运行冷饮店相应的天数。当玩家选择出游戏天数之后,进入进货,定价的管理界面。在此界面玩家可以看到“冷饮店”主要出售2种货物甜甜圈和冷饮。甜甜圈需要玩家自己定义配方和出售价格,然后选择每种配料进货多少。冷饮需要玩家选择出需要进货数量和确定出售价格。当全部设置完毕,玩家选择“开始”按钮,进入游戏主逻辑。在游戏主逻辑中,玩家可以根据购买顾客反应情况,来调整售价。并在不需要操作的情况下,选择加快速度,令游戏速度加快,避免不必要的时间浪费。游戏主逻辑计算一天从早上6点到晚上18点。当游戏进行到18点的时候,主逻辑画面会自动跳转到游戏进货、定价界面中去,玩家进行下一天的进货设置。最后,当游戏运行天数与玩家选择天数相同时,跳出提示框,通知玩家在固定天数内赚的钱数,并提示游戏结束,选择是否重新开始或者退出程序。32游戏设计逻辑“经营冷饮店”这款游戏的主要设计逻辑是基于为了更真实的模拟出在各种因素综合作用影响的情况下,玩家是否能在时间和初始金额固定的情况下,令一家“冷饮店”得到最大的利润。游戏中为了增加游戏的复杂性和难度,增加了天气,商店声誉,玩家自定义售价和甜甜圈配料选择等因素来影响顾客购买情况。游戏天数选择N进货、定价管理游戏主逻辑是否第N天否是否重新开始是是否开始结束321天气影响因素游戏中天气会随机发生变化,一共有四种天气晴天,雨天,雪天和阴天。顾客会随着天气的变化而改变购买需求。当天气为晴天,会有较多的顾客会购买商品,并且购买冷饮的顾客会多于购买甜甜圈的顾客。当天气为雨天,购买商品的顾客数量会大幅度减少,购买甜甜圈和冷饮的顾客基本比率为11。当天气为雪天或者阴天,购买商品顾客数量普通,但是雪天购买甜甜圈的顾客大幅度增多,阴天购买2种商品数量基本一致。每一件商品都具有一定的腐败值,这个数值顾客是看不到的,但当商品腐败值到达一定程度,就会提示顾客,并把这部分商品的数量从库存里面去除。天气情况会严重影响商品的腐败值。晴天商品腐败严重,当天没有售完的商品第二天都会腐败;雨天和阴天商品腐败值为晴天的一半,雪天商品腐败值为晴天的三分之一。而当当天商品没有卖完,进入第二天销售时,则首先出售的是玩家新进货的商品,全部出售完毕才会出售之前没买完的商品。玩家在进货期间,物价会在一定范围内波动。而这个范围会随着天气的变化而改变,晴天、阴天物价普通,雨天、雪天由于交通不便,物价较高。并且随着游戏时间的推移,物价范围会缓慢上升。322声誉影响因素声誉是一家“冷饮店”是否盈利的非常重要的一个影响因素。每天“冷饮店”客流量基本相同,天气会影响一部分顾客是否愿意购买商店内商品。声誉是另一个会影响顾客是否购买商品的因素。当商店声誉分为6个阶段,10以下、10到20、20到40、40到60、60到80与80以上。每个阶段顾客购买率都不一样,例如晴天,商店声誉10,那么将有10(110)的顾客会购买商品。由此可见,商店声誉的重要性。而决定商店声誉主要为顾客购买商品前和购买商品后是否满意。每个顾客购买商品之前会判断商品价格是否合理,如果商品价格过高,则顾客会觉得太贵不予购买,并且对“冷饮店”的声誉会有一定的负面影响。当顾客购买完商品,会根据商品的质量与价格评判。如果商品质量差和价格也较高,则对“冷饮店”声誉影响不好。如果商品的质量与价格都是一般,可以接受,则商店声誉不受。如果商品性价比较高时,“冷饮店”的声誉则会有正面的影响。4游戏设计41游戏需求分析411对功能的规定本游戏做开发的是基于ANDROID的“经营冷饮店”游戏软件,主要实现玩家可以在自己选定的时间内,经营一家“冷饮店”,并获得自己的最终利润。“经营冷饮店”这款游戏需要实现主要功能如下(1)游戏框架设计;(2)游戏中各个ACTIVITY之间实现数据传输;(3)顾客类的设计与实现(4)甜甜圈类的设计与实现(5)背景类的设计与实现(6)冷饮类的设计与实现(7)游戏主逻辑的实现(8)天气类的设计与实现(9)游戏的开始和退出功能实现412对性能的规定本游戏在设计上本着方便、使用及娱乐性高的宗旨,在对界面进行设计过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错的有点。由于是手机游戏,对游戏的性能要求更加严格,内存的占有量也必须有一定的限制。游戏的主界面应该力求美观,赏心悦目。游戏触摸控制模块应做到易懂、易操作,准确率高,不易出错。42游戏数据分析421游戏固定数据存储格式由于本游戏程序中需要存储的数据量较小,所以本游戏中数据通过ANDROID中的SHAREDPREFERENCES来存储。SHAREDPREFERENCES主要通过KEYVALUE来保存数据。SHAREDPREFERENCES的数据总是保存在/DATA/DATASHARED_PREFS目录下面。SHAREDPREFERENCES总是以XML格式保存。XML格式文件是一个只有一个根节点的树状存储格式的文件。相对于对一般文件的查找,XML的查找速度显然更快。表41为游戏中SHAREDPREFERENCES中数据KEYVALUE的值表41KEYVALUE对照表数据名KEYVALUE值初值玩家选择天数DATENUM(1)现在第几天NOWDATENUM1总资金SUM_MONEY1000甜甜圈售价DONUT_MONEY0糖(库存)SUGAR_NUM0面粉(库存)FLOUR_NUM0配料(库存)OTHER_NUM0糖(食谱)SUGAR_COOK_NUM1面粉(食谱)FLOUR_COOK_NUM1配料(食谱)OTHER_COOK_NUM1天气WEATHER(2)声誉REPUTATION0饮料数量DRINKING_NUM0饮料定价DRINKING_VALUE0当前已售甜甜圈SOLD_DONUT0当前已售饮料SOLD_DRINK0表41中(1)处玩家选择天数初值需要在玩家选择时赋值;(2)中天气的初值是游戏每次随机产生的。422玩家进货价格生成在玩家进货、定价管理界面,系统会随机产生不同商品的当前进货物价,每种商品物价范围基本一致,其前三天价格初始化都是1到6之间,但随着时间的推移,物价的波动会略微上调。其计算方法如下首先生成一个16的随机价格MONEY,判断天数如果是3天后,那么MONEYMONEYMONEYNOWDAYS/DAYS41其中,NOWDAYS为当前天数,DAYS为玩家选择的总天数。423商品腐败值计算方法商品的腐败值,每隔一天计算一次,封装在DONUTS类和SOFT_DRINK类里。每过一天,商品腐败值会根据前一天天气状况来进行计算。如果前一天天气是晴天,则腐败值DONUT_DECAY或者DRINK_DECAY增加100。如果前一天天气下雨或者阴天,则腐败值DONUT_DECAY或者DRINK_DECAY增加50。如果前一天天气为雪天,则腐败值DONUT_DECAY或者DRINK_DECAY增加30。而当腐败值大于等于100的商品,则从库存里面删除。424商店声誉计算方法影响商店声誉的主要是商品价格,当商品为甜甜圈的时候,商品配料也同样影响商品的声誉。在生成顾客PERSON类的初始化中,每个顾客类都会根据当天天气状况,随机生成需要购买的商品。之后,随机生成最优商品价格和可以忍受的最贵商品价格。如果商品时甜甜圈,则还需要随机生成最优配料数和可以忍受的最低配料数。在这里,配料数是指玩家在开始售货之前设定的食谱中糖、面粉和配料数的总和。随机生成的商品最优价格和可以忍受的最贵商品价格是在一定范围内生成的,而这个范围是根据当前第几天来设定的。各种数据生成的计算公式如下首先随机生成数N,数N的范围在815之间。其次,计算商品配料数MMSUGARFLOUROTHER(42)公式(42)中SUGAR代表食谱中的糖,FLOUR代表食谱中的面粉,OTHER代表食谱中的配料。(1)饮料的最优价格计算公式DRINKMINMONEYNNNOWDAYS/DAYS43(2)饮料的可以忍受最贵价格计算公式DRINKMAXMONEYDRINKMINMONEY1544(3)甜甜圈最优价格计算公式DONUTMINMONEYNMNNOWDAYS/DAYS(45)公式(45)中,因为甜甜圈是3种材料综合生成,所以计算价格需要NM。(4)甜甜圈可以忍受最贵价格计算公式DONUTMAXMONEYDONUTMINMONEY1546规定生成甜甜圈最佳配料数为1325,生成甜甜圈最低配料数为512之间。则当此顾客准备购买饮料时,需要先判断用户定价是否低于顾客预期可忍受的最贵价格。如果价格不能忍受,则商店声誉度REPUTATIONREPUTATION1,并且顾客放弃购买此商品。若低于顾客预期可忍受的最贵价格,则判断是否低于或等于顾客预期的最优价格,如果低于或等于最优价格,则REPUTATIONREPUTATION1。若顾客购买甜甜圈,则分5中情况讨论1)难吃商品价格在顾客预期最优价格之内,但是甜甜圈配料数低于最低配料数。此时,声誉减1。2)生气商品价格在顾客可以忍受价格之间,并且甜甜圈配料数低于最低配料数,此时声誉减2。3)太贵顾客购买前,判断商品在其预期价格可以忍受价格之上,则顾客放弃购买,声誉减1。4)高兴商品价格在顾客预期最优价格之内,并且商品配料在顾客预期最佳配料之上,则商店声誉加1。5)普通不属于以上情况的即普通,商店声誉不改变。425顾客购买率计算方法顾客购买率主要根据商店声誉来计算的。每天生成的顾客数量基本一致,约为360人左右。声誉最大值为100,最小值为0。当声誉小于10时,10的顾客会购买商品。当声誉大于等于10小于20时,20的顾客会购买商品。当声誉大于等于20小于40时,30的顾客会购买商品。当声誉大于等于40小于60时,40的顾客会购买商品。当声誉大于等于60小于80时,50的顾客会购买商品。当声誉大于等于80时,60的顾客会购买商品。5游戏具体设计与实现51游戏各ACTIVITY功能ANDROID应用最重要、最常见的组成单元为ACTIVITY。ACTIVITY对于ANDROID相当于SERVLET对于WEB应用的作用。ACTIVITY可以看做一个画面,当建立一个新的ACTIVITY的时候,其实相当于建立一个全新的画面,这个画面有自己的生存周期,统一由ACTIVITYMANAGER进行管理。ACTIVITY的管理方式类似于栈,最先启动的ACTIVITY最后关闭,最后启动的ACTIVITY最先关闭。511开始ACTIVITY开始ACTIVITY类名为START_ACTIVITY,其布局在布局文件中加载,有一个按钮,点击进入新ACTIVITY选择ACTIVITY。在开始ACTIVITY中,背景音乐开启,一直持续到游戏结束。音乐大小用户可以用手机自带的音量调节键调节。512选择ACTIVITY选择ACTIVITY类名为CHOOSE_ACTIVITY,由布局文件夹LAYOUT下布局的XML文件进行布局。主要功能为用户选择开店游戏天数。SHAREDPREFERENCES也在此ACTIVITY中进行初始化,并存储在其中数据也在此处进行初始化。513准备ACTIVITY准备ACTIVITY的类名为PREACTIVITY,此类主要是用户进货、定价操作界面。本类中也使用布局文件夹LAYOUT下布局的XML文件进行布局。在类里添加监听器和处理。此类运用ANDROID中TABHOST进行分页设置,把一个ACTIVITY分成两部分。一部分为甜甜圈,一部分为冷饮。在甜甜圈和冷饮部分上方都可看到当前资本与游戏当天天数和开业后天气情况。用户可以选择需要进货的商品,选择完毕之后选择开业按钮即可。如果选择错误想要重新选择,则可以点击重置按钮,则游戏会重置到之前没有选择时的状态。甜甜圈和冷饮部分数据分别为甜甜圈类DONUTS和冷饮类SOFT_DRINK分类暂存数据。当用户选择“开业”按钮时,则之前用户选择的数据会提交到SHAREDPREFERENCES的存储文件中去,使得数据不会丢失。514游戏进行ACTIVITY游戏进行ACTIVITY的类名为GAMINGACTIVITY,此类可以说是整个游戏的最重要部分。此ACTIVITY主要加载了一个SURFACEVIEW的类。整个绘画背景,天气,顾客购买的动画和部分用户操作都封装在继承了SURFACEVIEW的GAMINGSURFACEVIEW中。SURFACEVIEW是ANDROID中VIEW类的子类。VIEW是一个超类,几乎包含了所有屏幕类型。每个VIEW类都有一个绘画的画布。SURFACEVIEW主要用于刷新较频繁的动画、游戏绘图。它是一个新起的单独线程,而VIEW则必须在UI主线程中更新画面。在GAMINGSURFACEVIEW中,首先建立一个线程,以定时刷新画面。在刷新过程中,每次调用DRAW方法和LOGIC方法。在DRAW方法中处理画图,从背景开、建筑物、商店到顾客购买,时间等。顾客和背景的画图是把画笔和画笔当做参数传到PERSON类和BACKGROUND类中,在这两个类中分别都设置DRAW方法和LOGIC方法,这样使得画图的分工更加明确,逻辑性更强。在这个类中,用户主要会观察顾客购买情况,为了增加用户的互动性,用户可以随时调整甜甜圈和饮料的出售价格。同时用户可以点击调整速度按钮,控制游戏速度的快慢,以便于观察游戏中顾客的购买情况或者免于浪费更多的时间。52游戏中动画原理实现521图片的加载ANDROID中位图的渲染和操作主要是基于BITMAP的图形类来进行。ANDROID支持的图片格式有PNG、JPG、BMP等。其中尤以PNG格式的图片更加方便,可以通过修改图片调整图片的透明度。ANDROID的图片加载主要通过画布类CANVAS来进行的。CANVAS有一系列的方法可以进行绘制图片。本游戏中图片都是通过CANVASDRAWBITMAP()方法进行绘制的。当图片过大或者过小时,CANVAS提供了一个缩放位图的函数,对指定大小的矩形在画布指定位置上进行缩放。但在操作前后需要加入SAVE()和RESTORE()两个方法。分别用于保存当前画布状态和恢复上次保存画布的状态。522顾客的走动和购买的实现顾客走动图片,是一张包含顾客向右走动的所有动作帧,每帧的大小相同,顾客不同动作之间间距相同,且除了顾客本身以外,其他部分都为透明的PNG格式图片。该图片如图51所示图51首先参数M_WALKCURRENTFRAME记录顾客当前走路是哪一帧,顺序应该为0、1、2、1、0、2、1、0、2。然后获得图片的宽WIDTH,则小人其中一帧的宽即为FRAMEWWIDTH/3。再用CANVAS方法SCALE()函数修改顾客的大小,并用CANVAS方法CLIPRECT()设置一个宽高跟小人相同大小的可视区域。画图的时候按照设置的可视区域画,则顾客的另外2帧的图片部分就被屏蔽了。然后用DRAWBITMAP方法进行绘制,其中注意,要根据当前M_WALKCURRENTFRAME是多少来绘制。例如当M_WALKCURRENTFRAME为1的时候,即要显示中间那帧。不能直接使用需要显示图片的X,Y坐标,要使中间的图片的左上角坐标为X,Y。则要从XFRAMEW,Y处开始绘制。这样由于之前已经剪切了一个可视区域,则图片横坐标XFRAMEW到X处图片是看不到的,XFRAMEW到XFRAMEW2是看不到的。同理,顾客购买物品的时候也是使用了一个包含顾客购买动作的5帧动作帧图片。在此不再介绍。523下雨、下雪的背景实现下雨背景的实现,相当于滚动背景的实现。模拟雨水的图片为一张PNG的用白色画笔画出长短不一线段,其他地方都是透明的图片。然后生成2个BITMAP对象,图片都加载雨水的图片。第一张图片随着时间推移向下移动5个单位,第二张图片在屏幕正上方紧接着第一张,每次也移动5个单位。当任意一张图片移动到屏幕之外,把该张图片位置放到屏幕正上方,继续向下移动5个单位。下雪背景的与下雨背景的实现基本相同,仅仅是图片不同,在此不作具体描述。6游戏实现及效果如图61为游戏开始界面,点击图中“开始游戏按钮”进入选择游戏天数界面。图61如图62所示为用户选择天气界面,其中有5个选项可供选择,用户可按照自己意愿选择游戏天数。点击按钮后进入游戏准备界面。图62如图63与图64所示,在游戏准备界面中,用户可以选择冷饮或者甜甜圈选项卡。在甜甜圈和冷饮选项卡中,用户可以根据第二天天气情况决定进货数量和食谱。想要增加数量,点击“”按钮即可。如果用户想要重新选择,则选择“重置”按钮,则可恢复当前界面中的选择到原始状态。最后点击“开业”按钮,进入游戏主逻辑画面。图63图64如图65所示,为游戏主逻辑画面图65结论经过几个月时间终于完成了ANDROID系统的“经营冷饮店”游戏的设计与实现。经过多次测试,运行效果良好,基本能满足用户聊天和休闲娱乐的需求。在设计与实现此款游戏过程中,设计游戏内容,熟悉ANDROID平台开发令我话费较多时间和精力。在开始编码程序前期,设计整体游戏框架结构,给每个模块明确分工,以面向对象的思想分析和解决问题的过程令我的编程思想有了较大的提升。在编码程序中期,根据所准备的需求进行具体编写代码和功能实现。遇到了较多的问题。例如DIALOG的监听包和VIEW的监听包不能同时导入,只能导入其中一个,那么在这个ACTIVITY里面需要同时监听这两种不同组件的解决方法;由于ACTIVITY是栈式管理,先打开的ACTIVITY最后关闭,那么如果在任意一个ACTIVITY中随意的关闭整个程序等等。手机内存空间有限,这就要求程序员进行优化处理自身程序,在构建顾客对象过程中,每天一般需要刷新360个顾客对象。如果在初期直接创建360个对象,用户等待时间会相当长,并且非常耗费内存资源。一般手机负荷不了。因此,在创建顾客对象时,分别创建了2组对象,每组10人,当第一组最后一个顾客从左侧走入屏幕后,第二组紧接着第一组最后一名顾客向右走。当第一组最后一名从屏幕右侧走出屏幕,重新初始化第一组对象数据,等待第二组最后一名对象从左走入屏幕,第一组第一名紧跟着第二组最后一名走入屏幕。在编码后期,主要工作为测试,修改简单的BUG和调整游戏中数据的不平衡。使游戏不会太简单又或者太难。在游戏设计过程中,用户的交互体验,视觉效果都是游戏中的重中之重。游戏中数据逻辑的设计难易程度也是一款游戏的关键之处。经过多次测试,本款ANDROID平台下的“经营冷饮店”游戏基本能够满足用户的休闲娱乐需求。参考文献1李华明ANDROID游戏编程之从零开始北京清华大学出版社,20112李刚疯狂ANDROID讲义北京电子工业出版社,20113杨丰盛ANDROID技术内幕系统卷北京机械工业出版社,20114梅尔RETOMEIER、王超ANDROID2高级编程第2版北京清华大学出版社5王克宏著JAVA技术教程(基础篇)北京高等教育出版社,2002046邓凡平深入理解ANDROID卷1北京机械工业出版社7李佐彬等ANDROID开发入门与实战体验北京机械工业出版社8韩超、梁泉ANDROID系统原理及开发要点详解北京电子工业出版社9ERICJBRAUCLE软件设计从程序设计到体系结构李仁发等译北京电子工业出版社,200710赵毅主编跨平台程序设计语言JAVA西安西安电子科技大学出版社,2006GANEMPLOYMENTTRIBUNALCLAIEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEIFYOUARETHINKINGABOUTSIGNINGUPFORADAMAGESBASEDAGREEMENT,YOUSHOULDMAKESUREYOURECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACISTBEHAVIOUROFTHEIRFANS“DURINGCITYS21WINMICHELPLATINI,PRESIDENTOFEUROPEANFOOTBALLSGOVERNINGBODY,HASALSOORDEREDANIMMEDIATEINVESTIGATIONINTOTHEREFEREESACTIONSCSKASAIDTHEYWERE“SURPRISEDANDDISAPPOINTED“BYTOURESCOMPLAINTINASTATEMENTTHERUSSIANSIDEADDED“WEFOUNDNORACISTINSULTSFROMFANSOFCSKA“AGEHASREACHEDTHEENDOFTHEBEGINNINGOFAWORDMAYBEGUILTYINHISSEEMSTOPASSINGALOTOFDIFFERENTLIFEBECAMETHEAPPEARANCEOFTHESAMEDAYMAYBEBACKINTHEPAST,TOONESELFTHEPARANOIDWEIRDBELIEFDISILLUSIONMENT,THESEDAYS,MYMINDHASBEENVERYMESSY,INMYMINDCONSTANTLYALWAYSFEELONESELFSHOULDGOTODOSOMETHING,ORWRITESOMETHINGTWENTYYEARSOFLIFETRAJECTORYDEEPLYSHALLOW,SUDDENLYFEELSOMETHING,DOIT一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。THEENDOFOURLIFE,ANDCANMEETMANYTHINGSREALLYDO而穷尽我们的一生,又能遇到多少事情是真正地非做不可DURINGMYCHILDHOOD,THINKLUCKYMONEYANDNEWCLOTHESARENECESSARYFORNEWYEAR,BUTASTHEADVANCEOFTHEAGE,WILLBEMOREANDMOREFOUNDTHATTHOSETHINGSAREOPTIONALJUNIORHIGHSCHOOL,THOUGHTTOHAVEACRUSHONJUSTMEANSTHATTHEREALGROWTH,BUTOVERTHEPASTTHREEYEARSLATER,HISWRITINGOFALUMNIINPEACE,SUDDENLYFOUNDTHATISNTREALLYGROWUP,ITSEEMSISNOTSOIMPORTANTTHENINHIGHSCHOOL,THINKDONTWANTTOGIVEVENTTOOUTYOURINNERVOICECANBEINTHEHIGHSCHOOLCHILDRENOFTHEFEELINGSINAPERIOD,BUTWASEVENTUALLYINFARCTIONWHENGRADUATIONPARTYINTHETHROAT,LATERAGAINSTOODONTHEPITCHHEHASSWEATPROFUSELY,LOOKEDATHISTHROWNABASKETBALLHOOPS,SUDDENLYFOUNDHIMSELFHASALREADYCANTREMEMBERHISAPPEARANCE童年时,觉得压岁钱和新衣服是过年必备,但是随着年龄的推进,会越来越发现,那些东西根本就可有可无;初中时,以为要有一场暗恋才意味着真正的成长,但三年过去后,自己心平气和的写同学录的时候,突然就发现是不是真正的成长了,好像并没有那么重要了;然后到了高中,觉得非要吐露出自己的心声才能为高中生涯里的懵懂情愫划上一个句点,但毕业晚会的时候最终还是被梗塞在了咽喉,后来再次站在他曾经挥汗如雨的球场,看着他投过篮球的球框时,突然间发现自己已经想不起他的容颜。ORIGINALLY,THISWORLD,CANPRODUCEACHEMICALREACTIONTOANEVENT,INADDITIONTORESOLUTELY,HAVETODO,ANDTIME原来,这个世界上,对某个事件能产生化学反应的,除了非做不可的坚决,还有,时间。APERSONSTIME,YOURIDEASAREALWAYSSPECIALTOCLEARWANT,WANT,LINEISCLEAR,ASIFNOTHINGCOULDSHAKEHISALSOONCESEEMEDTOBEDETERMINEDTODOSOMETHING,BUTMOREOFTENISHEBACKEDOUTATLASTDISLIKEHISCOWARDICE,FINALLYFOUNDTHATTHEREAREALOTOFLOVE,THEREAREALOTOFMISS,LIKESHADOWREALLYHAVEBEENDOOMEDTHOSEWHODO,JUSTGREENYEARSONESELFGIVEONESELFANARMINJECTION,ORISASELFRIGHTEOUSSPIRITUAL一个人的时候,自己的想法总是特别地清晰。想要的,不想要的,界限明确,好像没有什么可以撼动自己。也曾经好像已经下定了决心去做某件事,但更多的时候是最后又打起了退堂鼓。嫌恶过自己的怯懦,最终却发现有很多缘分,有很多错过,好像冥冥之中真的已经注定。那些曾经所谓的非做不可,只是青葱年华里自己给自己注射的一支强心剂,或者说,是自以为是的精神寄托罢了。ATTHEMOMENT,THESKYISDARK,THEAIRISFRESHFACTORAFTERJUSTRAINEDSUDDENLYTHOUGHTOFBLUEPLAIDSHIRTTHOSEWEREBROKENINTOVARIOUSSHAPESOFSTATIONERYFROMTHECORNERATTHEBEGINNINGOFDEEPFRIENDSHIPHAVEDECLAREDTHEENDOFTHEENCOUNTERTHATHAVEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论