diff options
| -rw-r--r-- | aux/Environ.java | 13 | ||||
| -rw-r--r-- | engine/Engine.java | 11 | ||||
| -rw-r--r-- | player/PlayerActionHandler.java | 29 | ||||
| -rw-r--r-- | player/PlayerActionServer.java | 29 | ||||
| -rw-r--r-- | tools/Deck.java | 7 | 
5 files changed, 83 insertions, 6 deletions
| diff --git a/aux/Environ.java b/aux/Environ.java index 701f220..b031bf6 100644 --- a/aux/Environ.java +++ b/aux/Environ.java @@ -1,7 +1,20 @@  package mahjong.aux; +import mahjong.aux.set.CardSet; +import mahjong.tools.Deck; +  /**   * Created by joe on 12/1/14.   */  public class Environ { +    CardSet remCards; +    { +        remCards = new CardSet(0); +        remCards.add(Deck.generateDeck(true),1); +    } + +    public Environ() +    { + +    }  } diff --git a/engine/Engine.java b/engine/Engine.java index eec7b73..6a8773d 100644 --- a/engine/Engine.java +++ b/engine/Engine.java @@ -4,6 +4,7 @@ import mahjong.aux.Card;  import mahjong.aux.set.Aside;  import mahjong.aux.set.Set;  import mahjong.player.GenericPlayer; +import mahjong.player.PlayerActionServer;  import mahjong.tools.Deck;  import java.util.Random; @@ -12,10 +13,10 @@ import java.util.Random;   * Created by joe on 12/2/14.   */  public class Engine { -    GenericPlayer[] players=new GenericPlayer[4]; +    PlayerActionServer[] players=new PlayerActionServer[4];      Set deck; -    public Engine(GenericPlayer player1,GenericPlayer player2,GenericPlayer player3,GenericPlayer player4) +    public Engine(PlayerActionServer player1,PlayerActionServer player2,PlayerActionServer player3,PlayerActionServer player4)      {          players[0]=player1;          players[1]=player2; @@ -30,7 +31,7 @@ public class Engine {          for (int i=0;i<5;++i) {              int x = rand.nextInt(4);              int y = (x+rand.nextInt(3)+1)%4; -            GenericPlayer tmp; +            PlayerActionServer tmp;              tmp=players[x];              players[x]=players[y];              players[y]=tmp; @@ -42,7 +43,7 @@ public class Engine {          ShufflePlayer();          for (int i=0;i<4;++i)              System.out.println(players[i].getName()); -        deck = Deck.generateDeck(); +        deck = Deck.generateDeck(true);      }      public static void playerPutAsideCards(GenericPlayer player, Card card, Aside aside) @@ -63,7 +64,7 @@ public class Engine {          while (!hu && deck.getSize()>0)          {              Card card=deck.draw(); -            GenericPlayer player=players[pos]; +            PlayerActionServer player=players[pos];              // Hu              if (player.hand.huAble(card)) { diff --git a/player/PlayerActionHandler.java b/player/PlayerActionHandler.java new file mode 100644 index 0000000..05a042c --- /dev/null +++ b/player/PlayerActionHandler.java @@ -0,0 +1,29 @@ +package mahjong.player; + +import mahjong.aux.set.Hand; +import mahjong.engine.Action; + +/** + * Created by joe on 12/4/14. + */ +public abstract class PlayerActionHandler { +    public Hand hand=new Hand(); +    int score; + +    protected String name; + +    public String getName() { +        return name; +    } + +    public abstract Action stateAlert(Action action); +    public abstract void stateUpdate(Action action); + +    public void setScore(int score) { +        this.score = score; +    } + +    public int getScore() { +        return score; +    } +} diff --git a/player/PlayerActionServer.java b/player/PlayerActionServer.java new file mode 100644 index 0000000..49fcef4 --- /dev/null +++ b/player/PlayerActionServer.java @@ -0,0 +1,29 @@ +package mahjong.player; + +import mahjong.aux.set.Hand; +import mahjong.engine.Action; + +/** + * Created by joe on 12/4/14. + */ +public abstract class PlayerActionServer { +    public Hand hand=new Hand(); +    int score; + +    protected String name; + +    public String getName() { +        return name; +    } + +    public abstract Action stateAlert(Action action); +    public abstract void stateUpdate(Action action); + +    public void setScore(int score) { +        this.score = score; +    } + +    public int getScore() { +        return score; +    } +} diff --git a/tools/Deck.java b/tools/Deck.java index d2e4d0c..6ff2cc9 100644 --- a/tools/Deck.java +++ b/tools/Deck.java @@ -8,12 +8,17 @@ import mahjong.aux.set.Set;   * Created by joe on 12/1/14.   */  public class Deck { -    static public Set generateDeck() +    static public Set generateDeck(boolean ex)      {          Set deck = new Set();          for (int i=0; i<CardSet.cardTypeTotal;++i)          for (int cnt=0; cnt<4; ++cnt)              deck.add(new Card(CardSet.deckIds[i])); +        if (ex) +        { +            deck.remove(new Card(":5s"));deck.remove(new Card(":5p"));deck.remove(new Card(":5m")); +            deck.remove(new Card(":0s"));deck.remove(new Card(":0p"));deck.remove(new Card(":0m")); +        }          return deck;      }  } | 
