104 lines
3.5 KiB
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());
|
|
}
|
|
}
|
|
}
|