Exemple #1
0
 /// <summary>
 /// Constructor.
 /// Creates all the necessary objects and attches all initial event handlers.
 /// </summary>
 public Game()
 {
     highScore = LoadHighScore();
     currentState = GameState.stop;
     Rows = new NumberHolder[Game.RowMax];
     for(int i = 0; i < Rows.Length; ++i)
     {
         Rows[i] = new NumberHolder(NumberHolder.RowMax);
         Rows[i].ZeroSum += ZeroSum;
     }
     Columns = new NumberHolder[Game.ColMax];
     for (int i = 0; i < Columns.Length; ++i)
     {
         Columns[i] = new NumberHolder(NumberHolder.ColMax);
         Columns[i].ZeroSum += ZeroSum;
     }
     LoadNumber += EmptyLoad;
     MoveNumber += EmptyLoad;
     GameOverEvent += GameOver;
     HighScoreUpdate += SaveHighScore;
     LevelUp += LevelUpCatch;
     Numbers = new List<Number>();
     GenerateNextNumber();
 }
Exemple #2
0
 /// <summary>
 /// End the current game.
 /// Sets up the game object for a new game.
 /// </summary>
 public void GameOver()
 {
     currentState = GameState.stop;
     foreach (NumberHolder nh in Columns)
     {
         for (int index = 0; index < nh.NumberCount; ++index)
         {
             if (nh[index] != null)
             {
                 nh[index].CurrentState = NumberState.remove;
             }
         }
     }
     Rows = new NumberHolder[Game.RowMax];
     for (int i = 0; i < Rows.Length; ++i)
     {
         Rows[i] = new NumberHolder(NumberHolder.RowMax);
         Rows[i].ZeroSum += ZeroSum;
     }
     Columns = new NumberHolder[Game.ColMax];
     for (int i = 0; i < Columns.Length; ++i)
     {
         Columns[i] = new NumberHolder(NumberHolder.ColMax);
         Columns[i].ZeroSum += ZeroSum;
     }
     Numbers = new List<Number>();
     CurrentNumber = null;
     NextNumber = null;
     if (score > highScore)
     {
         highScore = score;
         HighScoreUpdate();
     }
     GenerateNextNumber();
 }