📄 adlight.java
字号:
case GameMode_Flash2: //夋憸僼儔僢僔儏俀側傜偽
flashView(g,1); //丂仌忦審侾偱揰柵
break;
case GameMode_Play: //僾儗僀拞偐
case GameMode_End: //廔椆堏峴拞側傜
dispView(g,0); //丂捠忢昞帵
break;
case GameMode_EndWait: //廔椆昞帵拞側傜丄
dispView(g,0); //丂捠忢昞帵
if((LoopCount & 2) != 0){ //丂丂僎乕儉儖乕僾僇僂儞僞偺抣偵墳偠偰丄
dispStringCenter(g,"CLEAR!"); //丂丂丂僋儕傾儊僢僙乕僕傪彂偔
} //丂丂偙傟偱揰柵偝偣偰偄傞
break;
}
}
private void clearDisplay(Graphics g){ //夋柺偺僋儕傾
g.clipRect(MinimamX,MinimamY,GrXWidth,GrYWidth); //彂偒姺偊椞堟傪巜掕
g.setColor(255,255,255); //怓偼敀
g.fillRect(MinimamX,MinimamY,GrXWidth,GrYWidth); //僎乕儉椞堟傪揾傝偮傇偡
}
private void dispStringCenter(Graphics g,String str){ //夋柺拞墰偵暥帤楍傪昞帵
g.setColor(0,0,0); //怓偼崟
g.setFont(fTime); //昞帵僼僅儞僩傪巜掕
//暥帤楍偺拞墰傪夋柺偺拞墰偵巜掕偟偰丄暥帤楍傪昞帵
g.drawString(str,MinimamX+GrXWidth/2,MinimamY+GrYWidth/2,Graphics.HCENTER | Graphics.VCENTER );
}
private void flashView(Graphics g,int sw){ //僼儔僢僔儏昞帵
if((LoopCount & sw) != 0){ //丂僎乕儉儖乕僾僇僂儞僞偺抣偵墳偠偰丄
dispView(g,0); //丂丂偦偺傑傑偺夋柺傪昞帵
}else{ //丂傕偟偔偼
dispView(g,1); //丂丂儅乕僋偟偨晹暘傪斀揮昞帵偡傞
}
}
private void dispView(Graphics g,int sw){ //慡僷僱儖偺昞帵
int x,y,c; //儖乕僾梡偲昞帵僷僱儖慖戰梡曄悢掕媊
for(y=0;y<3;y++){ //Y儖乕僾
for(x=0;x<3;x++){ //丂X儖乕僾
c = GameMap[y*3+x]; //丂丂X丒Y偱摿掕偝傟傞僷僱儖忬懺傪庢摼
if(c >= ChangeOffset){ //丂丂斀揮儅乕僋偑偮偄偰偄偨傜
c -= ChangeOffset; //丂丂丂偲傝偁偊偢斀揮儅乕僋傪庢傝彍偄偰
if(sw!=0){ //丂丂丂敾掕巜掕偑偁傟偽丄
c = (c!=0)?(0):(1); //丂丂丂丂昞帵撪梕傪斀揮偝偣傞
}
} //丂丂c偺撪梕偵婎偯偄偨恾暱傪X丒Y偱摿掕偝傟傞埵抲偵昞帵
g.drawImage(Gr[c],MinimamX+x*PictX,MinimamY+y*PictY,Graphics.TOP | Graphics.LEFT);
}
}
}
//------------------------ 僎乕儉忬懺張棟
public void run(){ //偙偺僞僗僋偺幚峴偼偙偙
rand = new Random(); //棎悢巊梡偺弨旛
GameMode = 0; //弶婜壔拞偲偄偆偙偲偱忬懺傪枹婯掕偵
Key = 0; //擖椡僉乕傕僋儕傾
CvsGetWidth = MyCanvas.getWidth(); //抂枛偺夋柺忣曬偐傜昞帵壜擻墶僒僀僘傪庢摼
CvsGetHeight = MyCanvas.getHeight(); //抂枛偺夋柺忣曬偐傜昞帵壜擻廲僒僀僘傪庢摼
MinimamX = (CvsGetWidth-GrXWidth)/2; //僎乕儉椞堟偺婎揰偺X傪嶌惉
MinimamY = (CvsGetHeight-GrYWidth)/2-5; //丂忋婰偺Y傪嶌惉乮壓晹僜僼僩僉乕僄儕傾偵偐偐偭偰偟傑偆抂枛偵儔僼懳嶔乯
if(MinimamY < 0){MinimamY = 0;} //梊憐奜偵Y偑彫偝偄抂枛偱偺儔僼懳嶔
if(MinimamX < 0){MinimamX = 0;} //丂忋婰偺X偵娭偟偰
MaxmamX = GrXWidth+MinimamX; //僎乕儉夋柺偺X嵟戝抣傪嶌惉
MaxmamY = GrYWidth+MinimamY; //丂忋婰偺Y偵娭偟偰
loadResource(); //夋憸儕僜乕僗偺庢傝崬傒
//巊梡僼僅儞僩偺巜掕
fTime = Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_SMALL);
MyCanvas.addCommand(exitCommand); //廔椆儃僞儞偺愝抲
GameMode = GameMode_Top; //僎乕儉忬懺傪奐巒弨旛傊
LoopCount = 0; //僎乕儉儖乕僾僇僂儞僞乕傪僋儕傾
TimerCounter = 0; //僞僀儅乕僇僂儞僞乕傕僋儕傾
//僎乕儉儖乕僾乮儊僀儞乯
while(GameMode != GameMode_Exit){ //廔椆忬懺偱側偗傟偽孞傝曉偡
System.gc(); //僈儀乕僕僐儗僋僔儑儞傪嵪傑偣偰偍偔
switch(GameMode){ //奺僎乕儉忬懺偵傛傝張棟暘婒偡傞
case GameMode_Top: //丂奐巒弨旛偱偁傟偽丄
initCommand(); // 僐儅儞僪儃僞儞傪愝掕偟偰丄
GameMode = GameMode_StartWait; //丂丂師偺奐巒懸偪傊
break;
case GameMode_StartWait: //丂奐巒懸偪偱偁傟偽丄
break; //丂丂偨偩懸偭偰傞
case GameMode_1_Start: //丂斦柺侾儃僞儞丄
case GameMode_2_Start: //丂斦柺俀儃僞儞丄
case GameMode_3_Start: //丂棎悢柺儃僞儞丄
case GameMode_4_Start: //丂宲懕儃僞儞偑墴偝傟偰僎乕儉奐巒偲側傟偽丄
initGame(); //丂丂弶婜壔偟偰
GameMode = GameMode_Play; //丂丂僾儗僀拞傊堏峴偡傞
break;
case GameMode_Play: //丂僾儗僀拞偱偁傟偽丄
if(checkClr()){ //丂丂姰惉偟偨偺偱偁傟偽丄
LoopCount = 0; //丂丂丂僇僂儞僞傪抣偱尒傞偨傔弶婜壔偟偰
FlashMode = 1; //丂丂丂僎乕儉僋儕傾僼儔僌傪棫偰偰偍偄偰
GameMode = GameMode_Flash1; //丂丂丂僼儔僢僔儏昞帵偵堏峴
}else if(keyAction()){ //丂丂僉乕僀儀儞僩偑婲偒偨傜丄
LoopCount = 0; //丂丂丂僇僂儞僞傪抣偱尒傞偨傔弶婜壔偟偰
GameMode = GameMode_Flash1; //丂丂丂僼儔僢僔儏昞帵偵堏峴
}
break;
case GameMode_Flash1: //丂僼儔僢僔儏昞帵儌乕僪侾側傜
if(LoopCount >= 5){ //丂丂僇僂儞僞乕偺抣偑5枹枮偱偁傟偽偦偺傑傑丄
GameMode = GameMode_Flash2; //丂丂丂挻夁偟偨傜師偺儌乕僪傊偲堏峴偡傞
}
break;
case GameMode_Flash2: //丂僼儔僢僔儏昞帵儌乕僪俀側傜
if(LoopCount >= 10){ //丂丂僇僂儞僞乕偺抣偑10枹枮偱偁傟偽偦偺傑傑丄
if(FlashMode == 1){ //丂丂丂挻夁偟偰丄僎乕儉僋儕傾僼儔僌偑棫偭偰偄傟偽
chgFlagClr(0); //丂丂丂丂姰惉忬懺偵栠偟
delRecordFile(); //丂丂丂丂宱夁僼傽僀儖偼徚嫀
GameMode = GameMode_End; //丂丂丂丂廔椆忬懺傊
}else{ //丂丂丂挻夁偟偰丄捠忢忬懺側傜偽
chgFlagClr(1); //丂丂丂丂巜掕晹暘傪斀揮偝偣偰
saveRecord(); //丂丂丂丂宱夁僼傽僀儖偺嶌惉
GameMode = GameMode_Play; //丂丂丂丂僾儗僀拞偵栠偡
}
}
break;
case GameMode_End: //丂僋儕傾偟偨傜丄
GameMode = GameMode_EndWait; //丂丂僋儕傾昞帵傊偲恑傓
break;
case GameMode_EndWait: //丂僋儕傾昞帵忬懺側傜偽丄
if(LoopCount >= 30){ //丂僇僂儞僞乕偺抣偑30枹枮偱偁傟偽偦偺傑傑丄
GameMode = GameMode_Top; //丂丂挻夁偟偨傜奐巒弨旛傊偲堏峴偡傞
}
break;
}
while(TimerCounter==0){ //僞僀儅乕妱傝崬傒偑偁傞傑偱懸偮
}
repaint(MinimamX,MinimamY,GrXWidth,GrYWidth); //夋柺嵞昤夋梊栺
serviceRepaints(); //崱偡偖偵嵞昤夋偝偣傞
TimerCounter--; //妱傝崬傒昡壙廔椆偱僇僂儞僞乕傪尭彮偝偣傞
if(++LoopCount >= 9999){ //僎乕儉儖乕僾僇僂儞僞乕傪憹傗偡偑丄
LoopCount = 0; //丂偲傫偱傕側偄抣偵側傜側偄傛偆偵忋尷偱傕偮偗偰偍偔
}
}
//偙偙偵棃傞偲偒偼丄廔椆儃僞儞偑墴偝傟偨帪
notifyDestroyed(); //丂廔椆庤懕偒
}
}
}
class MyTimer extends TimerTask { //僞僀儅乕僋儔僗偺掕媊
Adlight.GameCvs canvas; //
MyTimer(Adlight.GameCvs c) { //僐儞僗僩儔僋僩帪偵懳徾僉儍儞僶僗傪妎偊偰偍偄偰
canvas = c; //
}
public void run() { //僞僀儅乕偱傛傃偩偝傟傞搒搙丄
try { //
canvas.myTimerTask(); //偦偺僉儍儞僶僗撪偺巜掕娭悢偵妱傝崬傓
} catch (Exception ex) { //
}
}
}
// end of file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -