• Pong
  • Quoridor
  • Tetris
  • Circles
  • Memory
  • Stackers
  • Interactive Scheduling
  • PuzzleBobble
  • Kitten Katch
  • Tanks
  • Lew Load
  • Hangman
  • Picture That
  • Castle Siege
  • AtomDefense
  • Sodoku
  • Battle 2013

Pong (Michael Aristov '13)
ScreenShot

UML



Description:
My game is simple single player pong game with an AI controlled opponent and a score board. Quite similar to the original pong except for a few key features. The objective of the game is to get as many points as possible by getting the ball past the opposing player. The game ends when the total score has reached 9. The AI difficulty can be changed in order to accommodate less adept players. The game starts with a simple window asking whether or not you would like to play, after that there is an eight second timer then the game begins.

How to play:
Click the "DOWN" button in order to get the paddle to move down, and click the "UP" button in order to get the ball to move up.

Interesting Features:
1. The AI's difficulty setting and the AI's algorithm are both set by only two numbers. The difficulty setting is a number between 60 - 99 and the higher the number the harder it is to defeat the AI. The second number is a random number between 1 - 100, should the difficulty setting be higher than this number than the AI is allowed to move towards the paddle, but if the random number be higher than the difficulty setting, the paddle remains in place.
2. Constant motion of the paddle is another key feature of my game. The paddle is designed to be in almost constant motion in order to add another level of difficulty to the game. The paddle only stops at the bottom and top of the screen. This prevents the paddle from leaving the game entirely.

Quoridor (Griffen Cohen '13)
ScreenShot

UML



Description:

Quoridor is a board game designed by Mirko Marchesi and published by Gigamic Games. It has won many awards and is known for being very strategic yet simple.

There is a 17x17 square board and the two pawns start on their home sides on the top and base rows of the board. The object of the game is to move your pawn across to the other side. You may either place a fence or move your pawn each turn. Fences are used to block your opponent and create a path for your pawn, as each pawn must always have someway to get to the other side.

For more information on the rules, there is a “rules” button in the game.

Instructions if running from BlueJ project file:
1. Users first launch the QuoridorController and then can begin playing.
2. To play, users press buttons on a game menu. There is an interactive status update that will give feedback and directions to players.
3. Players use the buttons to select what type of move and to actually execute the move. Upon winning, a pop-up frame will appear congratulating the winner and the game is then over.

How to play:
1. The use of a 17x17 square board to modify the game to fit GridWorld.
2. Breaking the pawn’s moves into steps to check if they collide with a fence.
3. Interactive sidebar that controls game play.
4. Java generated play-by-play game summary of each move.

Tetris (Dominick Ehling '13)
ScreenShot

UML



Description:
This is an attempt to create a working version of Tetris. For the most part I was unsuccessful but I did manage to get blocks to fall down the screen one at a time and only when there is not another block moving. It does not however allow the "player" to move the blocks and nor do the blocks stack on top of each other.

How To Play:
Because I did not get my program to work fully, the operation of this game is almost non-existent. There is a singer button at the beginning starting the game. I would have liked to have the game controls done through the keyboard using the arrow keys.

Interesting Facts:
In order to make an block with an angle in it, I had to construct two different rectangles and have then move together down the screen. Getting them to move together was more difficult than I expected, but was achieved through the use of variables that relied on other variables.

Circles (Chris Franco '13)
ScreenShot

UML



Circles is a multi-directional shooter game that is derived from the arcade mini-game Geometry Wars, created by Bizarre Creations for the Xbox 360 and Windows platforms. Please note that this is not the final version.

How to Play:
The player controls a circle using the arrow keys. The object of the game is to stay alive and shoot as many chaser circles possible using the WASD keys to score points and achieve a high score. The game ends when a chaser circle reaches the player's circle.

Special Features:
1. If a circle ventures off-screen, it will "rebound" to the other side of the screen as if in a loop.
2. Pressing the [c] key will clear the plane of all chaser circles. (This feature is meant as a back-up tool for later versions of the program.)
3. This program is run using Java Swing graphics.

Memory (Harold Kim '13)
ScreenShot

UML



Description:
The memory game is a simple game that is played by one person. The objective of the game is to match the different colors. Players will click on a box, see and remember the color of that box, then go and look for another box that has the same color.

Instructions if running from BlueJ project file:
1. Users first launch the MemoryRunner and then can begin playing.
2. Users will click on a box and try to match the colors with another box.

Interesting Features:
1. Mouse has been enabled while GridWorld is running
2. Altered GridWorld by taking out watermark, redesigning the bottom portion where the Step, Start, and Stop buttons used to be, changing color of gridlines from black to white

Stackers (Youssef Challita '13)
ScreenShot

UML



Description:
My version of Stackers is a modified GridWorld project based on the original arcade game. The point of Stackers is to stack a set of blocks on top of each other and reach a prize zone. The blocks moved faster from left to right as you get closer to the prizes.

Instructions to Run:
1. Run "main" from StackersDriver
2. Click "Run"

How to Play:
1. Press 'Enter' when you want to place a set of blocks.
2. Stack the block sets on top of each other.
3. Each block not placed directly above a StoppedBlock will lose one life.
4. Reach the top without loosing all three lives.

Speacial Features:
I modified GridWorld's GridPanel by:
1. Creating two lines to show Minor and Major Prizes instead of the GridLines.
2. Modifying the watermark to include Major Prize and Minor Prize text.
3.Setting the message for the top of GridWorld to contain what a Minor prize is once you have reached a certain level.
4. I have a warp() method that transverses the order of my blocks to switch the order in which GridWorld processes its actors and tricking it into making the blocks appear at the other side of the screen.
5. I also included a Restart button that resets the entire game instead of closing the game and reopening it every time.

Interactive Scheduling (Clark Jackson '13)
Screenshot

UML


Puzzle Bobble (Chad Powers '13)
PuzzleBob.zip

ScreenShot

UML



Description:
This game is my creation of the Taito Corporation® Puzzle Bobble (or Bust-a-Move) arcade game originally released in 1994. This game is a puzzle bubble-shooter where the player shoots spheres at the grid in an attempt to clear the grid. In my version, there are 4 designed levels and 6 randomly created levels with increasing difficulty, for a total of 10. There is a designated timer in each level that will lower the ceiling on Action Performed, making the game tougher over time by constricting the playing area. The ceiling is reset after each level. Instead of pressing the left and right keys to change the shooting angle, my version simply uses a mouse click from the player. Spheres can bounce off walls. A game over is caused by a sphere crossing the red line. The object of the game is to clear the board, going through as many levels and scoring as many points as possible.

How to Play:
1. Click to Shoot.
2. 3 or more bubbles will “pop” and bombs will cause all adjacent bubbles to pop.
3. Bubbles left floating in the air will immediately disappear.
4. 20 points awarded for each Bubble popped.
5. 10*( 2x ) points awarded for each bubble that falls away. Ex. 20 points for 1, 40 for 2, 80 for 3, 160 for 4, etc.
6. The game awards a level bonus based on how fast a level is cleared, a max of 50,000 points.
7. Clear the grid, shoot fast, shoot accurately!

Special Features:
1. Uses an algorithm to find each Sphere’s neighbors and communicate from Sphere to Sphere.
2. Use the distance formula to determine whether the moving Sphere has touched another object and to determine where to place the moving Sphere in the grid after contact.
3. Calculates the end of level bonus by saving the System time at the start of the level and comparing it to the System time at the end of the level.
4. Uses a snaking method (aka Recursion) to check the ceiling connection and find all connected colors.

Kitten Katch (Avery Schwartz '13)
ScreenShot

UML


Description:
Kitten Katch is my version of the traditional arcade game in which a single player tries to catch falling objects. Kats fall from the top of the screen with a random location and speed. The player can move the Basket with the arrow keys and catch the Kats. If a Kat is caught, the player is rewarded one point. Dawgs will also fall from the top of the screen, but not as often. If the player catches a Dawg, no lives are taken away, but the player will lose five points. The longer you stay alive, the more Kats fall from the top of the screen. Also, for every five Kats the player catches in a row, an extra life is earned. There is some background music and cool sound effects, so don't forget to play Kitten Katch at full volume! Good luck and have fun!

How to Play:
1. Move basket with arrow keys.
2. Catch Kats for one point.
3. If you catch a Dawg, five points will be taken away from your score.
4. For every five Kats caught, the player receives an extra life.

Special Features:
1. The longer the player stays alive, the harder the game gets.
2. Highest streak and score are displayed on the screen at the end of the game.
3. Audio clips are played when a Kat is caught or missed, and when a Dawg is caught.
4. There is a buffer built into the game that eliminates lag.

Tanks (Sean Hayes '13)
ScreenShot

UML



Description:
The entire point of Tanks is to destroy the enemy tank. Each tank has the capability of firing two types of Missiles, BigMissiles or SmallMissiles. BigMissiles do slightly more damage than SmallMissiles, and are larger than SmallMissiles are. I got the idea for creating this game from the classic Tank game, and while it is not a full representation of that game, I feel proud of having a game that works.

How to Play:
1. If you are player one: Move your tank left and right with the left and right arrow keys.
2. If you are player two: The a key moves your tank left, and the d key moves your tank right.
3. If you are player one: The up arrow shoots a BigMissile while the down arrow shoots a SmallMissile.
4. If you are player two: The w key shoots a BigMissile while the s key shoots a SmallMissile.
5. Each tank starts with 1000 health. The BigMissiles do 50 damage, and the SmallMissiles do 25 damage.
6. When a tank's health bar reaches zero, that tank explodes, and the game is over.

Interesting Facts:
1. The health bar for each tank is just a rectangle that refills itself corresponding to the health of its respective tank.
2. The trajectory of the Missiles is determined by a series of "if-statements."
3. I drew the Tanks and Missiles on Microsoft Word.

LewLoad (Jay Evans '13)
ScreenShot

UML




Hangman (Patrick Lancaster '13)
ScreenShot

UML



Description: The goal of Hangman is to guess a word or the letters of a word before you are “hanged.” Every time you guess a wrong letter, one more body part is drawn until, eventually, all body parts have been drawn and you are “hanged.” Depending on the rules, the hanging post can also be drawn and other body parts, such as faces, hands, and feet, can be drawn as well. In my game, the player can choose between two levels– easy and hard. The easy level allows for three individual hanging post parts to be drawn for a total of 9 guesses, while the hard level makes the player start out with the whole hanging post for a total of 6 guesses. The player can only choose letters, not the actual word.

How to play:
1. Choose a level– easy or hard.
2. Press a button to guess a letter.
3. If you guess all the letters, you win!
4. If not, you get hanged.

Special Features:
1. There is an easy level and a hard level, and depending on which is chosen, there may be fewer or more chances to guess letters.
2. The screen goes black after a win or a loss.
3. Players are warned by printed statement that a new piece will appear if they choose a wrong letter.

Picture That! (Christian Welling '13)
ScreenShot

UML



Description:

Picture That is a game combining hangman and some game with pictures (Pictionary maybe?). In Picture That, the players goal is to spell the word of a picture – each game has one word one tries to guess. To get the highest score, one must be able to spell/or guess the word in the least amount of turns. The player loses the game if they fail to do so in the number of turns designated for a game’s word. The number of turns is designated by the length of the word, being one less than the length. In its final edition, the picture of the word will reveal itself incrementally after each incorrect letter guess. The player will also start off with one part of the picture revealed and one hint. In the final edition, the player has an option of using a turn to get additional hints (up to three total hints) instead of guessing.

How to play:
1. Players can either spell the word or guess letters of the word.
2. Players must enter in their selection and then press the “guess word” or “guess letter” button to make their selection.
3. (In its final edition) Players can select the “new game” button to start a new game.
4. (In its final edition) Players can select the “hint” button to request a hint.

Special Features:
1. The word length of each word influences the number of visible letter spaces available.
2. There is two way communication between the PictureThat Class and the PictureThatWindow Class.
3. Players can type words without using a KeyListener.

Castle Siege (Isaac Sornborger '13)
ScreenShot

UML



Description:

Instructions if running from BlueJ project file:
1.
2.

How to play:
1.
2.

AtomDefense (Paul Ayoub '13)
ScreenShot

UML



Description:
A spinoff of Missle command, AtomDefense is a game created to help teach typing. The point of the game is to destroy as many missiles as possible to gain both the highest score and reach the highest level possible. In AtomDefense, the player types the word displayed in the box to destroy the incoming missiles before they reach and destroy the cities at the bottom of the screen. Every level contains five words. After destroying all five words, the the level will be increased and the speed of the falling missile will also be increased. The game features awesome Lew Sound Effects so remember to blast the volume and have fun!

How to Play:
1. Beginning with level 1, a missile will fall out of the sky and drop down to destroy the cities placed at the bottom of the screen.
2. If the missile makes it all the way down, a city is destroyed.
3. If all seven of your cities are destroyed then the game is over. To destroy a missile, you must type in the word displayed in the textbox and press enter.
4. If the word is typed correctly then the missile will be destroyed. After five words the level is increased and the speed is increased.

Special Features:
1. The more words you enter correctly the faster the missiles will fall.
2. GridWorld was modified to include my own watermark
3. A highscore implementation using a scanner. Displays a name and a score
4. Audio clips featuring Mr. Lew.
5. At the end of the game, a highscore and missiles encountered will be shown .

Sodoku (Chris Ki '13)
ScreenShot

UML

Description:

Instructions if running from BlueJ project file:
1.
2.

How to play:
1.
2.

The "Battle Royale" 2013
ScreenShot

UML



The 2013 BattleRoyale winner was Chad Powers' "PowersCritter." A "RandomGrid" written by Isaac Sornborger and Paul Ayoub randomly picks Actors on the grid to act() so that no one Actor has preference when acting. This differs from the standard GridWorld operation where the Actor at location (0,0) acts first, then proceeding to the next Actor in row-major order.

The BattleRunner and BattleGrid were written by Allan R. Morales. The BattleRunner allows for easy instantiation of multiple "Critters" from each player. The BattleGrid allows the user to specify the dimensions of the Grid at compile-time.

* AP is a registered trademark of the College Board
2007-2013 Michael Lew
projectsAPCS