android五子棋游戏实验报告

android五子棋游戏实验报告

ID:16513086

大小:784.00 KB

页数:7页

时间:2018-08-13

android五子棋游戏实验报告_第1页
android五子棋游戏实验报告_第2页
android五子棋游戏实验报告_第3页
android五子棋游戏实验报告_第4页
android五子棋游戏实验报告_第5页
资源描述:

《android五子棋游戏实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android开发总结报告_____扫雷小游戏2011年1月一、背景扫雷是一个简单的单人游戏。游戏的目的是在没有触碰任何一个地雷的情形下清空一个雷区。扫雷不仅有Windows版本,也有其他平台的版本(包括大多数Linux的变体)。扫雷在Windows的用户中十分流行,自从Windows3.1以来一直绑定在里面。本程序通过实现Windows扫雷的大多数功能来熟悉Android开发。二、相关技术1.个性化字体,计分器使用的是LED字体,可以帮助我们如何导入外部字体在Android平台中显示。 2.带图片的Toast,下面的Youwonin36sec

2、onds这个Toast使用了自定义的布局,可以显示图片和文字。 3.自定义Button控件,可以看到标记是否为雷,显示附近地雷数量的按钮控件,初学者可以很容易的学习到Android开发中常用的自定义控件技术。4.因为游戏实时性不高,这里没有用到SurfaceView,下次Android开发网给大家提供一个将对高级些的例子。三、程序设计扫雷游戏最重要的部分是处理用户操作。首先等待并接受用户输入,然后恰当的处理。我相信与其我用文字来解释,不如我用图表来解释的效果更好,图表的说服力更强。整个循环用下面的流程图表示:四、实现1.计算时间开发游戏的最重要

3、的事情就是跟踪时间。Java世界里的标准方法是使用java.util.Timer或者java.util.TimerTask保持时间。这里麻烦的地方在于我们需要创建一个新的线程,一些情况下我们并不想这样。Android有更好的解决方案。我们可以使用类android.os.Handler实现目标。用Handler取代Timer。可以用两种方法使用Handler,一种是给Handler传递消息并在消息收到时执行特定的操作,另一种是在Handler中调度一个Runable对象。我们在扫雷中使用第二种方法,使用Handler的好处在于它和creator线

4、程中的thread/message队列相联系。实现handler的代码如下:privateHandlertimer=newHandler();privateintsecondsPassed=0;publicvoidstartTimer(){if(secondsPassed==0){timer.removeCallbacks(updateTimeElasped);//telltimertoruncallbackafter1secondtimer.postDelayed(updateTimeElasped,1000);}}publicvoidsto

5、pTimer(){//disablecallbackstimer.removeCallbacks(updateTimeElasped);}//timercallbackwhentimeristickedprivateRunnableupdateTimeElasped=newRunnable(){publicvoidrun(){longcurrentMilliseconds=System.currentTimeMillis();++secondsPassed;txtTimer.setText(Integer.toString(secondsPas

6、sed));//addnotificationtimer.postAtTime(this,currentMilliseconds);//notifytocallbackafter1seconds//basicallytoremaininthetimerlooptimer.postDelayed(updateTimeElasped,1000);}};2.模拟左右键Android不支持中间键的点击事件,我们使用长点击事件来模拟此功能。如果长点击事件在一个有数字的打开的砖块上发生,我们就击发相应的功能。这部分的代码如下:blocks[row][col

7、umn].setOnLongClickListener(newOnLongClickListener(){publicbooleanonLongClick(Viewview){//simulatealeft-right(middle)click//ifitisalongclickonanopenedminethen//openallsurroundingblocksif(!blocks[currentRow][currentColumn].isCovered()&&(blocks[currentRow][currentColumn].getNu

8、mberOfMinesInSorrounding()>0)&&!isGameOver){intnearbyFlaggedBlocks=0;for(in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。