别踩百块儿游戏程序设计_第1页
别踩百块儿游戏程序设计_第2页
别踩百块儿游戏程序设计_第3页
别踩百块儿游戏程序设计_第4页
别踩百块儿游戏程序设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机游戏程序设计计算机科学院数字媒体技术

游戏名称:别猜白块开发工具:eclipse游戏平台:夜神安卓模拟器 模拟器规格:主频:1.5GHz内存:1GB 操作系统:安卓开发语言:java游戏简介:别踩白块儿,这就是这个游戏唯一的一个规则。游戏简单易上手,并且有多重玩法,画面分为4行4列,每一行都只有一个黑色色块,你的任务就是按对他——游戏共三个模式,经典、街机、禅。经典模式中玩家的目标是在最短的时间内按完50个黑方块,每按对一个画面会自动下降。游戏特性本游戏设计灵感来自于钢琴,但是之前也有类似的钢琴游戏比如《极品钢琴》但是极品钢琴键位较多,难度较大,不适合业余玩家使用。所以别踩百块就简化了操作,只保留了四个键位,可玩性得到了增强,而趣性也得到了保留简单易玩,老少咸宜,可谓居家旅行+上班打发无聊得利器噢5x3种好玩的模式美妙的钢琴音效顺畅的游戏体验支持GameCenter排行榜(鄙视作弊的)支持社交网络分享,可以随时炫耀自己得成绩警告,这个游戏很容易上瘾,自制力不好的人慎玩!游戏背景自从越南的的独立游戏开发者——DongNguyen花了几个晚上为游戏界打了一针鸡血后,《疯狂的小鸟》(FlappyBird)带来的极简游戏风暴就一直没停歇过,事实上这股风暴根本停不下来。紧随其后,《2048》再一次掀起了极简游戏风暴。而《别踩百块》正是继承了这一极简风格。极简游戏之所以如此风靡,其关键点就在于其操作的简单性。操作的简单性导致了这个游戏对于任何人而言都很容易上手,不管是在校大学生、白领、甚至是老人小孩都很热衷于玩这款游戏。由于极易上手,操作简便,模式简单,不管是对于开发者还是使用者都是意见好事儿。对于开发者,简单的游戏更容易开发,也很容易受到欢迎甚至是风靡,对于使用者,人们可以利用碎片化的时间,无论是在地铁、公交课间休息,只要一个手机就可以玩了。玩法评分★★★★★《别踩白块儿》是一款非常考验反应速度的游戏,画面分为4行4列(某些模式除外),每一行都只有一个黑色色块,你的任务就是按对他——游戏共115个模式,其中耐玩性最高的就是经典、街机、限时模式了。经典模式中玩家的目标是在最短的时间内按完20、50、100或200个黑方块,每按对一个画面会自动下降。街机模式则没有时间限制,但画面会一刻不停的下落,而且速度越来越快,你要在这样的限制下,尽可能多的按对色块,漏掉或者按错游戏都会结束。限时模式则是给玩家10、30、60或100秒钟,比拼谁能准确按完的色块最多。画面评分★★★☆☆本游戏的画面还算可以。多彩的画面简洁而不繁琐。新版的画面相比以前的可谓好了十万八千里,同时也增加了许多的元素。音效评分★★☆☆☆音效嘛,呵呵,也和画面一样精简。整个游戏中除了按到方块时有一点声音外,没有任何音效音乐了。操作评分★★★★★作为考验反应力的游戏,《别踩白块儿》的操作响应是很完美,例如在高速的街机模式中,这种流畅感尤其能得到体现。整体评分★★★★☆代入感是本游戏的一大缺失。《FlappyBird》有熟悉的马里奥背景坐镇,《2048朝代版》有上下五千年护航,如果《别踩白块儿》能加点网络流行的神兽图,或者暴走漫画表情等,一定还可以让人气更上一层。游戏框架PlayPlay开始游戏开始游戏重新开始重新开始游戏结束游戏结束退出退出启动流程:打开eclipse编写代码:试运行运行结束

