⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canvas01_dishu.java

📁 J2ME下的图形编程实例,包括简单图形的绘制,以及一个打老鼠的游戏实现.可为学习参考.
💻 JAVA
字号:
package ch05;

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

public class canvas01_dishu
    extends MIDlet
    implements CommandListener {
  //声明一个Display对象
  private Display display = Display.getDisplay(this);
  private canvas01_dishutu02 kc;

  //声明1个图象
  Form f;
  Image image, aimage, bimage, cimage, dimage;
  //声明1个列表
  List list, list1;
  Ticker currentTicker;
  //声明一个退出按钮
  private Command exitCommand = new Command("退出", Command.EXIT, 1);
  private Command okCommand = new Command("确定", Command.OK, 0);
  private Command backCommand = new Command("后退", Command.BACK, 0);
  private Command okCommand1 = new Command("选择", Command.OK, 0);

//
  static int av;

  //构造器
  public canvas01_dishu() {
    f = new Form("欢迎你来到打地鼠小游戏");
    try {
      image = Image.createImage("/icons/background/ddd.d.png");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    f.append(image);
    display.setCurrent(f);
  }

  public void init() {
    try {
      aimage = Image.createImage("/icons/background/star.png");
      bimage = Image.createImage("/icons/background/star.png");
      cimage = Image.createImage("/icons/background/star.png");
      dimage = Image.createImage("/icons/background/star.png");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    Image[] imageArray = {
        aimage, bimage, cimage, dimage};
    String[] stringArray = {
        "开始游戏", "难易度", "你获得的分数", "退出游戏"};
    try {
      list = new List("目录", Choice.EXCLUSIVE, stringArray,
                      imageArray);
      list1 = new List("目录", Choice.EXCLUSIVE, stringArray,
                       imageArray);
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    try {
      currentTicker = new Ticker("欢迎来到da地鼠游戏!祝你玩的开心愉快!");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }

    list.setTicker(currentTicker);
    list.addCommand(exitCommand);
    list.addCommand(okCommand);
    display.setCurrent(list);
    list.setCommandListener(this);
  }

  public void nanyidu() {
    try {
      aimage = Image.createImage("/icons/background/star.png");
      bimage = Image.createImage("/icons/background/star.png");
      cimage = Image.createImage("/icons/background/star.png");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    Image[] imageArray = {
        aimage, bimage, cimage};
    String[] stringArray = {
        "简单", "困难", "地狱"};
    try {
      list1 = new List("目录", Choice.EXCLUSIVE, stringArray,
                       imageArray);
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    try {
      currentTicker = new Ticker("欢迎来到da地鼠游戏!祝你玩的开心愉快!");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }

    list1.setTicker(currentTicker);
    list1.addCommand(backCommand);
    list1.addCommand(okCommand1);
    display.setCurrent(list1);
    list1.setCommandListener(this);
  }

  public void start() {
    kc = new canvas01_dishutu02();
    display.setCurrent(kc);
    //启动绘制图形
    kc.paint();
    kc.addCommand(okCommand);
    kc.addCommand(backCommand);
    kc.setCommandListener(this);
  }

  //启动应用程序
  public void startApp() {
    try {
      Thread.sleep(500);
    }
    catch (Exception oo) {}
    init();
  }

  //挂起应用程序
  public void pauseApp() {
  }

  //撤销应用程序
  public void destroyApp(boolean unconditional) {
  }

  //响应按钮事件
  public void commandAction(Command c, Displayable s) {
    if (c == exitCommand) {
      destroyApp(true);
      notifyDestroyed();
    }
    if (c == backCommand) {
      init();
    }

    if (list.isSelected(1)) {
      if (c == okCommand) {
        nanyidu();
      }
      if (list1.isSelected(0)) {
        if (c == okCommand1) {
          kc.sleep = 2500;
          init();
        }
      }
      if (list1.isSelected(1)) {
        if (c == okCommand1) {
          kc.sleep = 1000;
          init();
        }
      }
      if (list1.isSelected(2)) {
        if (c == okCommand1) {
          kc.sleep = 500;
          init();
        }
      }
    }
    if (list.isSelected(0)) {
      if (c == okCommand) {
        start();
      }
    }
    if (list.isSelected(2)) {
      if (c == okCommand) {
        chengji();
      }
    }
    if (list.isSelected(3)) {
      if (c == okCommand) {
        tuichu();
      }
    }
  }

  void chengji() {
    Form f4 = new Form("你获得的成绩表");
    try {
      av = kc.arraa - kc.array;
      kc.junzhi = 100 * kc.array / kc.arraa;
      currentTicker = new Ticker("恭喜你打死了" + kc.array + "个地鼠" + "\n" +
                                 "你想死呀,你放跑了" + av + "个地鼠" + "\n" +
                                 "你共获得了" +
                                 kc.junzhi + "分");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    f4.setTicker(currentTicker);
    f4.append("恭喜你打死了" + kc.array + "个地鼠" + "\n" +
              "你想死呀,你放跑了" + av + "个地鼠" + "\n" + "你共获得了" +
              kc.junzhi + "分"
              );
    try {
      image = Image.createImage("/icons/background/ange.png");
    }
    catch (Exception oo) {
    }
    f4.append(image);
    f4.addCommand(backCommand);
    display.setCurrent(f4);
    f4.setCommandListener(this);
    kc.arraa = 0;
    kc.array = 0;
  }

  public void tuichu() {
    Form f1 = new Form("欢迎下次再来,再见了呀,88!");
    try {
      image = Image.createImage("/icons/background/eee.e.png");
    }
    catch (Exception oo) {
    }
    f1.append(image);
    display.setCurrent(f1);
    Check cc = new Check();
    cc.start();
  }

  private class Check
      extends Thread {
    public final void run() {
      try {
        Thread.sleep(500);
      }
      catch (Exception oo) {}

      destroyApp(true);
      notifyDestroyed();
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -