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 }
/// <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"); } }
/// <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); } }