Diamond Rush Game For Nokia X2-01 320x240 ★

if (key == Canvas.UP) movePlayer(0, -1); else if (key == Canvas.DOWN) movePlayer(0, 1); else if (key == Canvas.LEFT) movePlayer(-1, 0); else if (key == Canvas.RIGHT) movePlayer(1, 0); else if (key == Canvas.FIRE) // Manually pick diamond if adjacent (simple logic) for (int dy=-1; dy<=1; dy++) for (int dx=-1; dx<=1; dx++) if (Math.abs(dx)+Math.abs(dy)==1) int x = playerX+dx, y = playerY+dy; if (x>=0 && x<WIDTH && y>=0 && y<HEIGHT && map[y][x]==TILE_DIAMOND) movePlayer(dx, dy); return;

public class DiamondRush extends MIDlet implements CommandListener, Runnable { private Display display; private GameCanvas canvas; private Command exitCommand; private boolean running; private Thread gameThread; diamond rush game for nokia x2-01 320x240

private byte[][] map = new byte[HEIGHT][WIDTH]; private int playerX, playerY; private int diamondsTotal, diamondsCollected; private boolean exitOpen; if (key == Canvas

// Game states private static final int STATE_MENU = 0; private static final int STATE_PLAYING = 1; private static final int STATE_WIN = 2; private static final int STATE_GAME_OVER = 3; private int gameState = STATE_MENU; if (key == Canvas.UP) movePlayer(0

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

protected void keyPressed(int keyCode) if (gameState == STATE_MENU) if (keyCode == KEY_NUM5 else if (gameState == STATE_PLAYING) int action = getGameAction(keyCode); if (action == Canvas.UP) movePlayer(0, -1); else if (action == Canvas.DOWN) movePlayer(0, 1); else if (action == Canvas.LEFT) movePlayer(-1, 0); else if (action == Canvas.RIGHT) movePlayer(1, 0); else if (keyCode == KEY_STAR) restartGame(); else if (gameState == STATE_WIN