Esempio n. 1
0
  @Override
  // public void draw(Graphics g, Board b, int z, boolean highlight) {
  public void draw(Graphics g, Board b) {
    int doorFraction = 5;
    // int pixelModifier = 25;
    int pixelModifier =
        Math.min(b.size().width / b.getNumColumns(), b.size().height / b.getNumRows());
    int doorOffset = pixelModifier / doorFraction;
    b.setPixelModifier(pixelModifier);

    g.setColor(Color.LIGHT_GRAY);
    if (this.highlight) {
      g.setColor(Color.GREEN);
    }

    g.fillRect(column * pixelModifier, row * pixelModifier, pixelModifier, pixelModifier);
    g.setColor(Color.blue);
    if (this.isDoorway() && (doorDirection.equals(DoorDirection.UP))) {
      g.fillRect(column * pixelModifier, row * pixelModifier, pixelModifier, doorOffset);
    } else if (this.isDoorway() && (doorDirection.equals(DoorDirection.DOWN))) {
      g.fillRect(
          column * pixelModifier,
          (row * pixelModifier + pixelModifier) - doorOffset,
          pixelModifier,
          doorOffset);
    } else if (this.isDoorway() && (doorDirection.equals(DoorDirection.LEFT))) {
      g.fillRect(column * pixelModifier, row * pixelModifier, doorOffset, pixelModifier);
    } else if (this.isDoorway() && (doorDirection.equals(DoorDirection.RIGHT))) {
      g.fillRect(
          (column * pixelModifier + pixelModifier) - doorOffset,
          row * pixelModifier,
          doorOffset,
          pixelModifier);
    }
    if (drawName) {
      g.drawChars(
          b.getRooms().get(roomClassifier).toCharArray(),
          0,
          b.getRooms().get(roomClassifier).length(),
          column * pixelModifier,
          row * pixelModifier);
    }
  }