Game Development Tutorial

Everything a total beginner needs for game programing!

25. Bubble bath

Up to now, we displayed the blocks as squares filled with color. From now on, we'll display little icon images instead. If you remember, we used rectangles to define the size, and the position for each field. And that suits us just fine! So, here's a part of our code that we wrote in chapter 7:

(This is a part of the code from chapter 7, method DrawField())

switch (Field[v, s])
{
  case 0:
    // Draw empty field...
    break;
  case 1:
    // I've decided that color #1 is Blue. So, if
    // the field holds a value of 1 – We'll color it
    // blue. And we'll do the same for all
    // other colors.

    gField.FillRectangle    (Brushes.Blue, rtgField);
    break;
  case 2:
    // If the field contains value 2:
    // we'll fill it red.

    gField.FillRectangle    (Brushes.Red, rtgField);
    break;
  case 3:
    // If the field contains value 3:
    // we'll fill it green.

    gField.FillRectangle    (Brushes.Green, rtgField);
    break;
  case 4:
    // If the field contains value 4:
    // we'll fill it yellow.

    gField.FillRectangle    (Brushes.Yellow, rtgField);
    break;   case 5:
    // If the field contains value 5:
    // we'll fill it purple.

    gField.FillRectangle    (Brushes.Purple, rtgField);
    break;
  case 6:
    // If the field contains value 6:
    // we'll fill it black.

    gField.FillRectangle    (Brushes.Black, rtgField);
    break;
  case 7:
    // If the field contains value 7:
    // we'll fill it orange.

    gField.FillRectangle    (Brushes.Orange, rtgField);
    break;
  case 8:
    // If the field contains value 8:
    // we'll fill it gray.

    gField.FillRectangle    (Brushes.Gray, rtgField);
    break;
  case 9:
    // If the field contains value 9:
    // we'll fill it dark blue.

    gField.FillRectangle    (Brushes.DarkBlue, rtgField);
    break;
  case 10:
    // If the field contains value 10:
    // we'll fill it pink.

    gField.FillRectangle    (Brushes.Pink, rtgField);
    break;
  default:
    // If our program comes to this     // point of the code,
    // something's gone wrong! ;) XD

    break;
}

We'll replace that FillRectangle statement with a new one: DrawImage. But before we do that, we have to store our images somewhere. And, lucky us, there is a control made just for that. Go to your toolbox, and find the Components group. In there you'll find the ImageList control. Double-click it, and it will apear next to your timers. Nice. Set the properties like this:

ImageList

  • (name):ilTiles
  • ColorDepth:  Depth32Bit
  • TransparencyColor:  Web > Transparent
  • Images:  [Load 10 different bubble images]
  • ImageSize:  32; 32

Now, add add our bubble graphics files into the list. You can reorder them however you want. After all, we'll display the right picture by calling it's index number. Ready? Ok… Here is the revised code for the Switch in the 'DrawField()' method. See the difference? Nice… How about trying it out?

switch (Field[v, s])
{
  case 0:
    //Draw empty field...
    break;
  case 1:
    gField.DrawImage    (ilTiles.Images[0], rtgField);
    break;
  case 2:
    gField.DrawImage    (ilTiles.Images[1], rtgField);
    break;
  case 3:
    gField.DrawImage    (ilTiles.Images[2], rtgField);
    break;
  case 4:
    gField.DrawImage    (ilTiles.Images[3], rtgField);
    break;
  case 5:
    gField.DrawImage    (ilTiles.Images[4], rtgField);
    break;
  case 6:
    gField.DrawImage    (ilTiles.Images[5], rtgField);
    break;
  case 7:
    gField.DrawImage    (ilTiles.Images[6], rtgField);
    break;
  case 8:
    gField.DrawImage    (ilTiles.Images[7], rtgField);
    break;
  case 9:
    gField.DrawImage    (ilTiles.Images[8], rtgField);
    break;
  case 10:
    gField.DrawImage    (ilTiles.Images[9], rtgField);
    break;
  default:
    break;
}


It looks a lot like the screenshot from chapter 1, doesn't it? Great! So, in the next chapter, we'll add one more extremly cool feature, to complete our game. We'll make our doggy splash water. And that's it. The game will be complete, and this tutorial will be almost over. As the last topc, I'll cover packaging and distribution of your game. And that's it… ;) Finally…

Downloads

Downloads
Finished Bubble Splash Game

Followers

Translate

Blog Directories

Programming Blogs - BlogCatalog Blog Directory
blog directory
Software Computers Business Directory - BTS Local
Top Blogs GoLedy.com
TopOfBlogs DigNow.net
Blog Directory blog search directory
Top Computers blogs Add to Technorati Favorites
Computers Blogs Blog Directory
blogsbycategory.com Blog Directory & Search engine
Blog Flux Directory Programming Blog Directory
Join My Community at MyBloglog! BlogRankers.com
Technology Blogs - Blog Rankings Blog Directory
C# Game programming tutorial Blogs lists and reviews
Bloglisting.net - The internets fastest growing blog directory Blog Directory - photarium
blogarama - the blog directory Blog Toplist
Blog directory Computers (Linux) - TOP.ORG
Blog Ratings si.blogs
Blogz game, development, programming, c#, visual studio, tutorial, source code
On our way to 1,000,000 rss feeds - millionrss.com
RSSMountain
TopBlogLists.com - Blog Search