📄 adseesaw.java
字号:
丂丂昞帵娭楢偺曗懌
丂丒僎乕儉夋柺偼100亊100偺斖埻偲偟偰偄傑偡
丒僎乕儉夋柺偼乮minimamX,minimamY乯傪嵍忋婎揰偲偟偰昞帵偝偣偰偄傑偡
丒僎乕儉拞偺嵗昗傪帵偡曄悢偱偼丄嵍塃曽岦偱偼塃偑X偺憹壛曽岦丄忋壓偱偼忋偑憹壛曽岦偲偟偰偄傑偡
丂乮昞帵帪偵偼Y偺抣傪斀揮偟偰昡壙偟偰偄傑偡乯
丂丒偙偺傛偆偵偡傞昁慠惈偼摿偵偁傝傑偣傫偑丄僨僶僢僌拞偺嵗昗曄悢抣偑偪傚偭偲傢偐傝傗偡偔側傝傑偡丅
*/
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 dispSeesaw(Graphics g){ //僔乕僜乕偺昞帵
//旘傫偱偄傞恖娫偑偳偪傜偐偺忣曬傪棙梡偟偰丄僔乕僜乕傪彂偒暘偗傞
g.drawImage(gr[manSwitch],minimamX+seesawPosX+seeSawOffsetX,minimamY+(grYWidth+seeSawOffsetY),Graphics.TOP | Graphics.LEFT);
}
private void dispJumpman(Graphics g){ //旘傫偱偄傞恖娫偺昞帵
//埵抲曄悢 manX偲manY 傪棙梡偟偰昤夋
g.drawImage(gr[2],minimamX+manX+manOffsetX,minimamY+(grYWidth-manY)+manOffsetY,Graphics.TOP | Graphics.LEFT);
}
private void dispOtherman(Graphics g){ //旘傫偱偄側偄傎偆偺恖娫偺昞帵
//僔乕僜乕偺埵抲忣曬偐傜X嵗昗傪嶌惉
int x = seesawPosX + seeSawPedal[manSwitch*seeSawPedalDim+seeSawPedalDimOpos];
int y = 0; //旘傫偱偄側偄偐傜Y偼0偲偡傞
g.drawImage(gr[2],minimamX+x+manOffsetX,minimamY+(grYWidth-y)+manOffsetY,Graphics.TOP | Graphics.LEFT);
}
private void dispscore(Graphics g){ //僗僐傾偺昞帵
g.setColor(0,0,255); //怓偼惵偵偟偰
g.setFont(fTime); //昞帵僼僅儞僩傪巜掕
g.drawString(""+score,maxmamX,minimamY,Graphics.TOP | Graphics.RIGHT); //暥帤楍壔偟偰塃忋嬿偵昞帵
}
//------------------------ 僎乕儉忬懺張棟
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: //丂奐巒弨旛偱偁傟偽丄
MyCanvas.addCommand(gameCommand); //丂丂PLAY儃僞儞傪愝抲
gameMode = gameMode_StartWait; //丂丂師偺奐巒懸偪傊
break;
case gameMode_StartWait: //丂奐巒懸偪偱偁傟偽丄
break; //丂丂偨偩懸偭偰傞
case gameMode_Start: //丂PLAY儃僞儞偑墴偝傟偰僎乕儉奐巒偲側傟偽丄
MyCanvas.removeCommand(gameCommand); //丂丂PLAY儃僞儞傪揚廂偟丄
initGame(); //丂丂僔乕僜乕偺埵抲側偳傪弶婜壔偟偰丄
gameMode = gameMode_Play; //丂丂僾儗僀忬懺傊堏峴偡傞
break;
case gameMode_Play: //丂僾儗僀拞偱偁傟偽丄
keyAction(); //丂丂僉乕僀儀儞僩張棟傪峴偄
if(!moveman()){ //丂丂旘傫偱偄傞恖娫偺堏摦張棟傪峴偄
gameMode = gameMode_End; //丂丂丂巰傫偱偟傑偭偨傜丄廔椆堏峴張棟傊
}
break;
case gameMode_End: //丂巰傫偱偟傑偭偨傜丄
manY = manMerikomiHight; //丂丂旘傫偱偄傞恖娫偺Y傪抧柺偵傔傝崬傫偩埵抲偵屌掕偟丄
loopCount = 0; //丂丂僇僂儞僞傪抣偱尒傞偨傔弶婜壔偟偰
gameMode = gameMode_EndWait; //丂丂巰朣昞帵傊偲恑傓
break;
case gameMode_EndWait: //丂巰朣昞帵忬懺側傜偽丄
if(loopCount >= 10){ //丂丂僇僂儞僞乕偺抣偑10枹枮偱偁傟偽摨偠忬懺偺傑傑偱丄
gameMode = gameMode_Top; //丂丂丂挻夁偟偨傜奐巒弨旛傊偲堏峴偡傞
}
break;
}
while(timerCounter==0){ //僞僀儅乕妱傝崬傒偑偁傞傑偱懸偮
}
repaint(minimamX,minimamY,grXWidth,grYWidth); //夋柺嵞昤夋梊栺
serviceRepaints(); //崱偡偖偵嵞昤夋偝偣傞
timerCounter--; //妱傝崬傒昡壙廔椆偱僇僂儞僞乕傪尭彮偝偣傞
if(++loopCount >= 9999){ //僎乕儉儖乕僾僇僂儞僞乕傪憹傗偡偑丄
loopCount = 0; //丂偲傫偱傕側偄抣偵側傜側偄傛偆偵忋尷偱傕偮偗偰偍偔
}
}
//偙偙偵棃傞偲偒偼丄廔椆儃僞儞偑墴偝傟偨帪
destroyApp(true); //丂廔椆庤懕偒
notifyDestroyed();
}
}
}
class MyTimer extends TimerTask { //僞僀儅乕僋儔僗偺掕媊
Adseesaw.GameCvs canvas; //
public MyTimer(Adseesaw.GameCvs c) { //僐儞僗僩儔僋僩帪偵懳徾僉儍儞僶僗傪妎偊偰偍偄偰
canvas = c; //
}
public void run() { //僞僀儅乕偱傛傃偩偝傟傞搒搙丄
try { //
canvas.myTimerTask(); //偦偺僉儍儞僶僗撪偺巜掕娭悢偵妱傝崬傓
} catch (Exception ex) { //
ex.printStackTrace();
}
}
}
// end of file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -