コード例 #1
0
ファイル: State.cs プロジェクト: kmaddebas/GoatsMVC
 public State(Board board, Goat g,
     Tiger t)
 {
     this.goat = g;
     this.tiger = t;
     this.board = board;
 }
コード例 #2
0
ファイル: Goat.cs プロジェクト: kmaddebas/GoatsMVC
 public Goat Clone()
 {
     Goat newGoat = new Goat();
     newGoat.Symbol = this.Symbol;
     newGoat.GoatsInHand = this.goatsInHand;
     newGoat.GoatsKilled = this.goatsKilled;
     return newGoat;
 }
コード例 #3
0
ファイル: State.cs プロジェクト: kmaddebas/GoatsMVC
        public State(String stateString)
        {
            board = new Board();
            tiger = new Tiger();
            goat = new Goat();

            board.SetStates(stateString);
        }
コード例 #4
0
ファイル: State.cs プロジェクト: kmaddebas/GoatsMVC
        public AbstractMove chooseMoveArbitrarilyForTest(char p, int goatsKilled, int GoatsInHand)
        {
            AbstractPlayer player;

            if (p.Equals('G')) player = new Goat();
            else player = new Tiger();
            List<AbstractMove> moves = player.FindMoves(this);
            return moves[0];
        }
コード例 #5
0
ファイル: PlayerTests.cs プロジェクト: kmaddebas/GoatsMVC
        public void TestGoat()
        {
            Goat g = new Goat();
            Assert.AreEqual(g.Symbol, 'G');
            int goatsKilled = g.GoatsKilled;
            Assert.AreEqual(goatsKilled, 0);
            int goatsInHand = g.GoatsInHand;
            Assert.AreEqual(goatsInHand, 20);

            g.DecrementGoatsInHand();
            Assert.AreEqual(g.GoatsInHand, 19);

            g.IncrementGoatsKilled();
            Assert.AreEqual(g.GoatsKilled, 1);
        }
コード例 #6
0
        public MoveJSON ChooseMove(String boardString, char p, int goatsKilled, int goatsInHand)
        {
            State s = new State(boardString);
            Tiger t = new Tiger();
            Goat g = new Goat();
            g.GoatsInHand = goatsInHand;
            g.GoatsKilled = goatsKilled;
            s.Goat = g;
            s.Tiger = t;

            MinMaxPlayer minMax = new MinMaxPlayer(t,g,s);
            //AbstractMove m = s.chooseMoveArbitrarilyForTest(p, goatsKilled,goatsInHand);
            AbstractMove m = (p=='T'?minMax.ABSearchMax(s):minMax.ABSearchMin(s));
            return new MoveJSON(parseToString(m, s));
        }
コード例 #7
0
ファイル: State.cs プロジェクト: kmaddebas/GoatsMVC
 public State()
 {
     board = new Board();
     tiger = new Tiger();
     goat = new Goat();
 }
コード例 #8
0
ファイル: MinMaxPlayer.cs プロジェクト: kmaddebas/GoatsMVC
 public MinMaxPlayer(Tiger t, Goat g, State s)
 {
     state = s;
     board = s.Board;
 }
コード例 #9
0
ファイル: Game.cs プロジェクト: kmaddebas/GoatsMVC
 public void setGoat(Goat goat)
 {
     state.Goat = goat;
 }