Beispiel #1
0
  /**
   * Main Sudoku Paint. Paints everything for the sudoku board.
   *
   * @param m
   * @param g
   * @param w
   * @param oh
   */
  @Override
  public void paint(SudokuModel m, Graphics g, int w, int oh) {
    this.oh = oh;
    this.w = w;
    int h = oh - 100;
    this.h = h;
    g.setFont(new Font(SANS_SERIF, PLAIN, 50));

    m.checkConflict();

    for (int i = 0; i < 3; ++i)
      for (int j = 0; j < 3; ++j) paintSmallGrid(g, i * w / 3, j * h / 3, w / 3, h / 3);

    m.updateSelection();
    for (int i = 0; i < 9; ++i)
      for (int j = 0; j < 9; ++j) paintBox(g, i * w / 9, j * h / 9, m.get(j, i), w / 9, h / 9);
    paintGrid(g, w, h);

    if (m.gameOver()) {
      g.setColor(Color.BLACK);
      g.fillRect(w / 2 - 200, h / 2 - 100, 400, 200);
      g.setColor(Color.RED);
      drawStringBox(g, w / 2 - 200, h / 2 - 200, "GAME OVER", 400, 400);
    }
  }