Time for action — creating the general data structure of the game

If you don't have the mainClass.monkey file opened already, then please do so. We need to add to it now.

In RocketCommander, we will also use a finite-state, machine approach for the OnUpdate and OnRender methods.

  1. Add the game states as constants into the RocketCommander class.
    Class RocketCommander Extends App
    Const gmMenu:Int = 1 'This mode shows the start menu
    Const gmPlay:Int = 2 'This mode shows the game playing
    Const gmGameOver:Int = 3 'This mode shows the game over message
    
  2. Below the constants, add two fields to store the size of the canvas.
    Field cWidth:Int 'X size of the canvas
    Field cHeight:Int 'Y size of the canvas
    
  3. Next will be a variable that stores the game mode. It will also be set to the initial mode.
    Field gameMode:Int = gmMenu
    
  4. To store the game score, we need another field, called score. Easy, isn't it?
    Field score:Int = 0
    
  5. The final fields in the data section will be a field for the level number, and a field to store the total number of destroyed bombs.
    Field levelNumber:Int = 0
    Field totalBombsDestroyed:Int = 0
    Method OnCreate:Int()
    
  6. Now, save the mainClass.monkey file.

What just happened?

That's all for the general data section of RocketCommander. As we will use classes for the different objects in the game, these classes will have their own data structures. So there is simply no need to add more fields to the RocketCommander class.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.36.141