This commit is contained in:
Johannes Schmelz
2024-12-10 12:13:40 +01:00
parent df4a81cbf2
commit 18300987a4
8 changed files with 58 additions and 26 deletions

View File

@@ -492,7 +492,8 @@ public class Player implements FieldVisitor<Void>{
}
return total;
}
// private static int c = 0;
private static int c = 0;
private static int[] rolls = {4,4, 1,2, 2,3};
/**
* Inner class for dice functionality in the game.
@@ -507,8 +508,20 @@ public class Player implements FieldVisitor<Void>{
* @return the result of a dice roll (1 to 6)
*/
private static int rollDice() {
return random.nextInt(6) + 1;
// return random.nextInt(6) + 1;
// c++;
if(c >= rolls.length) return random.nextInt(6) + 1;
System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println("DICEEEEEEEEEEEEEEEEEEEEE");
System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println();
return rolls[c++];
// return (c%2 == 0)? 3: 2;
// if(c < 7) {
// return 3;

View File

@@ -165,10 +165,11 @@ public class PlayerHandler {
* Shuffles the players and sets their state to WaitForNextTurn, the first one will be active
*/
void randomOrder() {
Collections.shuffle(players);
for (Player player : players) {
player.finishTurn();
}
// Collections.shuffle(players);
// for (Player player : players) {
// player.finishTurn();
// }
nextPlayer();
players.get(0).setActive();
}

View File

@@ -229,6 +229,8 @@ public class ServerGameLogic implements ClientInterpreter {
for (Player p : playerHandler.getPlayers()) {
send(p, new GameStart(playerHandler));
}
playerHandler.randomOrder();
send(playerHandler.getPlayerAtIndex(0), new NextPlayerTurn());
}
@@ -472,7 +474,7 @@ public class ServerGameLogic implements ClientInterpreter {
// Define properties to assign
Set<Integer> p1Properties = Set.of(1, 3, 6, 8); // Gym, Sportplatz, Studium+, PhysikHörsaal
Set<Integer> p2Properties = Set.of(21, 23, 24, 9); // Red set + Audimax
Set<Integer> p2Properties = Set.of(21, 23, 24, 9, 11); // Red set + Audimax + Spießtor
// Assign properties via AlterProperty
assignProperties(p1, p1Properties);
@@ -482,14 +484,16 @@ public class ServerGameLogic implements ClientInterpreter {
// buildHouses(p1, Set.of(1, 3));
// Player 2 builds houses on the Red set
// buildHouses(p2, Set.of(21, 23, 24));
buildHouses(p2, Set.of(21, 23, 24));
buildHouses(p2, Set.of(23, 24));
buildHouses(p2, Set.of( 24));
// Set player balances
p1.setAccountBalance(12325);
p2.setAccountBalance(26750);
// Add Get Out of Jail cards
p1.addJailCard();
p2.addJailCard();
// Set player positions
p1.setPosition(6); // Near Studium+
@@ -532,6 +536,8 @@ public class ServerGameLogic implements ClientInterpreter {
if (boardManager.canBuild(field) && player.getAccountBalance() >= field.getHousePrice()) {
field.build();
player.pay(field.getHousePrice());
updateAllPlayers();
sendAll( new BuildInfo(field.getId(), true));
LOGGER.log(Level.DEBUG, "House built on property {0} for player {1}.", field.getName(), player.getName());
}
}

View File

@@ -17,25 +17,26 @@ public class DeckHelper{
public DeckHelper() {
cards = new LinkedList<Card>();
cards.add(new Card("Dein Jodel eines Schneepenis mit Unterhodenbeleuchtung geht viral. Ziehe 1000 EUR ein", "jodel-eispenis"));
cards.add(new Card("Auf deiner Stube wurde Schimmel gefunden. Gehe ins Gulak. Begib dich direkt dorthin. Gehe nicht über Monatsgehalt. Ziehe nicht 2000 EUR ein.", "schimmel-gulak"));
cards.add(new Card("Malkmus läd zum Pubquiz ein. Rücke vor bis zum 20er.", "pubquiz"));
cards.add(new Card("Du wurdest mit einem Dienst KFZ geblitzt. Zahle 800 EUR", "dienst-kfz-blitzer"));
cards.add(new Card("Die erste Spoparty steht bevor. Ziehe vor zum 23er.", "spoparty"));
cards.add(new Card("Deine IGF-Daten sind verschwunden. Statte Padubrin einen Besuch ab und gib ihm einen Jägermeister aus. Zahle 250 EUR", "IGF-Padubrin"));
cards.add(new Card("Du kommst aus dem Gulak frei!", "gulak-frei-1"));
cards.add(new Card("Du kommst aus dem Gulak frei!", "gulak-frei-2"));
cards.add(new Card("Du hast den Dienstführerschein bestanden. Ziehe vor bis Teststrecke.", "dienstfuehrerschein"));
cards.add(new Card("Malkmus läd zum Pubquiz ein. Rücke vor bis zum 20er.", "pubquiz"));
cards.add(new Card("Deine IGF-Daten sind verschwunden. Statte Padubrin einen Besuch ab und gib ihm einen Jägermeister aus. Zahle 250 EUR", "IGF-Padubrin"));
cards.add(new Card("Du hast heute die Spendierhosen an und gibst eine Runde in der Unibar. Zahle jedem Spieler 400 EUR", "spendierhosen-unibar"));
cards.add(new Card("Du musstest einen Rückstuferantrag stellen. Setze eine Runde aus.", "rueckstuferantrag"));
cards.add(new Card("Du warst in der Prüfungsphase krank. Gehe 3 Felder zurück.", "pruefungsphase-krank"));
cards.add(new Card("Ziehe vor bis zum nächsten Monatsgehalt.", "naechstes-monatsgehalt"));
cards.add(new Card("Du hast ein Antreten verschlafen. Zahle 500 EUR", "antreten-verschlafen-1"));
cards.add(new Card("Du hast den Maibock organisiert. Du erhältst 3000 EUR", "maibock-organisiert"));
cards.add(new Card("Der Spieß macht eine unangekündigte Inventur. Zahle für jedes Haus 400 EUR und für jedes Hotel 2800 EUR", "inventur-haeuser-hotels"));
cards.add(new Card("Es gab keine Mozzarella-Bällchen mehr für Thoma. Rücke vor bis aufs Gym.", "dienstsport-gym"));
cards.add(new Card("Auf deiner Stube wurde Schimmel gefunden. Gehe ins Gulak. Begib dich direkt dorthin. Gehe nicht über Monatsgehalt. Ziehe nicht 2000 EUR ein.", "schimmel-gulak"));
cards.add(new Card("Deine Stube ist nach einer Partynacht nicht mehr bewohnbar. Du ziehst ins Gulak. Begib dich direkt dorthin. Gehe nicht über Monatsgehalt. Ziehe nicht 2000 EUR ein.", "partynacht-gulak"));
cards.add(new Card("Das Jahresabschlussantreten steht an. Ziehe vor bis Schwimmhalle.", "jahresabschlussantreten"));
cards.add(new Card("Du wurdest beim Verkaufen von Versicherungen erwischt. Zahle 4000 EUR", "verkaufen-versicherungen"));
cards.add(new Card("Du musstest einen Rückstuferantrag stellen. Setze eine Runde aus.", "rueckstuferantrag"));
cards.add(new Card("Auf einer Hausfeier bist du betrunken auf der Treppe gestürzt und dabei auf einen Kameraden gefallen. Zahle 800 EUR und gehe zurück zum SanZ.", "hausfeier-sturz"));
cards.add(new Card("Beförderung. Beim nächsten Monatsgehalt ziehst du 3000 EUR ein", "befoerderung"));
cards.add(new Card("Du entscheidest dich für eine Dienstreise nach Lourd. Zahle 1000 EUR und setze eine Runde aus.", "dienstreise-lourd"));
@@ -48,9 +49,8 @@ public class DeckHelper{
cards.add(new Card("Du wurdest zur VP gewählt und schmeißt eine Einstandsparty. Zahle 800 EUR", "vp-einstandsparty"));
cards.add(new Card("Du hast eine Party veranstaltet und dick Gewinn gemacht. Ziehe 1500 EUR ein", "party-gewinn"));
cards.add(new Card("Zur falschen Zeit am falschen Ort. Du musst einen Bergmarsch planen und setzt eine Runde aus.", "bergmarsch"));
cards.add(new Card("Dein Jodel eines Schneepenis mit Unterhodenbeleuchtung geht viral. Ziehe 1000 EUR ein", "jodel-eispenis"));
shuffle();
// shuffle();
}
public void visit(Card card, Player player) {