




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机游戏程序设计计算机科学院数字媒体技术游戏名称:别猜白块开发工具:eclipse游戏平台:夜神安卓模拟器模拟器规格:主频:1.5GHz内存:1GB 操作系统:安卓开发语言:java游戏简介:别踩白块儿,这就是这个游戏唯一的一个规则。游戏简单易上手,并且有多重玩法,画面分为4行4列,每一行都只有一个黑色色块,你的任务就是按对他游戏共三个模式,经典、街机、禅。经典模式中玩家的目标是在最短的时间内按完50个黑方块,每按对一个画面会自动下降。游戏特性本游戏设计灵感来自于钢琴,但是之前也有类似的钢琴游戏比如极品钢琴但是极品钢琴键位较多,难度较大,不适合业余玩家使用。所以别踩百块就简化了操作,只保留了四个键位,可玩性得到了增强,而趣性也得到了保留简单易玩,老少咸宜,可谓居家旅行+上班打发无聊得利器噢5 x 3种好玩的模式美妙的钢琴音效顺畅的游戏体验支持GameCenter排行榜 (鄙视作弊的)支持社交网络分享,可以随时炫耀自己得成绩警告,这个游戏很容易上瘾,自制力不好的人慎玩!游戏背景自从越南的的独立游戏开发者Dong Nguyen花了几个晚上为游戏界打了一针鸡血后,疯狂的小鸟(Flappy Bird)带来的极简游戏风暴就一直没停歇过,事实上这股风暴根本停不下来。紧随其后,2048再一次掀起了极简游戏风暴。而别踩百块正是继承了这一极简风格。极简游戏之所以如此风靡,其关键点就在于其操作的简单性。操作的简单性导致了这个游戏对于任何人而言都很容易上手,不管是在校大学生、白领、甚至是老人小孩都很热衷于玩这款游戏。由于极易上手,操作简便,模式简单,不管是对于开发者还是使用者都是意见好事儿。对于开发者,简单的游戏更容易开发,也很容易受到欢迎甚至是风靡,对于使用者,人们可以利用碎片化的时间,无论是在地铁、公交课间休息,只要一个手机就可以玩了。 玩法评分 别踩白块儿是一款非常考验反应速度的游戏,画面分为4行4列(某些模式除外),每一行都只有一个黑色色块,你的任务就是按对他游戏共115个模式,其中耐玩性最高的就是经典、街机、限时模式了。经典模式中玩家的目标是在最短的时间内按完20、50、100或200个黑方块,每按对一个画面会自动下降。街机模式则没有时间限制,但画面会一刻不停的下落,而且速度越来越快,你要在这样的限制下,尽可能多的按对色块,漏掉或者按错游戏都会结束。限时模式则是给玩家10、30、60或100秒钟,比拼谁能准确按完的色块最多。画面评分 本游戏的画面还算可以。多彩的画面简洁而不繁琐。新版的画面相比以前的可谓好了十万八千里,同时也增加了许多的元素。音效评分 音效嘛,呵呵,也和画面一样精简。整个游戏中除了按到方块时有一点声音外,没有任何音效音乐了。操作评分 作为考验反应力的游戏,别踩白块儿的操作响应是很完美,例如在高速的街机模式中,这种流畅感尤其能得到体现。整体评分 代入感是本游戏的一大缺失。Flappy Bird有熟悉的马里奥背景坐镇,2048朝代版有上下五千年护航,如果别踩白块儿能加点网络流行的神兽图,或者暴走漫画表情等,一定还可以让人气更上一层。游戏框架Play开始游戏重新开始游戏结束退出启动流程:一、 打开eclipse二、 编写代码:三、 试运行运行结束操作指南1、视线落在屏幕的中上方,为了预防不测。你在按这个的同时眼睛已经看下一个了。2、街机模式一旦开启,玩家必须注意黑白块儿下滑的速度。初始是不快的,但是一旦玩家可以不断点击黑块,就会逐渐加速下滑的速度(增加不多,但是的确有)所以,建议大家,没有必要太过追求速度点击黑块,只要保证跟上初始下滑的速度即可。3、把色块大致分成三种,第一种是单块,第二种是双,三,四块,第三种是场块,按的时候这三种在脑子里分别的用不同方法进行判定。这样就不至于按到六七百的时候乱了。4、放平心态。早前一款超虐心游戏不知道牺牲掉了多少台手机,挂了摔手机的冲动也不是人人可以克制住。所以,在玩这款游戏之前,还是建议大家放平了心态。不要想着要刷多少分,休闲时,拿出手机来试一下手感,往往可以起到奇效。5、眼睛一定不要盯着屏幕上的黑块,不然你会感觉手忙脚乱,把视野放到全局,虽然视线模糊了,但是不要慌,跟着感觉打就对了。6、多手操作。这个没有要讲的,如果玩大屏设备(例如iPad)的玩家肯定早都上两只手了,据说可以单手刷满500以上的,都是撸神。双手操作,更容易跟上速度,不过需要注意协调性,往往会出现上下顺序点错的问题。7、从下往上,分工进行。意思就是,玩家在看下滑的方块时,因为黑色更加醒目,大部分的玩家在前面几乎不会出现失误。往往到后面,长时间的眼睛色差疲劳,加上手指灵活性降低,一念之差就有可能功亏一篑。所以,玩家可以试着,降慢速度,从下方跟着下滑到最底的黑块进行点击,左右手分工左右方,可以保证双手平摊工作,不会造成手部疲劳。部分功能源码:BaseProperty.javapackage com.example.bcbk;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.view.MotionEvent;public abstract class BaseProperty public Paint paint;int screen_width=MainActivity.screen_width;int screen_height=MainActivity.screen_height;public abstract void onTouch(MotionEvent event);gameMenu.javapackage com.example.bcbk;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.util.Log;import android.view.MotionEvent;import android.widget.Toast;/游戏菜单页面public class GameMenu extends BasePropertyRect targetRect;String str=Play;float x_left;float x_right;float y_top;float y_botton;changeState change;public GameMenu()paint=new Paint();paint.setAntiAlias(true);paint.setColor(Color.WHITE);paint.setTextSize(70);targetRect = new Rect();/返回包围整个字符串的最小的一个Rect区域paint.getTextBounds(str, 0, str.length(), targetRect); public void setChange(changeState change)this.change=change;public void ondraw(Canvas canvas)canvas.drawRGB(0, 0, 0);int textheight=targetRect.height();int textwidth=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);Overridepublic void onTouch(MotionEvent event)float x=event.getX();float y=event.getY();switch (event.getAction() case MotionEvent.ACTION_DOWN:if(isStart(x, y)if(change!=null)change.execute(GameState.STATE_PLAY_INIT);break;default:break;public boolean isStart(float x,float y)if(xx_left&xy_top&yy_botton)return true;return false;public interface changeStatepublic void execute(int state);GameOver.javapackage com.example.bcbk;import android.graphics.Canvas;import android.util.Log;import android.view.MotionEvent;import com.example.bcbk.GameMenu.changeState;public class GameOver extends BaseProperty private changeState change;private DrawText text_score;/分数private DrawText text_Mkuai;/每秒块数private DrawText text_again;/重来private DrawText text_over;/结束Overridepublic void onTouch(MotionEvent event) / TODO Auto-generated method stubswitch (event.getAction() case MotionEvent.ACTION_DOWN:if(text_again.onTouch(event)change.execute(GameState.STATE_PLAY_INIT);else if(text_over.onTouch(event)android.os.Process.killProcess(android.os.Process.myPid();System.exit(0);break;default:break;public GameOver()text_score=new DrawText();text_score.setXY(screen_width/2, screen_height/2);text_Mkuai=new DrawText();text_Mkuai.setText(GameScore.SCORE+分, 60);text_Mkuai.setXY(screen_width/4, screen_height/4);text_again=new DrawText();text_again.setText(重来, 40);text_again.setXY(screen_width/4, screen_height*3/4);text_over=new DrawText();text_over.setText(结束, 40);text_over.setXY(screen_width*3/4, screen_height*3/4);public void ondraw(Canvas canvas)text_score.setText(GameScore.SCORE+分, 60);text_score.ondraw(canvas);/text_Mkuai.ondraw(canvas);text_again.ondraw(canvas);text_over.ondraw(canvas);public void setchange(changeState change) / TODO Auto-generated method stubthis.change=change;public void logic()GamePlay.javapackage com.example.bcbk;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.TimerTask;import com.example.bcbk.GameMenu.changeState;import android.graphics.Canvas;import android.util.Log;import android.view.MotionEvent;public class GamePlay extends BaseProperty List rowrects;int k = -1;/ 判断第几个被点击int SPEED = 1;/游戏的速度private changeState change;public boolean can_click = true;/ 方块是否可以被点击public GamePlay() public void init()/ 创建5行,每一行中4个块,i代表第几行rowrects = new ArrayList();for (int i = 0; i 5; i+) rowrects.add(new RowRect(i);/初始化速度为1SPEED=1;/定时增加速度GameScore.SCORE=0;Timer timer = new Timer();timer.schedule(new TimerTask() Overridepublic void run() / TODO Auto-generated method stubSPEED=SPEED+1;, 3000, 3000);/在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.public void setchange(changeState change) this.change = change;public void ondraw(Canvas canvas) / TODO Auto-generated method stub/ 对行进行绘画for (int i = 0; i rowrects.size(); i+) rowrects.get(i).ondraw(canvas);Overridepublic void onTouch(MotionEvent ev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐博士机器人课件
- 公司员工下班安全培训课件
- 公司后厨安全操作培训课件
- DMG-PEG-SH-MW-5000-生命科学试剂-MCE
- 丽声拼读课件公开课
- 丽声-the-big-matc教学课件
- 予与盾的结合课件
- 应急期间运力调配与调度调整预案
- 厂内道路交通事件应急预案
- 危险化学品(溶剂、酸碱、气体)泄漏应急预案
- 2025年贵州省中考化学真题卷含答案解析
- 高压供电设备基础知识培训课件
- 2025年中医确有专长考试题及答案
- (2025年标准)教师定岗协议书
- GB/T 45980-2025飞机供电特性数字式测试要求
- 2025年度粉末涂料生产与销售合同范本
- 8 回忆鲁迅先生(课件)语文统编版2024八年级上册
- 三力测试题库2025版考题及答案
- 2025北京京剧院招聘工作人员10人笔试模拟试题及答案解析
- 2025工勤考试收银审核员(高级技师)考试题(含答案)
- 2025年蜀道投资集团有限责任公司招聘笔试备考题库附答案详解(达标题)
评论
0/150
提交评论