操作指南1、视线落在屏幕的中上方,为了预防不测。你在按这个的同时眼睛已经看下一个了。2、街机模式一旦开启,玩家必须注意黑白块儿下滑的速度。初始是不快的,但是一旦玩家可以不断点击黑块,就会逐渐加速下滑的速度(增加不多,但是的确有)所以,建议大家,没有必要太过追求速度点击黑块,只要保证跟上初始下滑的速度即可。3、把色块大致分成三种,第一种是单块,第二种是双,三,四块,第三种是场块,按的时候这三种在脑子里分别的用不同方法进行判定。这样就不至于按到六七百的时候乱了。4、放平心态。早前一款超虐心游戏不知道牺牲掉了多少台手机,挂了摔手机的冲动也不是人人可以克制住。所以,在玩这款游戏之前,还是建议大家放平了心态。不要想着要刷多少分,休闲时,拿出手机来试一下手感,往往可以起到奇效。5、眼睛一定不要盯着屏幕上的黑块,不然你会感觉手忙脚乱,把视野放到全局,虽然视线模糊了,但是不要慌,跟着感觉打就对了。6、多手操作。这个没有要讲的,如果玩大屏设备(例如iPad)的玩家肯定早都上两只手了,据说可以单手刷满500以上的,都是撸神。双手操作,更容易跟上速度,不过需要注意协调性,往往会出现上下顺序点错的问题。7、从下往上,分工进行。意思就是,玩家在看下滑的方块时,因为黑色更加醒目,大部分的玩家在前面几乎不会出现失误。往往到后面,长时间的眼睛色差疲劳,加上手指灵活性降低,一念之差就有可能功亏一篑。所以,玩家可以试着,降慢速度,从下方跟着下滑到最底的黑块进行点击,左右手分工左右方,可以保证双手平摊工作,不会造成手部疲劳。部分功能源码:BaseProperty.javapackagecom.example.bcbk;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.graphics.Rect;importandroid.view.MotionEvent;publicabstractclassBaseProperty{ publicPaintpaint; intscreen_width=MainActivity.screen_width; intscreen_height=MainActivity.screen_height; publicabstractvoidonTouch(MotionEventevent); }gameMenu.javapackagecom.example.bcbk;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Rect;importandroid.util.Log;importandroid.view.MotionEvent;importandroid.widget.Toast;//游戏菜单页面publicclassGameMenuextendsBaseProperty{ RecttargetRect; Stringstr="Play"; floatx_left; floatx_right; floaty_top; floaty_botton; changeStatechange; publicGameMenu(){ paint=newPaint(); paint.setAntiAlias(true); paint.setColor(Color.WHITE); paint.setTextSize(70); targetRect=newRect(); //返回包围整个字符串的最小的一个Rect区域 paint.getTextBounds(str,0,str.length(),targetRect); } publicvoidsetChange(changeStatechange){ this.change=change; } publicvoidondraw(Canvascanvas){ canvas.drawRGB(0,0,0); inttextheight=targetRect.height(); inttextwidth=targetRect.width(); x_left=(screen_width-textwidth)/2; x_right=(screen_width+textwidth)/2; y_top=(screen_height-textheight)/2-textheight; y_botton=(screen_height-textheight)/2; canvas.drawText(str,x_left,(screen_height-textheight)/2,paint); } @Override publicvoidonTouch(MotionEventevent){ floatx=event.getX(); floaty=event.getY(); switch(event.getAction()){ caseMotionEvent.ACTION_DOWN: if(isStart(x,y)){ if(change!=null){ change.execute(GameState.STATE_PLAY_INIT); } } break; default: break; } } publicbooleanisStart(floatx,floaty){ if(x>x_left&&x<x_right){ if(y>y_top&&y<y_botton){ returntrue; } } returnfalse; } publicinterfacechangeState{ publicvoidexecute(intstate); } }GameOver.javapackagecom.example.bcbk;importandroid.graphics.Canvas;importandroid.util.Log;importandroid.view.MotionEvent;importcom.example.bcbk.GameMenu.changeState;publicclassGameOverextendsBaseProperty{ privatechangeStatechange; privateDrawTexttext_score;//分数 privateDrawTexttext_Mkuai;//每秒块数 privateDrawTexttext_again;//重来 privateDrawTexttext_over;//结束 @Override publicvoidonTouch(MotionEventevent){ //TODOAuto-generatedmethodstub switch(event.getAction()){ caseMotionEvent.ACTION_DOWN: if(text_again.onTouch(event)){ change.execute(GameState.STATE_PLAY_INIT); }elseif(text_over.onTouch(event)){ android.os.Process.killProcess(android.os.Process.myPid()); System.exit(0); } break; default: break; } } publicGameOver(){ text_score=newDrawText(); text_score.setXY(screen_width/2,screen_height/2); text_Mkuai=newDrawText(); text_Mkuai.setText(GameScore.SCORE+"分",60); text_Mkuai.setXY(screen_width/4,screen_height/4); text_again=newDrawText(); text_again.setText("重来",40); text_again.setXY(screen_width/4,screen_height*3/4); text_over=newDrawText(); text_over.setText("结束",40); text_over.setXY(screen_width*3/4,screen_height*3/4); } publicvoidondraw(Canvascanvas){ text_score.setText(GameScore.SCORE+"分",60); text_score.ondraw(canvas); // text_Mkuai.ondraw(canvas); text_again.ondraw(canvas); text_over.ondraw(canvas); } publicvoidsetchange(changeStatechange){ //TODOAuto-generatedmethodstub this.change=change; } publicvoidlogic(){ }}GamePlay.javapackagecom.example.bcbk;importjava.util.ArrayList;importjava.util.List;importjava.util.Timer;importjava.util.TimerTask;importcom.example.bcbk.GameMenu.changeState;importandroid.graphics.Canvas;importandroid.util.Log;importandroid.view.MotionEvent;publicclassGamePlayextendsBaseProperty{ List<RowRect>rowrects; intk=-1;//判断第几个被点击 intSPEED=1;//游戏的速度 privatechangeStatechange; publicbooleancan_click=true;//方块是否可以被点击 publicGamePlay(){ } publicvoidinit(){ //创建5行,每一行中4个块,i代表第几行 rowrects=newArrayList<RowRect>(); for(inti=0;i<5;i++){ rowrects.add(newRowRect(i)); } //初始化速度为1 SPEED=1; //定时增加速度 GameScore.SCORE=0; Timertimer=newTimer(); timer.schedule(newTimerTask(){ @Override publicvoidrun(){ //TODOAuto-generatedmethodstub SPEED=SPEED+1; } },3000,3000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务. } publicvoidsetchange(changeStatechange){ this.change=change; } publicvoidondraw(Canvascanvas){ //TODOAuto-generatedmethodstub //对行进行绘画 for(inti=0;i<rowrects.size();i++){ rowrects.get(i).ondraw(canvas); } } @Override publicvoidonTouch(MotionEventevent){ //TODOAuto-generatedmethodstub switch(event.getAction()){ caseMotionEvent.ACTION_DOWN: if(can_click){ for(inti=0;i<rowrects.size();i++){ rowrects.get(i).onTouch(event); } can_click=false; } break; caseMotionEvent.ACTION_UP: can_click=true; break; } } publicvoidlogic(){ for(inti=0;i<rowrects.size();i++){ //判断游戏是否结束 if(rowrects.get(i).isGAME_STATE()){ change.execute(GameState.STATE_OVER); } //移动每一行Y值 rowrects.get(i).moveY(SPEED); //判断行是否出屏,出屏死亡 if(rowrects.get(i).isDie()){ //死亡后取出此行, RowRectrowrect=rowrects.get(i); //吧此行从list集合中移除 rowrects.remove(i); //重置此行为第0行 rowrect.setI(0); //重置此行生命为false rowrect.setDie(false); //重置此行点击为false rowrect.setClick(false); //重新添加进list集合进行绘制 rowrects.add(0,rowrect); } } }}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计\t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论