Hej Allesammen. Jeg er ved at skrive et simpelt program der skal ende med at kunne spille terning spillet snyd. Indtil videre ser min kode således ud.
- public class Game {
-
- public static void main(String[] args) {
- int ones = 0;
- int twos = 0;
- int threes = 0;
- int fours = 0;
- int fives = 0;
- int sixes = 0;
-
- Player humanPlayer = new Player();
- Player cpuPlayer = new Player();
-
-
- while((humanPlayer.getDiesInPlay()>0) && (cpuPlayer.getDiesInPlay()>0)){
- humanPlayer.play();
- cpuPlayer.play();
-
- for(Integer i: humanPlayer.dieResult){
- System.out.println("test");
- if(i==1){
- ones++;
- }else if(i==2){
- twos++;
- } else if(i==3){
- threes++;
- }else if(i==4){
- fours++;
- }else if(i==5){
- fives++;
- }else if(i==6){
- sixes++;
- }
-
- System.out.print(ones + twos + threes + fours + fives + sixes);
- break;
-
- }
- }
-
- }
-
- }
Som den allerførste linie i mit "for each loop" har jeg indsat en system.out.print for at kunne teste hvorvidt programmet overhovedet evaluere koden der findes inde i loopet. Det gør den ikke. Men hvorfor?
humanPlayer er dannet ud fra klassen Player hvis kode ser således ud.
- import java.util.ArrayList;
-
- public class Player {
- private int diesInPlay = 4;
- ArrayList<Integer> dieResult = new ArrayList<Integer>();
-
- Die d = new Die();
-
- public ArrayList<Integer> play(){
- for(int i = diesInPlay; i<1;i--){
- dieResult.add(d.throwDie());
- }
- return dieResult;
- }
-
- public boolean setDiesInPlay(int d){
- diesInPlay = d;
- return true;
- }
-
- public int getDiesInPlay() {
- return diesInPlay;
- }
-
- }
Håber i kan hjælpe mig
.
Mvh. Thor W. Giversen