XNA Game-Themed CS1 Examples ( XGC1 )

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

Topic: Topic.2.Input_Output_PrimitiveDataTypes
Example: Ex_12.Average

Math Operators: Average


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.

Once we compile and run this project, the program displays four rectangles on the screen, each labeled with each rectangle's name, and current height.  At the bottom of the screen are instructions for playing game.  By using the left thumbstick, you can control the current height of the left-most rectangle (rectangle "A"). By using the right thumbstick, you can control the current height of the second rectangle from the left (rectangle "B")  The third rectangle from the left (labled 'Fixed') has a fixed height, meaning that the height never changes.  The height of the right-most rectangle (labeled 'Average') is the average of the heights of the first three.

Additionally, when player presses the 'Back' button (or the keyboard equivalent), the program will exit.




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. Changing the Average
    Start this exercise using Exercise_ 2 's starter project , which is a nearly identical copy of the project that was used in the above tutorial.
    You should modify the project so that the third rectangle (the fixed height one) is no longer included in the average.
  3. Weighted Average
    Start this exercise using Exercise_ 3 's starter project , which is a nearly identical copy of the project that was used in the above tutorial.
    You should modify the project so that the values that we're averaging are weighted, meaning that numbers we think are more important count for more.  For example, lets say that when we calculate the average, we want to add twice the height of the first rectangle, three times the height of the second rectangle, and half the height of the third (fixed) rectangle, and then still divide by the number of rectangles (i.e., still divide by three)

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