-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLCRGame.java
136 lines (106 loc) · 3.67 KB
/
LCRGame.java
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import java.util.ArrayList;
// Detta är vart jag testar mina galna ideer
public class LCRGame {
//getCurrentPlayer
private LCR_Die dice;
private LCR_Player[] players = new LCR_Player[3];
private LCR_Player player1;
private LCR_Player player2;
private LCR_Player player3;
private ArrayList<Character> valueB = new ArrayList<>();
private String name1;
private String name2;
private String name3;
private char lastDice;
private int returnLeft;
private int returnRight;
private int playerCount;
private int[] position = {1,2,3};
private int[] score = new int[3];
LCRGame(String name1, String name2, String name3) {
this.name1 = name1;
this.name2 = name2;
this.name3 = name3;
LCR_Die dice = new LCR_Die();
this.dice = dice;
LCR_Player player1 = new LCR_Player(name1, dice, position[0]);
players[0] = player1;
LCR_Player player2 = new LCR_Player(name2, dice, position[1]);
players[1] = player2;
LCR_Player player3 = new LCR_Player(name3, dice, position[2]);
players[2] = player3;
this.player1=player1;
this.player2=player2;
this.player3=player3;
}
public void playGame(){
for (int i = 0; i < 3; i++) {
if(playerCount>2) {
playerCount = 0;
}
playRound(players[playerCount]);
playerCount++;
}
}
public String playRound(LCR_Player player){
for (int i = 0; i < player.getNbRolls() ; i++) {
lastDice=player.rollDice();
valueB.add(lastDice);
switch (lastDice){
case 'L': players[getPlayerLeft(player.getPlacement())].addChips(1);
System.out.println("Left player chip added");
break;
case 'R': players[getPlayerRight(player.getPlacement())].addChips(1);
System.out.println("Right player chip added");
break;
default: System.out.println("No chip added");
break;
}
}
score[player.getPlacement()-1] = player.getChips();
return String.valueOf(valueB);
}
public int getPlayerRight(int position) {
switch (position) {
case 1:
returnRight = 2;
break;
case 2:
returnRight = 3;
break;
case 3:
returnRight = 1;
break;
default: returnRight = 0;
}
return returnRight;
}
public int getPlayerLeft(int position){
switch (position){
case 1: returnLeft = 3;
break;
case 2: returnLeft = 1;
break;
case 3: returnLeft = 2;
break;
default: returnLeft = 0;
}
return returnLeft;
}
public String getPlayers(){
return player1.toString() +" "+ player2.toString() +" "+ player3.toString();
}
public String getDice(){
return dice.toString();
}
public String getWinner(){
if((score[0]==0)&&(score[1]==0)) {
return player3.toString();
}else if((score[0])==0&&(score[2]==0)){
return player2.toString();
}else if((score[1]==0)&&(score[2]==0)){
return player1.toString();
}else
return "Nobody has won yet";
}
}