J2ME 2D小游戏入门之旅(六) 计时器和奖惩与评价

原创 2004年10月31日 19:23:00

六、计时器和奖惩与评价<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    我们该加入我们的计时器了,我要从游戏开始时刻开始计时,并不断的更新到屏幕上,在游戏结束后计时器要停止工作。

 

首先在初始化的时候将当前时刻记录下来:

gametime=0;

gametimeoffset=System.currentTimeMillis();

 

以后只要游戏不gameover就在每个更新周期都进行一次计算:

    gametime=(System.currentTimeMillis()-gametimeoffset)/1000;

//转换为秒

 

下面要做的就是将它显示出来,还记得我们曾经实现的字体类了吗,这下子有用了,首先是实例化一个字体类:

    img=ImageTools.getImage("/pic/b_number.png");

fontbig=new   Font(g,img,10,15,

new char[]{'0','1','2','3','4','5','6','7','8','9'});

然后就是显示:

fontbig.drawString(String.valueOf(gametime),screenwidth/2-15,10);

还真是方便yeah

 

 

接着是奖励系统,我们规定每过20s就加一个bomb给玩家。

int awardindex=(int)gametime/20;//计算奖励时间

    if(awardindex>bombawardtop)

      awardindex=bombawardtop;

    if(bombaward[awardindex]!=0){//如果本20s没有奖励

      bombnum+=bombaward[awardindex];

      bombaward[awardindex]=0;//奖励过了

}

 

尽可能简单和给出些提示是我写本文的原则, 所以评价系统,很ez

我们建立一个辅助类,提供一个方法,输入游戏时间,返回一个String评语。

public class StringTools {

  protected StringTools() {

  }

 

  public static String timeOpinion(long gametime){

    if(gametime<10){

      return "Do you play with your foot?";

      //return "i can't belive,your are a game master";

    }else if(gametime<16){

      return "come boy, you can do it!";

    }else if(gametime<20){

      return "what a pity! try again.";

    }else if(gametime<25){

      return "very well, you are a real man.";

    }else if(gametime<30){

      return "i know you have talent of this game.";

    }else if(gametime<40){

      return "i can't belive, your are a game master.";

    }else{

      return "oh my god, are you a human?";

    }

  }

}

之后显示出来就好了,我手头没有合适大小的字体图片,我直接使用

g.drawString(StringTools.timeOpinion(gametime),5,22,g.LEFT|g.TOP);

想在手机小小的屏幕容下那么东西是挺费劲的,其实这也是我对手机上玩游戏没什么兴趣,不过我对手机网络应用冲满了信心。

 

J2ME 2D小游戏入门之旅

CSDN 首页 → 移动频道首页 → 栏目文章列表http://mobile.csdn.net/List.aspx?Column=edfb0da7-e3b1-495d-b38c-5e362c42a78...
  • liulcsy
  • liulcsy
  • 2005年05月28日 16:52
  • 656

J2ME 2D小游戏入门之计时器

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:39
  • 134

J2ME 2D小游戏入门之旅(八) 源码

源码:说明一下,请不要将里面的图片用于商业目的,有什么问题的话联系tony(yesming),我的纯粹是学习之用。他的blog:blog.csdn.net/yesming源码请上 www.j2mede...
  • alikeboy
  • alikeboy
  • 2004年10月31日 20:07
  • 1975

J2ME 2D小游戏入门之旅(八)源码

作者:favoyang 文章来源:J2ME开发网八、源码源码:说明一下,请不要将里面的图片用于商业目的,有什么问题的话联系tony(yesming),tony的blog地址为http://blog.c...
  • mobilechannel
  • mobilechannel
  • 2005年05月24日 14:58
  • 3315

J2ME入门之HelloWorld

引言  前面几篇文章已经介绍了Eclipse及其工作环境的安装、配置过程,并完成各项相关准备工作。因此从本文开始将讲述如何使用前面配置好的Eclipse开发环境来创建J2ME项目,开始真正的J2ME开...
  • runner0592
  • runner0592
  • 2006年08月10日 23:35
  • 4108

J2ME 2D小游戏入门之旅(三)控制飞机移动

作者:favoyang 文章来源:J2ME开发网 三、控制飞机的移动   实在是等不及了吧?加把劲,让我们加入游戏的主角飞机吧。你可以将这个游戏定位在动作游戏,一个动作游戏需要不断的从用户端获得输入,...
  • mobilechannel
  • mobilechannel
  • 2005年05月24日 14:36
  • 2144

J2ME 2D小游戏入门之旅(二)完善周边工具类

作者:favoyang 文章来源:J2ME开发网二、完善周边工具类(图象、GameObject、Font)    虽然我们有了midp2.0的支持,但是有时还是需要一些辅助工具,方便我们使用。这怕是在...
  • mobilechannel
  • mobilechannel
  • 2005年05月24日 14:34
  • 2273

J2ME 2D小游戏入门之旅(三) 控制飞机的移动

    实在是等不及了吧?加把劲,让我们加入游戏的主角飞机吧。        你可以将这个游戏定位在动作游戏,一个动作游戏需要不断的从用户端获得输入,基本上不间断,所以plane需要不断的改变位置。那...
  • alikeboy
  • alikeboy
  • 2004年10月28日 17:04
  • 1671

J2ME 2D小游戏入门之旅(二)完善周边工具类

二、完善周边工具类(图象、GameObject、Font)    虽然我们有了midp2.0的支持,但是有时还是需要一些辅助工具,方便我们使用。这怕是在进行真正的游戏设计之前最有趣的了。1,首先是一个...
  • alikeboy
  • alikeboy
  • 2004年10月28日 14:29
  • 1499

J2ME 2D小游戏入门之旅(一)游戏的框架

                                                                                                    ...
  • alikeboy
  • alikeboy
  • 2004年10月28日 14:09
  • 1676
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2ME 2D小游戏入门之旅(六) 计时器和奖惩与评价
举报原因:
原因补充:

(最多只允许输入30个字)