Exemplo n.º 1
0
        /// <summary>
        /// Játék betöltésének eseménykezelője.
        /// </summary>
        private async void loadGameOption_Click(Object sender, EventArgs e)
        {
            setTheOptionsFromFile();
            Boolean restartTimer = _gamemodel.GameTimer.Enabled;

            _gamemodel.GameTimer.Stop();

            if (openFileDialog.ShowDialog() == DialogResult.OK) // ha kiválasztottunk egy fájlt
            {
                try
                {
                    // játék betöltése
                    await _gamemodel.LoadGameAsync(openFileDialog.FileName);

                    saveGameOption.Enabled = true;
                }
                catch (SnakeDataException)
                {
                    MessageBox.Show("Játék betöltése sikertelen!" + Environment.NewLine + "Hibás az elérési út, vagy a fájlformátum.", "Hiba!", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    _gamemodel.NewGame(_mapsize);
                    saveGameOption.Enabled = true;
                }

                SetupTable();
            }

            if (restartTimer)
            {
                _gamemodel.GameTimer.Start();
            }
        }
Exemplo n.º 2
0
        public void SnakeGameModelTestNewGameEasyTest()
        {
            _model.NewGame(11);

            Assert.AreEqual(0, _model.GameScore);

            Int32 emptyFields = 0;

            for (Int32 i = 0; i < 11; i++)
            {
                for (Int32 j = 0; j < 11; j++)
                {
                    if (_model.Table.GetValue(i, j) == 0)
                    {
                        emptyFields++;
                    }
                }
            }
            Assert.AreEqual(119, emptyFields);
        }
Exemplo n.º 3
0
        private async void MenuFileNewGame_Click(Object sender, EventArgs e)
        {
            _model.ChangeTimers(false);
            await _model.NewGame();

            Debug.WriteLine("Tábla mérete: " + _model.Table.Size);
            DeleteTable();
            GenerateTable();
            SetupTable();
            SetupMenus();
        }
Exemplo n.º 4
0
        private void setTheOptions()
        {
            //adatelérés példányosítása
            _dataAccess = new SnakeFileDataAccess();
            // Játék model példányosítása
            _gamemodel = new SnakeGameModel(_dataAccess, _mapsize);
            // Snake mozgásának esemény kezelőjének és a játék vége eseménykezelőjének felvétele
            _gamemodel.SnakeMoved   += new EventHandler <SnakeEventArgs>(SnakeMoved);
            _gamemodel.GameOver     += gameOver;
            _gamemodel.OnMoveChange += SetupTable;
            // Generálom a táblát a kiválasztott mérettel a játék indul.
            generateTable(_mapsize);
            _gamestarted       = true;
            progressLabel.Text = "A játék folyik!";
            // felveszem a megjelenített pályára a nyomógombokat és aktiválom is őket.
            gameTableBox.KeyUp += new KeyEventHandler(keyPressed);
            gameTableBox.Focus();

            _gamemodel.NewGame(_mapsize);
        }
Exemplo n.º 5
0
        private async void GameForm_Load(Object sender, EventArgs e)
        {
            // adatelérés példányosítása
            _dataAccess = new SnakeFileDataAccess();

            // modell létrehozása és az eseménykezelők társítása
            _model = new SnakeGameModel(_dataAccess);
            _model.GameAdvanced += new EventHandler <SnakeEventArgs>(Game_GameAdvanced);
            _model.GameOver     += new EventHandler <SnakeEventArgs>(Game_GameOver);

            // játéktábla és menük inicializálása
            await _model.NewGame();

            GenerateTable();
            SetupMenus();

            // új játék indítása

            SetupTable();

            //_timer.Start();
        }
Exemplo n.º 6
0
 /// <summary>
 /// Új játék indításának eseménykezelője.
 /// </summary>
 private void ViewModel_NewGame(object sender, EventArgs e)
 {
     _model.NewGame(_viewModel.MapSize);
 }