started 2025ft
This commit is contained in:
9
src/j2025/FT/Die.java
Normal file
9
src/j2025/FT/Die.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package j2025.FT;
|
||||
|
||||
public enum Die {
|
||||
ONE, TWO, THREE, FOUR, FIVE, SIX;
|
||||
|
||||
public static Die random() {
|
||||
return values()[(int) (Math.random() * 6)];
|
||||
}
|
||||
}
|
||||
5
src/j2025/FT/Game.java
Normal file
5
src/j2025/FT/Game.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package j2025.FT;
|
||||
|
||||
public class Game {
|
||||
|
||||
}
|
||||
36
src/j2025/FT/PairOfDice.java
Normal file
36
src/j2025/FT/PairOfDice.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package j2025.FT;
|
||||
|
||||
public class PairOfDice implements Comparable<PairOfDice> {
|
||||
|
||||
private final Die die1;
|
||||
private final Die die2;
|
||||
|
||||
public PairOfDice(Die die1, Die die2) {
|
||||
this.die1 = die1;
|
||||
this.die2 = die2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(PairOfDice other) {
|
||||
return Integer.compare(this.getValue(), other.getValue());
|
||||
}
|
||||
|
||||
private int getValue() {
|
||||
int high = Math.max(die1.ordinal(), die2.ordinal());
|
||||
int low = Math.min(die1.ordinal(), die2.ordinal());
|
||||
|
||||
// Mäxchen (2,1) → höchster Wert
|
||||
if (high == 2 && low == 1) return Integer.MAX_VALUE;
|
||||
|
||||
// Pasch → 100 + Augenzahl (11..66 → 101..106)
|
||||
if (high == low) return 100 + high;
|
||||
|
||||
// Normale Würfe → zweistellige Zahl (z.B. 6,5 → 65)
|
||||
return high * 10 + low;
|
||||
}
|
||||
|
||||
public static PairOfDice random() {
|
||||
return new PairOfDice(Die.random(), Die.random());
|
||||
}
|
||||
|
||||
}
|
||||
21
src/j2025/FT/PairOfDiceTest.java
Normal file
21
src/j2025/FT/PairOfDiceTest.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package j2025.FT;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class PairOfDiceTest {
|
||||
private final PairOfDice p33 = new PairOfDice(Die.THREE, Die.THREE);
|
||||
private final PairOfDice p41 = new PairOfDice(Die.FOUR, Die.ONE);
|
||||
|
||||
|
||||
@Test
|
||||
public void testCompareTo() {
|
||||
// p33 ist Pasch → Wert 102, p41 → Wert 41: p33 > p41
|
||||
assertTrue(p33.compareTo(p41) > 0);
|
||||
assertTrue(p41.compareTo(p33) < 0);
|
||||
assertEquals(0, p33.compareTo(p33));
|
||||
assertEquals(0, p41.compareTo(p41));
|
||||
}
|
||||
}
|
||||
24
src/j2025/FT/Player.java
Normal file
24
src/j2025/FT/Player.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package j2025.FT;
|
||||
|
||||
public class Player {
|
||||
|
||||
private final String name;
|
||||
private int points = 0;
|
||||
|
||||
public Player(String name, int points) {
|
||||
this.name = name;
|
||||
this.points = points;
|
||||
}
|
||||
|
||||
public int getPoints() {
|
||||
return points;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void losesPoint() {
|
||||
points--;
|
||||
}
|
||||
}
|
||||
17
src/j2025/FT/PlayerHandler.java
Normal file
17
src/j2025/FT/PlayerHandler.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package j2025.FT;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class PlayerHandler {
|
||||
|
||||
private List<Player> players = new LinkedList<>();
|
||||
|
||||
public void addPlayer(Player player) {
|
||||
players.add(player);
|
||||
}
|
||||
|
||||
public Player getCurrentPlayer() {
|
||||
return players.getFirst();
|
||||
}
|
||||
}
|
||||
5
src/j2025/FT/State.java
Normal file
5
src/j2025/FT/State.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package j2025.FT;
|
||||
|
||||
public class State {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user