Darts

Zack Kluczenko: Zack wrote code concerning the ability of the program to determine exactly what point total should be awarded for each throw of the dart. He used floating point math in doing this. He also contributed some of the code for the main and helped with some graphics screens.

Ted Yoshikawa: Ted wrote code that displayed the pulsing circles to the screen which showed the user where the dart would go. Also he wrote the code which displayed the score to the screen. The introduction was also done by Ted. Many graphics screens were drawn and edited by Ted as well.

Derek Huyser: Derek wrote the code for mouse control. He wrote a majority of the code concerning game play. He also revised many of the procedures we took from previous MPs. Derek also worked on the static graphics for the main game screen. Organization of the main was also done by Derek.

Introduction: For the final project our group did a remake of the classic game darts. We used a 320x200 graphics screen for the background and made all game controls as onscreen buttons. The game is capable of handling two players from the same computer with two different types of games (count down and count up) as well as three levels of increasing difficulty. As the player throws darts they are animated towards the dart board until they reach their destination at which point a tally of their score is made and displayed to the screen.

Our goals in making this project were to create an easy to use yet fun version of darts. We wanted to make the game not only fun to play but also graphically pleasing and fun to watch. We accomplised this by using many different colors and by animating the dart as each is thrown. Another goal was to have the game be accurate enough to display the correct scores such that the player would agree with each total. Our major goal was to have the game run completely and cleanly on any machine. As you will notice in playing the game there are no graphics or gameplay glitches.


Problem Description: One of the most challenging aspects in creating this game was determining the score total for each of the darts thrown. We needed to devise a way to differentiate between each of the individual "pieces" that the dart could land in. In doing this we used the FPU to make calculations on the final position of the dart which helped in figuring which area the dart landed in and how many points should be awarded. The FPU gave one major glitch which took about 10 hours of testing to find. For some reason every once in a long while the FPU would return a floating point number into an integer variable which the computer interpereted as negative. To fix this we simply redid the calculation until the returned value was within reason. We also had trouble inplementing a different type of animation for our introduction as well as keeping this type of animation running at a smooth rate. Using a graphics cursor also presented some problems when redrawing graphics screens. This was remedied by hiding and showing the mouse at the correct times.