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

📄 kyodai.java

📁 java实现的简单连连看游戏
💻 JAVA
字号:
package com.ismyway.n840_kyodai;

import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;

/**
 * <p>Title: N840 Kyodai</p>
 * <p>Description: N840上的连连看游戏</p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: http://www.ismyway.com</p>
 * @author 张剑
 * @version 1.0
 */

public class Kyodai
    extends MIDlet {
  Display display;

  //public static byte[][] ImagesBuffer = new byte[CV.MAX_ICONS][];
  public static Sprite[] sprites = new Sprite[CV.MAX_ICONS];
  public static boolean supportMMAPI = false; //是否支持MMAPI
  public static int gameMode = 0; //游戏模式
  public static int musicMode = 1; //音效
  public Record[] record = new Record[11]; //第一条保存音效�?�难度数据,后面保存Top10

  public Kyodai() {
    display = Display.getDisplay(this);
    for (int i = 0; i < record.length; i++) {
      record[i] = new Record();
    }
  }

  protected void startApp() {
    SplashScreen s = new SplashScreen(this);
    s.start();
    display.setCurrent(s);
  }

  protected void pauseApp() {

  }

  protected void destroyApp(boolean parm1) {

  }

  public void exit() {
    saveData();
    System.gc();
    destroyApp(false);
    notifyDestroyed();
  }

  /**
   * only for test
   */
  public static void printArray(int[][] array) {
    for (int i = 0; i < array.length; i++) {
      for (int j = 0; j < array[0].length; j++) {
        System.out.print("[" + array[i][j] + "]  ");
      }
      System.out.println();
    }
  }

  /*==================== 以下代码仅供保存游戏参数使用 ===================*/
  /**
   * 保存用户记录,并且排�?
   * @param name
   * @param score
   */
  public void saveData() {
    try {
      RecordStore.deleteRecordStore(CV.
                                    recordStoreName);
      RecordStore recordstore = RecordStore.openRecordStore(CV.
          recordStoreName, true);

      System.out.println(recordstore.getNumRecords());
      /*for (int i = 1; i < recordstore.getNumRecords(); i++) {
        recordstore.deleteRecord(i);
             }*/

      byte[] abyte = encodeRecord("" + musicMode, "" + gameMode);
      recordstore.addRecord(abyte, 0, abyte.length);

      for (int i = 1; i < record.length; i++) {
        abyte = encodeRecord(record[i].getName(),
                             "" + record[i].getScore());
        recordstore.addRecord(abyte, 0, abyte.length);
      }
      recordstore.closeRecordStore();
      System.gc();
    }
    catch (RecordStoreException ex) {
    }
  }

  /**
   * 构建�?条记录信�?
   * @param name
   * @param score
   * @return
   */
  public byte[] encodeRecord(String name, String score) {
    byte abyte0[] = null;
    try {
      ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
      DataOutputStream dataoutputstream = new DataOutputStream(
          bytearrayoutputstream);
      dataoutputstream.writeUTF(name);
      dataoutputstream.writeUTF(score);
      abyte0 = bytearrayoutputstream.toByteArray();
      dataoutputstream.close();
      bytearrayoutputstream.close();
    }
    catch (Exception exception) {}
    return abyte0;
  }

  /**
   * 将记录还原为用户记录
   * @param abyte0
   * @param r
   */
  public void decodeRecord(byte abyte0[], Record r) {
    try {
      ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(
          abyte0);
      DataInputStream datainputstream = new DataInputStream(
          bytearrayinputstream);
      r.setName(datainputstream.readUTF());
      r.setScore(datainputstream.readUTF());
      datainputstream.close();
      bytearrayinputstream.close();
    }
    catch (Exception exception) {}
  }

}

⌨️ 快捷键说明

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