📄 gamecontroller.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
package org.cesar.inmotion.sea;
import java.io.IOException;
import javax.microedition.lcdui.*;
import org.cesar.inmotion.util.AbstractMIDlet;
import org.cesar.inmotion.util.ApplicationController;
// Referenced classes of package org.cesar.inmotion.sea:
// GameCanvas, Constants, SeaPersistence
public class GameController extends ApplicationController
implements Runnable
{
public static final int GAME_CANVAS = 1;
public static final int EXIT_DIALOG = 2;
public static final int GAMEOVER_SCREEN = 3;
public static final int PRESENTATION_MENU = 4;
public static final int HI_SCORE = 5;
public static final int CONGRATULATIONS = 6;
private Displayable presentationScreen;
private GameCanvas gameCanvas;
private int refreshRate;
public GameController()
{
}
public void setFps(int i)
{
refreshRate = 1000 / i;
}
public void paintGameOver()
{
ApplicationController.getInstance(AbstractMIDlet.getAppClassName()).changeScreen(3);
}
public void run()
{
if(!gameCanvas.isGameOver())
{
if(!gameCanvas.isPaused())
{
gameCanvas.update();
gameCanvas.repaint();
gameCanvas.serviceRepaints();
}
AbstractMIDlet.getDisplay().callSerially(this);
}
}
public Displayable getPresentationScreen()
{
return presentationScreen;
}
public void setPresentationScreen(Displayable displayable)
{
presentationScreen = displayable;
}
public GameCanvas getGameCanvas()
{
return gameCanvas;
}
public void startAppAction()
{
ApplicationController.getInstance(AbstractMIDlet.getAppClassName()).changeScreen(-11);
}
public void processAction(int i)
{
switch(i)
{
case 0: // '\0'
gameCanvas.init();
Constants.lives = 5;
Thread thread = new Thread(this);
thread.start();
ApplicationController.getInstance(AbstractMIDlet.getAppClassName()).changeScreen(1);
break;
case 1: // '\001'
writeHiScore();
ApplicationController.getInstance(AbstractMIDlet.getAppClassName()).changeScreen(5);
break;
}
}
public void paintScreen(String s, Graphics g)
{
g.setColor(0xffffff);
g.fillRect(g.getClipX(), g.getClipY(), g.getClipWidth(), g.getClipHeight());
try
{
Image image = Image.createImage(s);
g.drawImage(image, 0, 0, 20);
}
catch(IOException ioexception)
{
ioexception.printStackTrace();
}
}
public void setGameCanvas(GameCanvas gamecanvas)
{
gameCanvas = gamecanvas;
}
public void writeHiScore()
{
String s = "";
Form form = (Form)ApplicationController.getInstance(AbstractMIDlet.getAppClassName()).getScreen(5);
for(int i = 0; i < SeaPersistence.getInstance().getScoreNumber(); i++)
s = s + SeaPersistence.getInstance().getScoreName(i) + " " + SeaPersistence.getInstance().getScoreValue(i) + "\n";
if(form.size() != 0)
form.delete(0);
form.append(s);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -