Yatzy/Facade/Game.java

104 lines
3.5 KiB
Java

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> 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());
}
}
}