首页 arrow 开发技术 arrow 新手上路 arrow 使用J2ME高级用户界面(猜数字)
使用J2ME高级用户界面(猜数字)
Author Author: 一滴蔚蓝色 | Date Date: 2008-01-14 | View Count View: 1068 | Section & Category 开发技术 - 新手上路 | Digg Digg: 0
[出自:http://blog.csdn.net/mailbomb]
作者:陈跃峰

      使用高级用户界面技术开发的简单的猜数字游戏:随机生成一个0-50之间的数字,如果用户输入的数字大于实际的数字则显示“大了”,如果输入的数字小了,则显示“小了”,如果相等则显示“佩服佩服”。

      游戏源代码如下:

//文件名:CaiMIDlet.java
package caichuzi;


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class CaiMIDlet extends MIDlet {
 static CaiMIDlet instance;
 CaiForm displayable = new CaiForm(this);
 public CaiMIDlet() {
   instance = this;
 }

 public void startApp() {
   Display.getDisplay(this).setCurrent(displayable);
 }

 public void pauseApp() {
 }

 public void destroyApp(boolean unconditional) {
 }

 public static void quitApp() {
   instance.destroyApp(true);
   instance.notifyDestroyed();
   instance = null;
 }

}

//文件名:CaiForm.java
package caichuzi;

import javax.microedition.lcdui.*;

import java.util.*;

public class CaiForm extends Form implements CommandListener {

 CaiMIDlet caiMIDlet;
 /**提交按钮*/
 Command cmdCommit;
 /**退出*/
 Command cmdExit;
 /**数字输入框*/
 TextField tfNumber;

 /**随机对象*/
 Random rd;

 /**随机数字*/
 int randomNumber;

 /**标志是否是第一个运行游戏*/
 boolean flag;

 public CaiForm(CaiMIDlet caiMIDlet) {
   super("猜数字");
   this.caiMIDlet = caiMIDlet;
   tfNumber = new TextField("请输入0-50之间的数字","",25,TextField.NUMERIC);
   cmdCommit = new Command("提交",Command.OK,1);
   cmdExit = new Command("退出",Command.EXIT,1);
   append(tfNumber);
   addCommand(cmdCommit);
   addCommand(cmdExit);

   rd = new Random();
   randomNumber = rd.nextInt(50);
   //标志游戏第一次运行
   flag = true;

   this.setCommandListener(this);
 }

 public void commandAction(Command command, Displayable displayable) {
   //退出按钮
   if (command == cmdExit) {
     // stop the MIDlet
     CaiMIDlet.quitApp();
   }

   //提交按钮
   if(command == cmdCommit){
     //获得输入
     String input = tfNumber.getString();
     //转换成数字
     int temp = Integer.parseInt(input);

     Alert alert = new Alert("猜数字","",null,AlertType.INFO);

     alert.setTimeout(3000);
     //根据输入显示提示信息
     if(temp > randomNumber){
       alert.setString("大了,笨蛋!");
       Display.getDisplay(caiMIDlet).setCurrent(alert);
     }

     if(temp == randomNumber){
       alert.setString("佩服佩服!");
       Display.getDisplay(caiMIDlet).setCurrent(alert);

     }

     if(temp < randomNumber){
       alert.setString("小了,笨蛋!");
       Display.getDisplay(caiMIDlet).setCurrent(alert);
     }

   }
 }

}

更多阅读:

 

尚无评论发表

我要发表评论

登录菜单

最新文章

订阅本站

RSS 0.91 RSS 1.0 RSS 2.0 ATOM 0.3 OPML