Comp201: Principles of Object-Oriented Programming I
Spring 2006 -- Student Final Projects   


Below is a listing (in no particular order) of the final projects conceived by the named students for this semester.

Comments from the staff are in red. To update your description, please send a revised version to comp201, using the same format as below.


General Advice

 


"Winballdon" by Heather Pearce and Marcos Osorno



"Ballaga" by Katie Zimmerman and Andrew Harrison



"Splitter Balls" by Kevin Lin & Ryan Peacock



"Ball Eater" by Britt Antley and Kyle Barnhart



"Ball O' War" by Eugene Stolboushkin



"Ball Kutou" by Brent Stephens and Hans Kiessler



"Pool" by Michael Colley

Definitely to be included:

  1. Addition of a "friction strategy", which gradually decreases the ball's velocity on each update and eventually causes it to stop.
  2. Creation of "pockets" which are actually just black balls that are location partially off-screen, so that they look lock pockets on the pool table. They have no velocity and kill any ball that collides with them.
  3. Creation of a "cue ball." I had originally created a sort of "pool stick" as well, but it was much too difficult to acutaully get any balls into the pockets without hitting them directly. So I decided it would be better to allow the user to move the cue ball directly. Thus there will be no "pool stick" in this game. Movement of the cue ball is controlled by the mouse rather than they keyboard. There is no penalty for pocketing the cue ball. (The user is free to place it where he wants anyway).
  4. A "new game" button. Clicking it creates fifteen balls with no initial velocity and arranges them in a triangle in the appropriate location on the "table".
    (The cue ball is created each time the user moves the mouse into the _canvasPnl and deleted on exit).

Here's what I'm planning next:

  1. Associate each ball (except the cue ball and the 8 ball) with a player. Give each palyer's ball a specific color.
  2. Update the score when a player gets one of his own ball in the pockets. (1 point per ball)
  3. Make one of the ball's special (an "8 ball").
    Pocketing it before all of the other balls when cause the player's opponent to win. It will switch strategies once all of a player's other balls are pocketed. It will then behave like the balls described in 1.
  4. Create the ability to win the game. This will happen when a player's score reaches 8 (reflecting that they have pocketed all of their own balls, plus the 8 ball.)
  5. Getting rid of all the original GUI components in the _controlPnl and replacing them with controls approprite for the game. These include (in addition to the "New Game" button already created), a display for each player's score. Two players will be automatically created when the game starts, called "Player 1" and "Player 2". There will be controls for changes the palyer's names, if the user desires.
  6. The new game button will set each player's score to zero.
  7. Getting rid of the cue ball once the user has hit a ball. This will prevent it from interfering with the balls that are now in motion. (Remember any mouse movement will move the cue ball.)
     


"Space Balls" by Mike Cordray and Jesse Chan



 

 

 

 

 


Last Revised Thursday, 03-Jun-2010 09:50:12 CDT

©2006 Stephen Wong and Dung Nguyen