首页 arrow J2ME开发 arrow 程序设计 arrow 使用J2ME开发的猜数字游戏
使用J2ME开发的猜数字游戏
Author Author: Wupei | Date Date: 2007-02-22 | View Count View: 4676 | Section & Category J2ME开发 - 程序设计 | Digg Digg: 1

使用高级用户界面技术开发的简单的猜数字游戏:随机生成一个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);
            }
        }
    }
}


更多阅读:

最近更新 ( 2010-04-05 )
 
   评论 (1)
评论的 RSS
1
by: yjy_mjrg (注册会员) 2011-08-30 17:28
没有实现删除数字的功能,不过还是一个不错的小例子
回复该评论

我要发表评论

登录菜单

最新文章

本月热门

订阅本站

RSS 0.91 RSS 1.0 RSS 2.0 ATOM 0.3 OPML