<< Chapter < Page
  Xna game studio     Page 4 / 16
Chapter >> Page >

The Main method

As you have learned in earlier modules, every C# program must have a Main method. Program execution begins and ends in the Main method. When control is in the Main method and it no longer has any code to execute, the program terminates. The Main method in Listing 1 is empty, which explains why the program runs and terminates almost immediately.

The starting point for a Console Application

This is the starting point for creating a Console Application in Visual C#. To cause your program to exhibit some useful behavior, you may add code insidethe Main method, add new methods to the Program class, define new classes, instantiate objects, call methods on those objectsetc.

If you have studied the earlier modules in this collection, this will not be new information for you.

A Windows Game Application

Another choice that you have when creating a new project is a Windows Game (4.0) application.

Once again, a project tree is created on your disk but it contains more folders and files than the tree that is created for a consoleapplication. (Some of the files are initially empty.)

Source code files

As before, there is a C# source code file named Program.cs along with another C# source code file named Game1.cs . Unlike before, however, the file named Program.cs is not opened in the editor pane of Visual C#. Instead, the file named Game1.cs is opened in the editor pane.

Build and debug

If you debug this program at this point, it does not run and terminate immediately like a console application. Instead it runs and displays agame window like the one shown in Figure 1 (except that it is quite a bit larger).

Figure 1 . Initial game window.

Missing image

The game window will remain on your computer screen until you terminate the program by clicking the X in the upper-right corner or terminate it in someother way.

The file named Program.cs

The file named Program.cs doesn't automatically open in the editor for one simple reason. The creators of XNA didn't intend for us to modifyit. However, it will be instructive for us to take a look at it anyway. The source code contained in the file named Program.cs is shown in Listing 2 .

Listing 2 . The file named Program.cs for a Windows Game project.

using System; namespace WindowsGame2{ #if WINDOWS || XBOXstatic class Program {///<summary>/// The main entry point for the application. ///</summary>static void Main(string[] args){ using (Game1 game = new Game1()){ game.Run();} }} #endif}

Instantiate a Game1 object and call the Run method

The code in Listing 2 :

  • Instantiates a new object of a class named Game1 .
  • Saves the object's reference in a reference variable named game .
  • Calls the Run method on the reference to the Game1 object

This code is inside the Main method in the file named Program.cs . The Main method runs when the program is started. The call to the Run method starts the game portion of the program running.

What do we know about the class named Game1?

We don't know anything about the class named Game1 yet, but we will learn about it shortly. Before we get to that, however, I need toexplain some unusual syntax in Listing 2 .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask