📄 adlight.java
字号:
/*
adlight.java 僼傽僀傽乕僆儞乮屆揟僷僘儖僎乕儉乯
auth kaihatsu@ad2000-ltd.com
edit 2001/08/01
*/
import java.util.*; //昁梫側儔僀僽儔儕偺僀儞億乕僩
import com.kddi.io.*;
import com.kddi.system.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.lang.Object;
public class Adlight extends MIDlet implements CommandListener { //婲摦僋儔僗偺奐巒
static GameCvs MyCanvas; //僎乕儉梡僉儍儞僶僗偺梡堄
static Display MyDisplay; //帺暘帺恎偺昞帵僉儍儞僶僗
static Thread runner; //帺暘帺恎偺僞僗僋
public Adlight() {
MyCanvas = new GameCvs(); //僎乕儉僉儍儞僶僗偺嶌惉
MyDisplay = Display.getDisplay(this); //梡堄偝傟偨僨傿僗僾儗僀僆僽僕僃僋僩傪庢摼
MyDisplay.setCurrent(MyCanvas); //偦傟傪僇儗儞僩偵愝掕
MyCanvas.setCommandListener(this); //僐儅儞僪儕僗僫乕傪僙僢僩
runner = new Thread(MyCanvas); //僎乕儉僉儍儞僶僗傪僞僗僋偵偟偰乧丄
runner.start(); //丂幚峴奐巒
MyCanvas.startTimer(); //僞僀儅乕僞僗僋傕婲摦
}
protected void destroyApp(boolean unconditional){ //廔椆帪偵昁梫側張棟
}
protected void pauseApp(){ //億乕僘帪偵昁梫側張棟
}
protected void startApp(){ //婲摦僄儞僩儕
}
//---------------------- 僐儅儞僪儃僞儞偺張棟
private Command exitCommand = new Command("廔椆", Command.BACK , 1); //廔椆儃僞儞傪BACK儃僞儞偲偟偰嶌惉
private Command game1Command = new Command("斦柺侾", Command.SCREEN ,1); //斦柺侾儃僞儞傪SCREEN儃僞儞偲偟偰嶌惉
private Command game2Command = new Command("斦柺俀", Command.SCREEN ,1); //斦柺俀儃僞儞傪SCREEN儃僞儞偲偟偰嶌惉
private Command game3Command = new Command("棎悢柺", Command.SCREEN ,1); //棎悢柺儃僞儞傪SCREEN儃僞儞偲偟偰嶌惉
private Command game4Command = new Command("懕偒偐傜", Command.SCREEN ,1);//宲懕儃僞儞傪SCREEN儃僞儞偲偟偰嶌惉
public void commandAction(Command com, Displayable disp) { //SOFTKEY偑墴偝傟偨傜偙偙偵棃傞
if(com == exitCommand){ //廔椆儃僞儞偑墴偝傟偨傜丄
MyCanvas.GameMode = MyCanvas.GameMode_Exit; //丂偦偺巪婰偡
}
if(MyCanvas.GameMode == MyCanvas.GameMode_StartWait){ //丂僎乕儉奐巒懸偪拞偱偁傞偙偲傪妋擣偟偰丄
if(com == game1Command){ //斦柺侾偑墴偝傟偨傜丄
MyCanvas.GameMode = MyCanvas.GameMode_1_Start; //丂丂偦偺巪婰偡
}
if(com == game2Command){ //斦柺俀偑墴偝傟偨傜丄
MyCanvas.GameMode = MyCanvas.GameMode_2_Start; //丂丂偦偺巪婰偡
}
if(com == game3Command){ //棎悢柺偑墴偝傟偨傜丄
MyCanvas.GameMode = MyCanvas.GameMode_3_Start; //丂丂偦偺巪婰偡
}
if(com == game4Command){ //宲懕偑墴偝傟偨傜丄
MyCanvas.GameMode = MyCanvas.GameMode_4_Start; //丂丂偦偺巪婰偡
}
}
}
//----------------------- 僎乕儉僉儍儞僶僗
public class GameCvs extends Canvas //僎乕儉偺杮懱僋儔僗
implements Runnable { //摉慠幚峴偱偒傞傛偆偵偡傞
private Timer timer; //僞僀儅乕娭楢偺掕媊
private MyTimer timerTask; //
private int TimerCounter; //
private Random rand; //棎悢敪惗梡
private Font fTime; //巊梡偡傞Font
//僎乕儉拞偱偺忬懺傪暘椶偟偰偍偔
private final int GameMode_Top = 10; //丂奐巒懸偪傊偺堏峴忬懺
private final int GameMode_StartWait = 20; //丂奐巒懸偪忬懺
private final int GameMode_1_Start = 21; //丂僎乕儉侾奐巒
private final int GameMode_2_Start = 22; //丂僎乕儉俀奐巒
private final int GameMode_3_Start = 23; //丂僎乕儉俁奐巒
private final int GameMode_4_Start = 24; //丂僎乕儉係奐巒
private final int GameMode_Play = 40; //丂僎乕儉僾儗僀拞
private final int GameMode_Flash1 = 50; //丂夋柺僼儔僢僔儏拞侾
private final int GameMode_Flash2 = 60; //丂夋柺僼儔僢僔儏拞俀
private final int GameMode_End = 70; //丂僎乕儉廔椆傊偺堏峴忬懺
private final int GameMode_EndWait = 80; //丂僾儗僀廔椆昞帵忬懺
private final int GameMode_Exit = -1; //丂僎乕儉廔椆
private int GameMode; //僎乕儉偺忬懺傪曐娗偡傞曄悢
private int Key; //墴偝傟偨僉乕傪曐娗偡傞曄悢
private final int PictX = 32; //僷僱儖夋憸偺X僒僀僘
private final int PictY = 32; //丂忋婰Y僒僀僘
private final int GrXWidth = PictX*3; //僎乕儉夋柺偺墶暆傪僷僱儖3枃暘偲偡傞
private final int GrYWidth = PictY*3; //僎乕儉夋柺偺廲暆傪僷僱儖3枃暘偲偡傞
private int CvsGetWidth; //抂枛偺昞帵壜擻側墶暆
private int CvsGetHeight; //抂枛偺昞帵壜擻側廲暆
private int MinimamX; //僎乕儉偵巊偆昞帵簇眰虓稄銈蘕抣
private int MinimamY; //丂忋婰偺Y抣
private int MaxmamX; //僎乕儉偵巊偆昞帵簇眰虊E壓偺X抣
private int MaxmamY; //丂忋婰偺Y抣
private final byte ChangeOffset = 8; //僷僱儖偺斀揮儅乕僋梡偺抣
private final int ChgTableSize = 6; //壓婰偺侾峴暘偺儗僐乕僪僒僀僘
private final int [] ChgTable = { //墴偝傟偨僉乕偲斀揮懳徾偲側傞僷僱儖僫儞僶乕偺儕僗僩
KEY_NUM1, 0, 1, 3,-1,-1, //丂0-8:懳墳偡傞僷僱儖斣崋
KEY_NUM2, 0, 1, 2, 4,-1, //丂-1:偼懳徾柍偟
KEY_NUM3, 1, 2, 5,-1,-1, //丂ChgTableSize偱1僉乕暘傪峔惉
KEY_NUM4, 0, 3, 4, 6,-1,
KEY_NUM5, 1, 3, 4, 5, 7,
KEY_NUM6, 2, 4, 5, 8,-1,
KEY_NUM7, 3, 6, 7,-1,-1,
KEY_NUM8, 4, 6, 7, 8,-1,
KEY_NUM9, 5, 7, 8,-1,-1,
-1 //僉乕斾妑帪偺僄儞僪儅乕僋
};
private final int MapSize = 9; //僷僱儖偺憤悢
private final byte [] GameOrgMap = { //弶婜斦柺乮栤戣恾乯偺掕媊
0,0,0, //丂0:徚摂丂1:揰摂丂
0,0,0, //丂MapSize偺屄悢偱1僽儘僢僋偲偡傞
0,0,0,
1,1,1,
1,0,1,
1,1,1
};
private final byte [] GameMap = new byte [MapSize]; //昞帵偺尦偲側傞僷僱儖偺忬懺傪曐娗偡傞攝楍
private int FlashMode; //僼儔僢僔儏昞帵偺屻僎乕儉拞偲偡傞偐丄僎乕儉僋儕傾偲偡傞偐偺僼儔僌
private int LoopCount; //幚峴儖乕僾偺僇僂儞僞
public GameCvs() { //僐儞僗僩儔僋僞
} //丂摿偵壗傕側偄
public void startTimer(){ //僞僀儅乕僞僗僋偺愝掕仌婲摦
timerTask = new MyTimer(this); //
timer = new Timer(); //
timer.schedule(timerTask, 0, 100); //100msec偺僞僀儅乕偲偡傞
}
//------------------------ 僞僀儅乕妱傝崬傒張棟
public void myTimerTask(){ //僞僀儅乕妱傝崬傒偑敪惗偟偨傜丄
TimerCounter++; //丂曄悢傪僇僂儞僩傾僢僾
}
//------------------------ 僉乕張棟
public void keyPressed(int param){ //僉乕偑墴偝傟偨傜偙偙偵棃傞
Key = param; //墴偝傟偨僉乕傪曐懚
}
private int getMyKey(){ //僉乕傪庢傝弌偡
int result = Key; //曐娗偝傟偰偄傞僉乕傪庢傝弌偟丄
Key = 0; //曐娗屔偼僋儕傾偟偰偍偔
return result; //
}
//------------------------ 僌儔僼傿僢僋儕僜乕僗偺撉傒崬傒
private final int GrFireOff = 0; //僷僱儖偺忬懺抣掕媊乮儕僜乕僗斣崋偵傕懳墳乯
private final int GrFireOn = 1; //
private Image [] Gr = new Image[2]; //梫慺2偺儕僜乕僗攝楍傪嶌惉
private void loadResource() { //懳墳偡傞儕僜乕僗僼傽僀儖傪巜掕偺攝楍梫慺偵曐娗
Gr[GrFireOff] = loadGres("fireoff.png"); //徚摂恾暱偺撉傒崬傒
Gr[GrFireOn ] = loadGres("fireon.png"); //揰摂恾暱偺撉傒崬傒
}
private Image loadGres(String s){ //儕僜乕僗撉傒崬傒梡娭悢
Image a = null; //丂僀儊乕僕偺杮懱傪嶌惉偟偰丄
try { //
a = Image.createImage("/"+s); //丂柤徧傪巜掕偟偰撉傒崬傓
} catch (Exception ex) { //偍偦傜偔巊傢傟側偄僄儔乕張棟
ex.printStackTrace(); //
} //
return a; //撉傒崬傫偩僀儊乕僕傪曉偡
}
//------------------------ 僨乕僞乗僗僩儗乕僕儗僐乕僪
private final String MyRecName = "MyRecord"; //曐懚僼傽僀儖柤偺掕媊
private int RecERR; //斈梡僄儔乕曐娗曄悢(崱夞偼棙梡偝傟偰偄側偄)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -