XNA Game-Themed CS1 Examples (XGC1)

Release 2.0 (XNA V3.1)
2/8/2010

Topic: Topic.5.RepetitionStructures
Example: Ex_18.NestedForLoops

Repetition: Nested For Loops


References:

Goals:



1. Obtain the example code

Download and unzip the zip file and you will see an ExampleProgram folder. Open the ExampleProgram folder, the EXE folder contains the compiled program and you can double click on the .sln file to work with the source code.

When the game starts, you'll see a screen that looks similar to this:


By using the left thumbstick, you can adjust both the horizontal space between the circles, and the vertical space between the circles.


2. Examining The Program:

Let's examine the C# source code that produces the behavior we see on-screen


FURTHER EXERCISES:: 

  1. Start from a blank starter project (1000.201, if you need it), and re-do the code from memory as much as possible.  On your first try, do what you can, and keep the above code open so that when you get stuck, you can quickly look up what you forgot (and that after you finish a line, so that you can compare your line to the 'correct' line).  On the next try, do the same thing, but try to use the finished code less.  Repeat this until you can type everything, without refering the tutorial's code.
  2. Finding & Fixing Bugs In The Program
    For this exercise, you should use the same project that was explained in the above tutorial.
    What happens if you keep telling the program to decrease the horizontal (or vertical) space with left thumb stick?  Why is this happening?  How can you fix this problem from happening?
  3. Practicing With Nested Loops: Reimplement the inner loop as a normal while loop
    For this exercise, you should use the same project that was explained in the above tutorial.
    You've previously seen that you can take any for loop, and transform it back into a while loop.  You should do this with the inner loop, so that you have a while loop nested inside a for loop.
  4. Practicing With Nested Loops: Reimplement the inner loop as a do while loop
    For this exercise, you should use the same project that was explained in the above tutorial.
    You've previously seen that you can take any for loop, and transform it back into a while loop.  From there, you can transform it into a do...while loop that will work correctly for this particular program.  You should do this with the inner loop, so that you have a do while loop nested inside a for loop.
  5. Practicing With Nested Loops: Display the row and column, instead of the location
    For this exercise, you should use the same project that was explained in the above tutorial.
    Modify the provided, example code so that the labels shows the row and column, instead of the location.  Once you're done, the lower left ball will show 0,0, and all balls on the second column will show 1,0, then 1,1, then 1,2, etc.

Project home page: The Game-Themed Introductory Programming Project.
Kelvin Sung
Computing and Software Systems
University of Washington, Bothell
ksung@u.washington.edu
Michael Panitz
Business And Information Technology
Cascadia Community College
mpanitz@cascadia.eduu

Microsoft Logo This work is supported in part by a grant from Microsoft Research under the Computer Gaming Curriculum in Computer Science RFP, Award Number 15871 and 16531.
2/8/2010