Пример #1
0
 private void attacks(Territory t) {
   if (from == null) {
     if (t.getOwner() == this) {
       from = t;
       System.out.println("attacking from " + from);
     }
   } else if (to == null) {
     if (t.getOwner() != this) {
       to = t;
       System.out.println("attacking from " + from + " to " + to);
     }
   }
 }
Пример #2
0
 private void tacticalMoves(Territory t) {
   if (from == null) {
     if (t.getOwner() == this && getUnitsInTerritory(t) > 1) {
       from = t;
       System.out.println("fortifying from " + from);
     }
   } else if (to == null) {
     if (t.getOwner() == this) {
       to = t;
       System.out.println("fortifying from " + from + " to " + to);
     }
   }
 }
Пример #3
0
  /**
   * paintComponent schreibt alle Laendernamen an die entsprechende Stelle der Landkarte
   * (Hintergrundgrafik) und zeichnet die Laendergrenzen auf der Landkarte nach.
   *
   * @param g Zeichenflaeche der Landkarte
   */
  public void paintComponent(Graphics g) {
    Shape shape;

    Graphics2D g2d = (Graphics2D) g;
    g2d.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
    Font myFont = new Font("Times New Roman", Font.BOLD, 12);
    g2d.setFont(myFont);

    g2d.setStroke(new BasicStroke(2.0f));

    Territory territory;
    Color color;

    ListIterator territories = worldMap.getTerritories().listIterator();

    while (territories.hasNext()) {
      territory = (Territory) territories.next();

      if (territory.getOwner() != null) {
        color = territory.getOwner().getPlayerColor();
      } else {
        color = Color.WHITE;
      }

      g2d.setColor(color);
      g2d.drawString(
          territory.getName(),
          (int) territory.getMidpoint().getX() - 15,
          (int) territory.getMidpoint().getY() - 10);

      g2d.drawString(
          new Integer(territory.getArmySize()).toString(),
          (int) territory.getMidpoint().getX(),
          (int) territory.getMidpoint().getY());
    }

    if (territoryBattle.size() != 0) {
      for (int j = 0; j < territoryBattle.size(); j++) {
        g2d.setColor(territoryBattle.get(j).getOwner().getPlayerColor());
        // g2d.fillPolygon(territoryTmp.getFrontiers());   Sieht bei unseren Grenzen nicht huebsch
        // aus
        g2d.drawPolygon(territoryBattle.get(j).getFrontiers());
      }
    }

    repaint();
  }
Пример #4
0
 public void editVision() {
   System.out.println("editing vision now in servergame");
   this.backup();
   for (Player p : myGame.getPlayers()) {
     GameState tempState = this.readState();
     GameMap map = tempState.getMap();
     for (Territory t : myGame.getMap().getTerritories()) {
       if (!t.getOwner().onTeam(p) && !t.isAdjacentTo(p) && !t.hasSpy(p)) {
         // if territory is not yours AND you're not adjacent to it AND you don't have a spy there
         // hide it from your view with a fogged territory
         map.replaceTerritory(map.getTerritory(t.getID()));
       }
     }
     myServer.sendGameByPlayer(tempState, p.getPlayer());
   }
 }
Пример #5
0
  public void onClick(Territory t) {
    switch (stage) {
      case 1: // reinforcement phase
        if (t.getOwner() == this) {

          reinforce(t, 1);
          armiesLeft--;
        }
        reinforcements(t);
        break;
      case 2: // attack phase
        attacks(t);
        break;
      case 3: // tactical move phase
        tacticalMoves(t);
        break;
    }
  }
Пример #6
0
 private void reinforcements(Territory t) {
   if (t.getOwner() == this) {
     reinforce(t, 1);
     armiesLeft--;
   }
 }