forked from MortenBach/cdio2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathController.java
More file actions
88 lines (65 loc) · 2.9 KB
/
Controller.java
File metadata and controls
88 lines (65 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Controller {
//Instance variabler skal være private
private static final int fieldNumber9 = 10;
private Dice die = new Dice(); // Laver et nyt objekt af klassen Dice
private int roll1 = 0; // Laver to lokale variable, der indeholder to separate værdier
private int roll2 = 0; // af die.roll();
private int diceEyes; // Laver en diceEyes variabel, vi bruger i game() metoden.
private int currentPlayer = 0; // Reserverer plads til int i og initialiserer til 0.
private List<Player> Players = new ArrayList<Player>(); //Laver en Arrayliste, der kan indeholde referencer til objekter af Player
private Player tempPlayer;
private boolean win = false;
public Controller()
{ // Laver et objekt af klassen layer og sætter Player 1/2 ind som string i constructore
Players.add(new Player("Player 1")); // Tiføjer spillere til listen Players
Players.add(new Player("Player 2"));
}
public void game()
{
Scanner scan = new Scanner(System.in); // Laver en scanner
while (! win)
{ // Laver en while løkke, der kører forevigt da while (true)
if (currentPlayer < Players.size())
{ // Laver et if-statement til index i, i arraylisten Players
tempPlayer = Players.get(currentPlayer); // Laver en reference til klassen Player, vi kalder for tempPlayer. tempPlayer refererer til index i, i arrayListen Players
System.out.println("It's " + tempPlayer + "'s turn to roll the dice"); // Printer
scan.nextLine(); // Venter på nextLine for at komme videre
roll1 = die.roll(); // Sætter roll1 og roll2 lig die.roll(), men på hver sin linie, så de får hver sin værdi
roll2 = die.roll();
diceEyes = roll1 + roll2; // Initialiserer diceEyes til roll1 + roll2
//tempPlayer.fieldnumber(diceEyes);// ---*Dette skal bruges til klassen fields og er et eksempel*---
extraturn();
WinCondition();
if(win)
{ // Hvis win er true, stopper den while loopet
break;
}
System.out.println("" + tempPlayer + " has rolled " + diceEyes +"" ); // Printer
scan.nextLine();
currentPlayer++;
}
if (currentPlayer == Players.size())
{ // if-statement, der resetter i når den bliver lig længden af Players listen
currentPlayer = 0;
}
}
scan.close();
}
public void extraTurn()
{
if (diceEyes == fieldNumber9)
{
currentPlayer--;
}
}
public void WinCondition()
{
if (tempPlayer.points () >= 3000) //Dette er bare et eksempel, metoden skal tilpasses efter klassen konto//
{
win = true;
}
}
}