Added some small things

Added a sheet class to collect points from a player
main
Victor Hans-Georg Waitz 2024-04-30 12:46:42 +02:00
parent eeaf1225de
commit 76623aa66f
7 changed files with 95 additions and 12 deletions

View File

@ -1,4 +1,16 @@
package domain;
import java.util.Random;
public class Dice {
private int amountSides;
public Dice(int amountSides){
this.amountSides = amountSides;
}
public int roll(){
Random rand = new Random();
return (rand.nextInt(amountSides) + 1);
}
}

View File

@ -3,13 +3,25 @@ package domain;
import java.util.ArrayList;
public class Game {
ArrayList<Player> currentPlayers;
private ArrayList<Player> currentPlayers;
private int turnPlayer;
private Dice dice;
public Game(){
currentPlayers = new ArrayList<Player>();
turnPlayer = 0;
dice = new Dice(6);
}
public int rollDice(){
return dice.roll();
}
public void addPlayer(Player playerToAdd){
currentPlayers.add(playerToAdd);
}
public ArrayList<Player> getPlayers(){
return currentPlayers;
}
}

View File

@ -17,6 +17,6 @@ public class Player {
public String toString() {
String ANSI_RESET = "\u001B[0m";
String coloredName = String.format(this.color + this.name + ANSI_RESET);
return String.format("Name: %s, Colored name: %s \n", this.name, coloredName);
return String.format("Player %d: %s", this.playerNumber, coloredName);
}
}

View File

@ -0,0 +1,7 @@
package domain;
public class Sheet {
String[] usedRows;
String[] canceledRows;
String[] emptyRows;
}

View File

@ -0,0 +1,5 @@
package fassade;
public class GameCycle {
}

View File

@ -21,8 +21,8 @@ public class KniffelSystem {
}
public String scorebaordData(){
return "Scoreboard - TODO";
public String LeaderBaordData(){
return "Leaderboard - TODO \n";
}
@ -51,4 +51,31 @@ public class KniffelSystem {
int randomIndex = rand.nextInt(playerColors.size()); //
return playerColors.remove(randomIndex); // Quelle 1 Ende
}
public void createTestPlayers(int amountPlayer){
String[] names = {"Vic", "Natja", "Lilli", "Emelie", "Esra", "Oli"};
for (int i = 0; i < amountPlayer; i++){
addPlayer(i+1, names[i]);
}
}
public void rollDice(int amountRolls){
for (int i = 0; i < amountRolls; i++){
System.out.println(game.rollDice());
}
}
// TEST
public String[] getAllPlayerStrings(){
ArrayList<Player> players = game.getPlayers();
String[] returnStrings = new String[players.size()];
for (int i = 0; i < players.size(); i++){
returnStrings[i] = players.get(i).toString();
}
return returnStrings;
}
}

View File

@ -10,15 +10,21 @@ public class TUI {
public static void main(String[] args) {
System.out.println("Welcome to the PR2 Kniffel game!");
while (true){
mainMenuOutput();
}
// while (true){
// mainMenuOutput();
// }
// DEV:
gameSystem = new KniffelSystem();
gameLoop();
}
private static int mainMenuOutput(){
System.out.println("What do you want to do?");
System.out.println("1 - Play");
System.out.println("2 - See scoreboard");
System.out.println("2 - See leaderboard");
System.out.println("3 - Exit");
System.out.print("> ");
String mainMenuUserInput = sc.nextLine().toLowerCase();
@ -31,10 +37,11 @@ public class TUI {
return 1;
}
else if ((mainMenuUserInput.equals("2"))
|| (mainMenuUserInput.equals("see scoreboard"))
|| (mainMenuUserInput.equals("see leaderboard"))
|| (mainMenuUserInput.equals("see"))
|| (mainMenuUserInput.equals("scoreboard"))){
System.out.println("scoreboard"); // TEST
|| (mainMenuUserInput.equals("leaderboard"))){
System.out.println("leaderboard"); // TEST
mainMenuLeaderBoard();
return 2;
}
else {
@ -52,6 +59,7 @@ public class TUI {
String mainMenuPlayAmountPlayersInput = sc.nextLine().toLowerCase();
int amountPlayers = Integer.parseInt(mainMenuPlayAmountPlayersInput);
for (int i = 0; i < amountPlayers; i++){
System.out.printf("Player %d: ", i + 1);
System.out.println("Enter your name: ");
@ -63,8 +71,20 @@ public class TUI {
}
}
private static void mainMenuScoreboard(){
private static void gameLoop(){
gameSystem.createTestPlayers(6);
String[] playerStrings = gameSystem.getAllPlayerStrings();
for (String player : playerStrings){
System.out.println(player);
}
gameSystem.rollDice(40);
}
private static void mainMenuLeaderBoard(){
gameSystem = new KniffelSystem(); // Scorboard System
System.out.println(gameSystem.LeaderBaordData()); // TODO
}
private static void mainMenuExit(){