From 40ff3b0779f82109f7487d46fc4c3b4a3e90ffb7 Mon Sep 17 00:00:00 2001 From: Jens <3007492@hs-mannheim.de> Date: Mon, 6 May 2024 13:44:17 +0200 Subject: [PATCH] Facade and Domain 2 --- Domain/Player.java | 10 ++++---- Domain/Yatzy_Sheet.java | 19 ++++++++++++++ Facade/Game.java | 57 +++++++++++++++++++++++++++-------------- 3 files changed, 62 insertions(+), 24 deletions(-) diff --git a/Domain/Player.java b/Domain/Player.java index a92519c..9aede3b 100644 --- a/Domain/Player.java +++ b/Domain/Player.java @@ -4,13 +4,13 @@ public class Player { private String name; // private Yatzy_Sheet sheet; - // private Dice dice; + private Dice dice; public Player(String name, Yatzy_Sheet sheet, Dice dice){ this.name = name; // this.sheet = sheet; - // this.dice = dice; + this.dice = dice; } public String getName(){ @@ -21,7 +21,7 @@ public class Player { // return sheet; // } - // public Dice getDice(){ - // return dice; - // } + public Dice getDice(){ + return dice; + } } diff --git a/Domain/Yatzy_Sheet.java b/Domain/Yatzy_Sheet.java index 8328c7d..d2c3614 100644 --- a/Domain/Yatzy_Sheet.java +++ b/Domain/Yatzy_Sheet.java @@ -15,6 +15,21 @@ public class Yatzy_Sheet { } } + //WICHTIG!!! + // + //Methode für bonuspunkte hinzufügen + // + // + + public boolean fullArray(){ + for(int i = 0; i < tabelle.length - 2; i++){ + if(tabelle[i] > 0){ + return true; + } + } + return false; + } + //counts all the public int getSumOne(){ int sum = 0; @@ -37,4 +52,8 @@ public class Yatzy_Sheet { int sumTwo = getSumTwo(); return sumOne += sumTwo; } + + public int[] getTabelle(){ + return tabelle; + } } diff --git a/Facade/Game.java b/Facade/Game.java index a2aedd4..e97af03 100644 --- a/Facade/Game.java +++ b/Facade/Game.java @@ -2,30 +2,14 @@ package Facade; import java.util.ArrayList; -import Domain.Dice; -import Domain.Fives; -import Domain.FourPairs; -import Domain.Fours; -import Domain.FullHouse; -import Domain.Ones; -import Domain.Player; -import Domain.RoyalStraightFlush; -import Domain.Sixes; -import Domain.StraightFlush; -import Domain.ThreePairs; -import Domain.Threes; -import Domain.TwoPairs; -import Domain.Twos; -import Domain.Yatzy; -import Domain.Yatzy_Sheet; +import Domain.*; public class Game { - private ArrayList player = new ArrayList<>(); + private ArrayList players = new ArrayList<>(); private int numberOfDice; private Dice dice = new Dice(numberOfDice); private int[] diceValues; - private int category; private Player player1; private Yatzy_Sheet sheet = new Yatzy_Sheet(); @@ -47,7 +31,7 @@ public class Game { public void startgame(int playerCount, String[] name, int numberOfDice){ for(int i = 0; i < playerCount; i++){ player1 = new Player(name[i], sheet, dice); - player.add(player1); + players.add(player1); } } @@ -62,42 +46,77 @@ public class Game { case 1: ones.correctCategory(diceValues); sheet.addScore(0, ones.getScore()); + break; case 2: twos.correctCategory(diceValues); sheet.addScore(1, twos.getScore()); + break; case 3: threes.correctCategory(diceValues); sheet.addScore(2, threes.getScore()); + break; case 4: fours.correctCategory(diceValues); sheet.addScore(3, fours.getScore()); + break; case 5: fives.correctCategory(diceValues); sheet.addScore(4, fives.getScore()); + break; case 6: sixes.correctCategory(diceValues); sheet.addScore(5, sixes.getScore()); + break; case 7: twoPairs.correctCategory(diceValues); sheet.addScore(6, twoPairs.getScore()); + break; case 8: threePairs.correctCategory(diceValues); sheet.addScore(7, threePairs.getScore()); + break; case 9: fourPairs.correctCategory(diceValues); sheet.addScore(8, fourPairs.getScore()); + break; case 10: fullHouse.correctCategory(diceValues); sheet.addScore(9, fullHouse.getScore()); + break; case 11: straightFlush.correctCategory(diceValues); sheet.addScore(10, straightFlush.getScore()); + break; case 12: royalStraightFlush.correctCategory(diceValues); sheet.addScore(11, royalStraightFlush.getScore()); + break; case 13: yatzy.correctCategory(diceValues); sheet.addScore(12, yatzy.getScore()); + break; } } + + public boolean isGameOver(){ + if(sheet.fullArray() == true){ + return true; + } + return false; + } + + public int getScore(){ + return sheet.getSum(); + } + + public int[] getCategoryScore(){ + return sheet.getTabelle(); + } + + public String getPlayerName(int playerIndex) { + if (playerIndex >= 0 && playerIndex < players.size()) { + return players.get(playerIndex).getName(); + } + return ""; + } }