Bläddra i källkod

merged stud with war - new CardGame methods

Nick Satinover 6 år sedan
förälder
incheckning
111e479ad6

+ 44
- 2
src/main/java/io/zipcoder/casino/CardGame.java Visa fil

@@ -12,7 +12,7 @@ public abstract class CardGame {
12 12
     private int maxBet;
13 13
     private int handSize;
14 14
     private int ante;
15
-    private Player playersTurn;
15
+    private CardPlayer playersTurn;
16 16
     private Player winner = null;
17 17
     private ArrayList<CardPlayer> players = new ArrayList<CardPlayer>();
18 18
     private Deck deck = new Deck();
@@ -80,7 +80,49 @@ public abstract class CardGame {
80 80
         return handSize;
81 81
     }
82 82
 
83
-    public void setHandSize(int handSize){
83
+    public void setHandSize(int handSize) {
84 84
         this.handSize = handSize;
85 85
     }
86
+
87
+    public CardPlayer getPlayersTurn() {
88
+        return playersTurn;
89
+    }
90
+
91
+    public void setPlayersTurn(CardPlayer playersTurn) {
92
+        this.playersTurn = playersTurn;
93
+    }
94
+
95
+    public void addNpc(){
96
+        addPlayers(new NPC("Opponant", getAnte()));
97
+    }
98
+
99
+    public void chooseStatingPlayer(){
100
+        //loop through the players
101
+        for(int i = 0; i < getPlayers().size(); i ++){
102
+            //if one is not an NPC
103
+            if(!(getPlayers().get(i).getPlayer() instanceof NPC)){
104
+                //set this player to have the current turn
105
+                setPlayersTurn(getPlayers().get(i));
106
+                break;
107
+            }
108
+        }
109
+        System.out.println("it is now " + playersTurn.getPlayer().getName() + "'s turn");
110
+    }
111
+
112
+    public void chooseNextTurn(){
113
+        if(playersTurn != null)
114
+        {
115
+            //if it is the end of the turn circle
116
+            if((players.indexOf(playersTurn) + 1) == players.size()){
117
+                //start again at the starting player
118
+                playersTurn = players.get(0);
119
+                System.out.println("it is now " + playersTurn.getPlayer().getName() + "'s turn");
120
+
121
+            //if it is not the end of the turn circle
122
+            } else {
123
+                playersTurn = players.get(players.indexOf(playersTurn) + 1);
124
+                System.out.println("it is now " + playersTurn.getPlayer().getName() + "'s turn");
125
+            }
126
+        }
127
+    }
86 128
 }

+ 3
- 0
src/main/java/io/zipcoder/casino/Console.java Visa fil

@@ -33,6 +33,7 @@ public class Console {
33 33
                 int[] warMinMax = getMinMax();
34 34
                 Game war = new War(warMinMax[0], warMinMax[1], 10);
35 35
                 ((War) war).addPlayers(player);
36
+                ((War) war).addNpc();
36 37
                 war.StartGame();
37 38
                 break;
38 39
 
@@ -40,6 +41,7 @@ public class Console {
40 41
                 int[] studMinMax = getMinMax();
41 42
                 Game stud = new Stud(studMinMax[0], studMinMax[1], 10);
42 43
                 ((Stud) stud).addPlayers(player);
44
+                ((Stud) stud).addNpc();
43 45
                 stud.StartGame();
44 46
                 break;
45 47
 
@@ -101,4 +103,5 @@ public class Console {
101 103
         command = command.toLowerCase().trim();
102 104
         return command;
103 105
     }
106
+
104 107
 }

+ 8
- 0
src/main/java/io/zipcoder/casino/NPC.java Visa fil

@@ -0,0 +1,8 @@
1
+package io.zipcoder.casino;
2
+
3
+public class NPC extends Player {
4
+
5
+    NPC(String name, int initialBalance) {
6
+        super(name, initialBalance);
7
+    }
8
+}

+ 3
- 2
src/main/java/io/zipcoder/casino/Stud.java Visa fil

@@ -66,7 +66,7 @@ public class Stud extends CardGame implements Gamble, Game {
66 66
 
67 67
     }
68 68
 
69
-    public void
69
+    //public void
70 70
 
71 71
     /**
72 72
      * Deal each player(and dealer) 3 face down cards in turn
@@ -96,4 +96,5 @@ public class Stud extends CardGame implements Gamble, Game {
96 96
             //remove the card from the deck
97 97
             super.getDeck().remove(card);
98 98
         }
99
-    }
99
+    }
100
+    */

+ 4
- 0
src/main/java/io/zipcoder/casino/War.java Visa fil

@@ -62,8 +62,10 @@ public class War extends CardGame implements Gamble, Game {
62 62
 
63 63
     public void StartGame() {
64 64
         System.out.println("Welcome to war!");
65
+        super.chooseStatingPlayer();
65 66
         payAnte();
66 67
         Deal();
68
+        //super.chooseNextTurn();
67 69
     }
68 70
 
69 71
     public void StartRound() {
@@ -95,5 +97,7 @@ public class War extends CardGame implements Gamble, Game {
95 97
                 super.getDeck().remove(card);
96 98
             }
97 99
         }
100
+        System.out.println(super.getPlayersTurn().getPlayer().getName() + "has: " + super.getPlayersTurn().getHand().size() + " cards.");
98 101
     }
102
+
99 103
 }