📄 henwaycanvas.java
字号:
g.drawString("振动: 开",60,60+font.getHeight(),0);
}
g.drawString("更改",0,getHeight()-font.getHeight(),0);
g.drawString("返回",getWidth()-font.stringWidth("返回"),getHeight()-font.getHeight(),0);
}
public void GameOver(Graphics g)
{
g.setColor(200,200,30);
g.fillRect(0,0,getWidth(),getHeight());
//Draw the game over message and score
g.setColor(0, 255, 255); // white
g.setFont(font);
g.drawString("GAME OVER", 90, 40, Graphics.TOP | Graphics.HCENTER);
g.setFont(font);
g.drawString("You scored " + score + " points.", 90, 70, Graphics.TOP |
Graphics.HCENTER);
g.drawString("重玩",0,getHeight()-font.getHeight(),0);
g.drawString("退出",getWidth()-font.stringWidth("退出"),getHeight()-font.getHeight(),0);
}
public void drawMenu(Graphics g)
{
g.setFont(font);
g.setColor(200,200,30);
g.fillRect(0,0,getWidth(),getHeight());
if(!back)
{
g.setColor(150,100,0);
g.fillRect(0,30+font.getHeight()*num,getWidth(),font.getHeight());
g.setColor(0,255,255);
g.drawString("开始新游戏",getWidth()/2-font.stringWidth("开始新游戏")/2,30,0);
g.drawString("设置",getWidth()/2-font.stringWidth("设置")/2,30+font.getHeight(),0);
g.drawString("帮助",getWidth()/2-font.stringWidth("帮助")/2,30+font.getHeight()*2,0);
g.drawString("关于",getWidth()/2-font.stringWidth("关于")/2,30+font.getHeight()*3,0);
g.drawString("退出",getWidth()/2-font.stringWidth("退出")/2,30+font.getHeight()*4,0);
}
else
{
g.setColor(150,100,0);
g.fillRect(0,30+font.getHeight()*num,getWidth(),font.getHeight());
g.setColor(0,255,255);
g.drawString("继续",getWidth()/2-font.stringWidth("继续")/2,30,0);
g.drawString("开始新游戏",getWidth()/2-font.stringWidth("开始新游戏")/2,30+font.getHeight(),0);
g.drawString("设置",getWidth()/2-font.stringWidth("设置")/2,30+font.getHeight()*2,0);
g.drawString("帮助",getWidth()/2-font.stringWidth("帮助")/2,30+font.getHeight()*3,0);
g.drawString("关于",getWidth()/2-font.stringWidth("关于")/2,30+font.getHeight()*4,0);
g.drawString("退出",getWidth()/2-font.stringWidth("退出")/2,30+font.getHeight()*5,0);
}
g.drawString("确定",0,getHeight()-font.getHeight(),0);
g.drawString("返回",getWidth()-font.stringWidth("返回"),getHeight()-font.getHeight(),0);
}
public void run()
{
while(!sleeping)
{
long st=System.currentTimeMillis();
CheckScore();
repaint();
serviceRepaints();
long et=System.currentTimeMillis();
try
{
if((et-st)<frameDelay)
{
Thread.sleep(frameDelay-(et-st));
}
}
catch(Exception e){}
}
}
public void keyReleased(int keyCode)
{
if(gameState==5)
{
if(keyCode==-2)
{
left=false;
}
else if(keyCode==-5)
{
right=false;
}
else if(keyCode==-1)
{
up=false;
}
else if(keyCode==-6)
{
down=false;
}
}
}
public void keyPressed(int keyCode)
{
int key=getGameAction(keyCode);
if(gameState==0)
{
if(keyCode==-6)
{
gameState=1;
}
else if(keyCode==-7)
{
mf.destroyApp(false);
mf.notifyDestroyed();
}
}
else if(gameState==1)
{
if(keyCode==-6)
{
if(!back)
{
if(num==0)
{
gameState=5;
// Start playing the music indefinitely
if(soundset==0)
{
try {
musicPlayer.setLoopCount(-1);
musicPlayer.start();
}
catch (MediaException me) {
}
}
}
else if(num==1)
{
gameState=2;
}
else if(num==2)
{
gameState=3;
}
else if(num==3)
{
gameState=4;
}
else if(num==4)
{
mf.destroyApp(false);
mf.notifyDestroyed();
}
}
else
{
if(num==0)
{
back=false;
gameState=5;
// Start playing the music indefinitely
if(soundset==0)
{
try {
musicPlayer.setLoopCount(-1);
musicPlayer.start();
}
catch (MediaException me) {
}
}
}
else if(num==1)
{
gameState=5;
carSprite[3].setPosition(128, 64);
carSprite[0].setPosition(27, 0);
carSprite[1].setPosition(62, 0);
carSprite[2].setPosition(93, 67);
chickenSprite.setPosition(0, 77);
score = 0;
numLives = 3;
// Start playing the music indefinitely
if(soundset==0)
{
try {
musicPlayer.setLoopCount(-1);
musicPlayer.start();
}
catch (MediaException me) {
}
}
}
else if(num==2)
{
gameState=2;
}
else if(num==3)
{
gameState=3;
}
else if(num==4)
{
gameState=4;
}
else if(num==5)
{
mf.destroyApp(false);
mf.notifyDestroyed();
}
}
}
else if(keyCode==-7)
{
gameState=0;
}
else if(key== -1)
{
if(!back)
{
num--;
if(num<0)
{
num=4;
}
}
else
{
num--;
if(num<0)
{
num=5;
}
}
}
else if(key==-2)
{
if(!back)
{
num++;
if(num>4)
{
num=0;
}
}
else
{
num++;
if(num>5)
{
num=0;
}
}
}
}
else if(gameState==2)
{
if(keyCode==-6)
{
if(setnum==0)
{
if(soundset==1)
{
soundset=0;
}
else
{
soundset=1;
}
}
else if(setnum==1)
{
if(vibraset==1)
{
vibraset=0;
}
else
{
vibraset=1;
}
}
}
else if(keyCode==-7)
{
gameState=1;
}
else if(key==-1)
{
setnum--;
if(setnum<0)
{
setnum=1;
}
}
else if(key==-2)
{
setnum++;
if(setnum>1)
{
setnum=0;
}
}
}
else if(gameState==3)
{
if(keyCode==-7)
{
gameState=1;
}
}
else if(gameState==4)
{
if(keyCode==-7)
{
gameState=1;
}
}
else if(gameState==5)
{
if(keyCode==-6)
{
gameState=1;
back=true;
try
{
musicPlayer.stop();
}
catch(Exception e){}
}
else if(keyCode==-7)
{
mf.destroyApp(false);
mf.notifyDestroyed();
}
else if(keyCode==-3)
{
left=true;
}
else if(keyCode==-4)
{
right=true;
}
else if(keyCode==-1)
{
up=true;
}
else if(keyCode==-2)
{
down=true;
}
}
else if(gameState==6)
{
if(keyCode==-6)
{
left=false;
right=false;
up=false;
down=false;
recordJob(true);
// Start a new game
if(soundset==0)
{
try {
musicPlayer.setLoopCount(-1);
musicPlayer.start();
}
catch (MediaException me) {
}
}
carSprite[3].setPosition(128, 64);
carSprite[0].setPosition(27, 0);
carSprite[1].setPosition(62, 0);
carSprite[2].setPosition(93, 67);
chickenSprite.setPosition(0, 77);
gameOver=false;
score=0;
numLives=3;
gameState=5;
}
else if(keyCode==-7)
{
left=false;
right=false;
up=false;
down=false;
gameState=1;
carSprite[3].setPosition(128, 64);
carSprite[0].setPosition(27, 0);
carSprite[1].setPosition(62, 0);
carSprite[2].setPosition(93, 67);
chickenSprite.setPosition(0, 77);
gameOver=false;
score=0;
numLives=3;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -