XNA Game-Themed CS1 Examples (XGC1)

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

Topic: Topic.4.DecisionStructures
Example: Ex_11.LogicalOr

Decision Statements: Logical OR Operator


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:


The game behaves in a manner that is identical to the what was described for the previous tutorial.  In this tutorial, we will simply refactor some code so that it uses the logical OR operator.


2. Refactoring BounceOffPaddles To Use The Logical OR


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. Logical OR
    For this exercise, you should use the same project that was explained in the above tutorial.
    Looking at the code for the BounceOffBlocks method, is it possible to replace the three separate if statements with a single if statement and several logical ORs, like so:

    if (m_ABlock.Collided(m_TheSoccer) || m_BBlock.Collided(m_TheSoccer)  || m_CBlock.Collided(m_TheSoccer) )
    { // more code goes here


    Why, or why not?
  3. Logical OR vs. Logical AND
    For this exercise, you should use the same project that was explained in the above tutorial.
    In UpdateWorld, why do we need to use the logical AND, rather than OR, to detect if the player has won?  What would the game play like if we used OR instead?
  4. Logical OR
    For this exercise, you should use the same project that was explained in the above tutorial.
    Change the program so that the game will be reset if the player presses the A button, or if the player presses the B button.

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