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; public class Game { private ArrayList player = 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(); private Ones ones = new Ones(player1); private Twos twos = new Twos(player1); private Threes threes = new Threes(player1); private Fours fours = new Fours(player1); private Fives fives = new Fives(player1); private Sixes sixes = new Sixes(player1); private TwoPairs twoPairs = new TwoPairs(player1); private ThreePairs threePairs = new ThreePairs(player1); private FourPairs fourPairs = new FourPairs(player1); private FullHouse fullHouse = new FullHouse(player1); private StraightFlush straightFlush = new StraightFlush(player1); private RoyalStraightFlush royalStraightFlush = new RoyalStraightFlush(player1); private Yatzy yatzy = new Yatzy(player1); 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); } } public int[] rollDice(Dice dice){ dice.rollDice(numberOfDice); int[] diceValues = dice.getValues(); return diceValues; } public void choosCategory(int category){ switch(category){ case 1: ones.correctCategory(diceValues); sheet.addScore(0, ones.getScore()); case 2: twos.correctCategory(diceValues); sheet.addScore(1, twos.getScore()); case 3: threes.correctCategory(diceValues); sheet.addScore(2, threes.getScore()); case 4: fours.correctCategory(diceValues); sheet.addScore(3, fours.getScore()); case 5: fives.correctCategory(diceValues); sheet.addScore(4, fives.getScore()); case 6: sixes.correctCategory(diceValues); sheet.addScore(5, sixes.getScore()); case 7: twoPairs.correctCategory(diceValues); sheet.addScore(6, twoPairs.getScore()); case 8: threePairs.correctCategory(diceValues); sheet.addScore(7, threePairs.getScore()); case 9: fourPairs.correctCategory(diceValues); sheet.addScore(8, fourPairs.getScore()); case 10: fullHouse.correctCategory(diceValues); sheet.addScore(9, fullHouse.getScore()); case 11: straightFlush.correctCategory(diceValues); sheet.addScore(10, straightFlush.getScore()); case 12: royalStraightFlush.correctCategory(diceValues); sheet.addScore(11, royalStraightFlush.getScore()); case 13: yatzy.correctCategory(diceValues); sheet.addScore(12, yatzy.getScore()); } } }