home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Memory2 / Memory.jar / MemDisplay.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-12-11  |  2.7 KB  |  96 lines

  1. import javax.microedition.lcdui.Canvas;
  2. import javax.microedition.lcdui.Command;
  3. import javax.microedition.lcdui.CommandListener;
  4. import javax.microedition.lcdui.Display;
  5. import javax.microedition.lcdui.Displayable;
  6. import javax.microedition.lcdui.Graphics;
  7.  
  8. public class MemDisplay extends Canvas implements CommandListener, Backable {
  9.    private static final Command[] COMMANDS = new Command[]{new Command("Continue", 4, 1), new Command("New Game", 1, 2), new Command("Exit", 6, 3)};
  10.    private static MemBoard playBoard = new MemBoard();
  11.    private static Display display;
  12.    private static Graphics graphics;
  13.    private static Quitable winQuit;
  14.  
  15.    public MemDisplay() {
  16.       for(int var1 = 0; var1 < COMMANDS.length; ++var1) {
  17.          ((Displayable)this).addCommand(COMMANDS[var1]);
  18.       }
  19.  
  20.    }
  21.  
  22.    public void paint(Graphics var1) {
  23.       graphics = var1;
  24.       playBoard.drawBoard(graphics);
  25.       playBoard.drawCursor(graphics);
  26.    }
  27.  
  28.    public void activate(Display var1, Quitable var2) {
  29.       display = var1;
  30.       winQuit = var2;
  31.       display.setCurrent(this);
  32.       ((Displayable)this).setCommandListener(this);
  33.    }
  34.  
  35.    protected void keyPressed(int var1) {
  36.       int var2 = ((Canvas)this).getGameAction(var1);
  37.       playBoard.eraseCursor(graphics);
  38.       switch (var2) {
  39.          case 1:
  40.             playBoard.moveCursor(0);
  41.             break;
  42.          case 2:
  43.             playBoard.moveCursor(2);
  44.          case 3:
  45.          case 4:
  46.          case 7:
  47.          default:
  48.             break;
  49.          case 5:
  50.             playBoard.moveCursor(3);
  51.             break;
  52.          case 6:
  53.             playBoard.moveCursor(1);
  54.             break;
  55.          case 8:
  56.             if (playBoard.showCard(graphics)) {
  57.                try {
  58.                   Thread.currentThread();
  59.                   Thread.sleep(500L);
  60.                } catch (InterruptedException var4) {
  61.                }
  62.  
  63.                playBoard.drawBoard(graphics);
  64.             }
  65.       }
  66.  
  67.       playBoard.drawCursor(graphics);
  68.       if (playBoard.gameOver()) {
  69.          MemGameEnd var3 = new MemGameEnd(playBoard.numTrys());
  70.          var3.activate(display, this, winQuit);
  71.       }
  72.  
  73.    }
  74.  
  75.    public void show() {
  76.       display.setCurrent(this);
  77.       ((Displayable)this).setCommandListener(this);
  78.       playBoard.eraseCursor(graphics);
  79.       playBoard.newGame();
  80.       playBoard.drawBoard(graphics);
  81.       playBoard.drawCursor(graphics);
  82.    }
  83.  
  84.    public void commandAction(Command var1, Displayable var2) {
  85.       if (var1 == COMMANDS[1]) {
  86.          playBoard.eraseCursor(graphics);
  87.          playBoard.newGame();
  88.          playBoard.drawBoard(graphics);
  89.          playBoard.drawCursor(graphics);
  90.       } else if (var1 == COMMANDS[2]) {
  91.          winQuit.quit();
  92.       }
  93.  
  94.    }
  95. }
  96.