Beispiel #1
0
        public void AmobaModel_StepTest()
        {
            _model.NewGame(10);
            Assert.AreEqual(Player.PlayerX, _model.CurrentPlayer);

            _model.AdvanceTime();
            _model.Step(7, 9);                                           //a hetedik oszlop, utolsó elemére "kattintunk"

            Assert.AreEqual(Player.Player0, _model.CurrentPlayer);       //megnézzük, hogy váltott-e a másik játékosra
            Assert.AreEqual(Player.PlayerX, _model.GetFieldValue(7, 9)); //elhelyezte-e az X-et a 7. oszlop aljára

            // csinálunk még 4 random lépést
            //a játék itt még nem érhet véget mert 5 lépés alatt 3 X és 2 0 volt
            for (Int32 i = 0; i < 4; i++)
            {
                _model.AdvanceTime();
                _model.Step(i, 9);
            }
            Int32 filled = 0;

            for (Int32 i = 0; i < 10; i++)
            {
                for (Int32 j = 0; j < 10; j++)
                {
                    if (_model.GetFieldValue(i, j) != Player.NoPlayer)
                    {
                        filled++;
                    }
                }
            }

            Assert.AreEqual(5, filled); //5 lépés után annyi mező van-e kitöltve
        }
Beispiel #2
0
        /// <summary>
        /// Játék léptetése eseménykiváltása.
        /// </summary>
        /// <param name="Index">A lépett mező indexe.</param>
        private void StepGame(Int32 Index)
        {
            AmobaField clicked = Fields[Index];

            if (clicked.Clickable && !isPaused)
            {
                clicked.Text = CurrPlay;
                _model.Step(clicked.X, clicked.Y);
                OnPropertyChanged("CurrPlay");
            }
        }
Beispiel #3
0
 /// <summary>
 /// Játék oszlopra kattintás eseménykezelője.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ButtonGrid_Click(Object sender, MouseEventArgs e)
 {
     if (_timer.Enabled)
     {
         Int32 RowInd    = (sender as Button).TabIndex / _model.GetSize;
         Int32 ColumnInd = (sender as Button).TabIndex % _model.GetSize;
         if (RowInd != 0) // Ha nem az oszlop legfelső gombja akkor bekapcsoljuk a felette l.évő gombot
         {
             gameBoard[RowInd - 1, ColumnInd].Enabled = true;
         }
         _model.Step(RowInd, ColumnInd);
     }
 }