MIDP1.0-五子棋1.1读后的修改[3]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:


  protected void paintPlayer(Graphics g, boolean isPlayer1) {
    if (isPlayer1) {
      g.setColor(255, 255, 255);
    }
    else {
      g.setColor(255, 0, 0);
    }
    g.drawRect(1, 1, getWidth() - 2, getHeight() - 2);
    g.drawRect(2, 2, getWidth() - 4, getHeight() - 4);
    g.drawRect(3, 3, getWidth() - 6, getHeight() - 6);
  }

  public void paint(Graphics g) {
    g.setColor(0x00000000);
    g.fillRect(0, 0, getWidth(), getHeight());
    paintPlayer(g, isPlayer1);
    paintSelected(g);
    paintMap(g);
    flushGraphics();
  }

  private void init() {
    if (newGame) {
      chesses = new Chesses[chessMapGrid + 1][chessMapGrid + 1];
      isPlayer1 = true;
      selectedX = selectedY = chessMapGrid / 2;
    }
  }

  public void run() {

    g = getGraphics();
    while (isplay) {
      try {
        input(g);
        paint(g);
        Thread.sleep(500);
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }
  }

  public void input(Graphics g) {

    int keyStates = getKeyStates();
    if ( (keyStates & LEFT_PRESSED) != 0) {
      selectedX = (--selectedX + chessMapGrid + 1) % (chessMapGrid + 1);
    }
    else if ( (keyStates & RIGHT_PRESSED) != 0) {
      selectedX = (++selectedX) % (chessMapGrid + 1);
    }
    else if ( (keyStates & UP_PRESSED) != 0) {
      selectedY = (--selectedY + chessMapGrid + 1) % (chessMapGrid + 1);
    }
    else if ( (keyStates & DOWN_PRESSED) != 0) {
      selectedY = (++selectedY) % (chessMapGrid + 1);
    }
    else if ( (keyStates & FIRE_PRESSED) != 0) {

      if (chesses[selectedY][selectedX] == null) {
        chesses[selectedY][selectedX] = new Chesses(this.isPlayer1);

        if (checkWin()) {
          String winner;
          if (isPlayer1) {
            winner = "白方胜利";
            player1win++;
          }
          else {
            winner = "红方胜利";
            player2win++;
          }

本文关键:MIDP1.0-五子棋1.1读后的修改
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top