• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

猜数字MIDP版 v0.1

发布: 2007-7-01 18:47 | 作者: admin | 来源: | 查看: 12次 | 进入软件测试论坛讨论

领测软件测试网

猜数字 想来大部分人都玩过,就是设定四个数字去猜测,最多八次机会。四个数字在0--1之间,互不重复。数字位置均正确记一个a,数字正确位置不正确记一个b。结果 就是xaxb,4a0b时玩家胜利。

猜数字的算法很简单,看看源代码就明白了,不行我的blog还有另一篇专门说算法的。这篇主要说其在MIDP上的实现。

MIDP通常是由事件驱动的(动态游戏例外),此游戏也不例外。通过用户选择按钮,游戏做出相应的事件处理,完成功能。

1.form和command
作为高级API,MIDP的Displayable派生出两个类:Screen和Form。前者占据整个屏幕,如TextBox等;后者则相当于一个容器,容器中可以装不限量的“内容”——Item。本游戏使用Form。
而Command类表示按钮。按钮可以被看作标识物,是不会显示在Displayable所占据的屏幕上的,而是在手机屏幕的另外的区域——一般用过手机的都知道,在左下脚和右下脚,分别由两个按钮控制。Command的用法是:
a.先声明:
Command c = new Command("进入",Command.OK,0);
“进入”是Command的表面文字,OK是Command的类型,0是其优先级。后两个参数是提供给MIDP的实现者来确定按钮的位置的(屏幕太小,要省着用)。
b.然后将Command添加到某个Displayable上:
displayable.addCommand(c);
这样在这个dispalayable显示时,就会出现该命令了。
c.最重要的设定某个监听程序,对按下Command的事件做出相应的响应。
Displayable.setCommandListener(CommandListener);
CommandListener是个接口,方便起见通常都直接用MIDP实现它,要实现的方法只有一个:
public void commandAction(Command,Displayable){}
其原理是:由Displayable指定某个程序来监听按钮事件,当该Displayable上有按钮事件发生时,就调用指定的事件处理程序来处理(未添加到任何Displayalbe上的Command当然不会被点击到)。

这里Command有一个特点,它是相对独立的,即其实并不依附于任何一个Displayable,结果一个Command就可以同时添加到多个Displayable上了——commandAction的两个参数才能决定一个独一无二的事件,因为一个commandAction可以同时监听多个Displayable,因此仅凭Command不一定能确定发生了哪个事件。

2.游戏的实现
弄清楚了Form,Command,游戏的流程就容易了:设定若干个Form,每个显示相应的游戏阶段的信息,然后配上需要的Command,在事件处理函数commandAction中做一一对应的处理。
这些在源代码中都写得很清楚,不再冗述。

值得一提的是游戏界面和逻辑层是分开的,即逻辑层的两个类可以用到其他界面中去(如Swing),或者更好看些的MIDP(如GameCanvas)。


文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网