コード例 #1
0
ファイル: LuckCard.java プロジェクト: ahma0942/19CDIO_Final
  public void useCard(Players p) {
    // 3, 8, 18, 23, 34, 37
    System.out.print(text);
    GUI.displayChanceCard(text);
    GUI.getUserButtonPressed("", "OK");
    // Betale penge
    if (type == "Pay") p.remove(value);
    // Modtage penge
    else if (type == "Receive") p.add(value);
    else {
      GUI.removeCar(p.getPosition(), p.name());
      // n er nr på prøv lykkefelterne som vi selv definere udfra position.
      // luckFieldNum er der hvor han skal være eller over for at modtage 4000.
      int n;
      if (p.getPosition() == 3) n = 1;
      else if (p.getPosition() == 8) n = 2;
      else if (p.getPosition() == 18) n = 3;
      else if (p.getPosition() == 23) n = 4;
      else if (p.getPosition() == 34) n = 5;
      else n = 6;

      // Passerer start
      if (n >= luckFieldNum && luckFieldNum != 0) p.add(4000);
      // Flytte 3 felter tilbage. Linje 53 er generelt at flytte 3 tilbage.
      // Linje 54 er i forhold til at flytte 3 felter tilbage når man lander på første Prøv
      // Lykken.
      if (type == "MoveBack") {
        p.setPosition(p.getPosition() + value);
        if (p.getPosition() == 0) p.setPosition(40);
      }
      // Rykke til fleet
      else if (type == "MoveToShip") {
        if (p.getPosition() < 6 || p.getPosition() > 36) p.setPosition(6);
        else if (p.getPosition() > 6 && p.getPosition() < 16) p.setPosition(16);
        else if (p.getPosition() > 16 && p.getPosition() < 26) p.setPosition(26);
        else p.setPosition(36);
      }
      // Flytte til fængsel
      else if (type == "MoveToJail") p.setPosition(31);
      // Andre andre move kort
      else p.setPosition(value);
      // Rykke i fængsel direkte uden at rykke brikken på brættet.
      if (type == "MoveToJail") GUI.setCar(11, p.name());
      else GUI.setCar(p.getPosition(), p.name());
    }
  }