/// <summary> /// Snake játék példányosítása. /// </summary> /// <param name="dataAccess">Az adatelérés.</param> public SnakeGameModel(ISnakeDataAccess dataAccess, Int32 size) { _gameTableSize = size; _dataAccess = dataAccess; _table = new SnakeGameTable(_gameTableSize); _gameTimer = new Timer(); _gameTimer.Elapsed += new ElapsedEventHandler(Moving); _gameTimer.Interval = 1000; }
/// <summary> /// Új játék kezdése. /// </summary> public void NewGame(Int32 size) { _snake = new Snake((size / 2) + 1, (size / 2) + 1); _gameScore = _snake.Size() - 1; // pontok 0 _gameTableSize = size; // pályaméret beállítása _table = new SnakeGameTable(_gameTableSize); GenerateFields(size); // generáljuk a mezőket _gamePaused = false; _gameOver = false; _gameTimer.Start(); }
/// <summary> /// Játék betöltése. /// </summary> /// <param name="path">Elérési útvonal.</param> public async Task LoadGameAsync(String path) { if (_dataAccess == null) { throw new InvalidOperationException("No data access is provided."); } _table = await _dataAccess.LoadAsync(path); _snake = _table.getSnake(); _gameScore = _table.Score; _gameTimer.Start(); _gamePaused = false; _gameTableSize = _table.Size; }