Symbian Games 240x320 -

public void pauseApp() {} public void destroyApp(boolean unconditional) {}

private void updateGame() // Move ball down ballY += 6; if (ballY + BALL_SIZE >= catcherY && ballX + BALL_SIZE > catcherX && ballX < catcherX + CATCHER_W) // Caught! score++; ballX = (int)(Math.random() * (width - BALL_SIZE)); ballY = 20; // Missed if (ballY > height) ballX = (int)(Math.random() * (width - BALL_SIZE)); ballY = 20; score = Math.max(0, score - 1);

// Catcher size: 60x20 private static final int CATCHER_W = 60; private static final int CATCHER_H = 20; private static final int BALL_SIZE = 8; symbian games 240x320

public void run() { while (running) { repaint(); updateGame(); try Thread.sleep(30); catch (Exception e) {} } }

public CatchGame() display = Display.getDisplay(this); exitCommand = new Command("Exit", Command.EXIT, 1); gameCanvas = new GameCanvas(); gameCanvas.addCommand(exitCommand); gameCanvas.setCommandListener(this); if (ballY + BALL_SIZE &gt

public void commandAction(Command c, Displayable d) if (c == exitCommand) destroyApp(true); notifyDestroyed();

public void start() running = true; gameThread = new Thread(this); gameThread.start(); catcherX && ballX &lt

Below is a for 240x320 screens. Game: “Catch the Light” (240x320, MIDP 2.0) import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class CatchGame extends MIDlet implements CommandListener, Runnable { private Display display; private GameCanvas gameCanvas; private Command exitCommand;

protected void keyPressed(int keyCode) int action = getGameAction(keyCode); if (action == LEFT) catcherX -= 20; if (catcherX < 0) catcherX = 0; else if (action == RIGHT) catcherX += 20; if (catcherX + CATCHER_W > width) catcherX = width - CATCHER_W;

public GameCanvas() width = 240; height = 320; catcherX = width/2 - CATCHER_W/2; catcherY = height - 40; ballX = width/2; ballY = 20; score = 0;