コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            b  = new ThreeDBoard();
            ra = new ResultAnalyser(b);
            Button myBtn = (Button)sender;

            switch (myBtn.Name)
            {
            case "btnStart":
                string   pname1 = player1.Text;
                string   pname2 = player2.Text;
                Player   p1     = new Player(pname1, Mark.X);
                Player   p2     = new Player(pname2, Mark.O);
                Player[] p      = { p1, p2 };
                game = new Game(b, p, ra);
                SetButton(true);
                btnStart.Enabled = false;
                break;

            case "button1":
                Input(1, button1);
                break;

            case "button2":
                Input(2, button2);
                break;

            case "button3":
                Input(3, button3);
                break;

            case "button4":
                Input(4, button4);
                break;

            case "button5":
                Input(5, button5);
                break;

            case "button6":
                Input(6, button6);
                break;

            case "button7":
                Input(7, button7);
                break;

            case "button8":
                Input(8, button8);
                break;

            case "button9":
                Input(9, button9);
                break;

            default:
                break;
            }
        }
コード例 #2
0
        public void TestMethod_HorizontalBoardIsMarked()
        {
            IBoard         b  = new ThreeDBoard();
            ResultAnalyser ra = new ResultAnalyser(b);

            b.SetCell(0, 0, Mark.O);
            b.SetCell(0, 1, Mark.O);
            b.SetCell(0, 2, Mark.O);

            Assert.AreEqual(true, ra.Horizontal(0));
        }
コード例 #3
0
        public void TestMethod_VerticalBoardIsMarked()
        {
            IBoard         b  = new ThreeDBoard();
            ResultAnalyser ra = new ResultAnalyser(b);

            b.SetCell(0, 0, Mark.O);
            b.SetCell(1, 0, Mark.O);
            b.SetCell(2, 0, Mark.O);

            Assert.AreEqual(true, ra.Vertical(0));
        }
コード例 #4
0
        public void TestMethod_ChangePlayer()
        {
            IBoard         board = new ThreeDBoard();
            ResultAnalyser ra    = new ResultAnalyser(board);

            Player[] player = new Player[2];
            player[0] = new Player("Himanshu", Mark.X);
            player[1] = new Player("Prasad", Mark.O);

            Game game = new Game(board, player, ra);

            Assert.AreEqual("Himanshu", game.GetCurrentPlayer());
            game.changePlayer();

            Assert.AreEqual("Prasad", game.GetCurrentPlayer());
        }
コード例 #5
0
        public void TestMethod_Analyse()
        {
            IBoard         b  = new ThreeDBoard();
            ResultAnalyser ra = new ResultAnalyser(b);

            b.SetCell(0, 0, Mark.O);
            b.SetCell(0, 1, Mark.X);
            b.SetCell(0, 2, Mark.X);
            b.SetCell(1, 0, Mark.X);
            b.SetCell(1, 1, Mark.O);
            b.SetCell(1, 2, Mark.X);
            b.SetCell(2, 0, Mark.O);
            b.SetCell(2, 1, Mark.X);
            b.SetCell(2, 2, Mark.O);

            Assert.AreEqual(Result.WIN, ra.Analyse());
        }
コード例 #6
0
        public void TestMethod_Play()
        {
            IBoard         board = new ThreeDBoard();
            ResultAnalyser ra    = new ResultAnalyser(board);

            Player[] player = new Player[2];
            player[0] = new Player("Himanshu", Mark.X);
            player[1] = new Player("Prasad", Mark.O);

            Game game = new Game(board, player, ra);

            game.play(0, 0);
            game.play(0, 1);
            game.play(0, 2);

            Assert.AreEqual(Result.INPROGRESS, game.play(1, 0));

            game.play(1, 1);
            game.play(1, 2);
            Assert.AreEqual(Result.WIN, game.play(2, 2));
        }
コード例 #7
0
        public void TestMethod_Win()
        {
            IBoard         b  = new ThreeDBoard();
            ResultAnalyser ra = new ResultAnalyser(b);

            b.SetCell(0, 0, Mark.O);
            b.SetCell(1, 1, Mark.O);
            b.SetCell(2, 2, Mark.O);

            Assert.AreEqual(true, ra.Win());


            b.SetCell(1, 0, Mark.O);
            b.SetCell(2, 0, Mark.O);

            Assert.AreEqual(true, ra.Win());


            b.SetCell(0, 1, Mark.O);
            b.SetCell(0, 2, Mark.O);

            Assert.AreEqual(true, ra.Win());
        }