• Battle For the USA
  • Tetris
  • Robotron
  • Monopoly
  • 2048
  • Checkers
  • Football Return Man
  • VoidSpace
  • Don't Invite Zombies in for Tea
  • CandyCrush
  • Waterworks
  • JPanelBricks
  • Tic-Tac-Toe
  • Mario Go-Kart
  • CastleBuster
  • SpacePlatformer
  • ParkingGame
  • CyborgShowdown

Battle for the USA (Rohan Floegal-Shetty '15)
UML

Description:
A pseudo-risk game designed for two to four players. The goal of the game is to take control of the United States of America while vanquishing one’s enemies. Do you have what it takes to become the next great leader of America?

How to play
1. Step 1: One player must click on the button that corresponds to the number of participants.
Step 2: The group of participants must decide in what order they will go in.
Step 3: Each player must remember what color he or she is. Player One is green. Player Two is red. Player Three is blue. Player Four is yellow.
Step 4: One player must press the start game button.
Step 5: To help each player remember the states that he or she owns, a map will be displayed with a circle, whose colors corresponds to the owner of that state, in every state. If there is no circle, no one owns that state. However, the number of troops that each player has in each state will not be displayed by the game. The player must keep track of his or her troops him or herself.
Step 6: There are certain states with wild cards in them. If a player owns California, Washington, or North Carolina, he or she will get a troop added to the number of troops in that state. If a player owns Massachusetts, Minnesota, or Texas, the player will get a troop added to the number of troops in that state only if the total troops of that player is less than forty.
Step 7: Player One will input from what state he or she wants to move his or her troops, how many troops he or she wants to move, and to what state he or she wishes to move his or her troops to. Player One presses the submit button. If the player does not own the state, an error message will be printed. If the player tries to move more troops out of a state than he or she has in that state, the program, an error message will be printed. The player will then have to keep submitting his or her inputs until suitable inputs are submitted. The next player’s selection screen will then pop up.
Step 8: Player Two through Four will repeat steps six and seven.
Step 9: Players will not know what the other players inputted.
Step 10: After the round is over, the program will run the battles, and an updated map and the Player One selection screen will be displayed.
Step 11: If a player runs out of troops, his or her selection screen will still pop up. The player must just click the submit button with zero troops selected.
Step 12: The game is played until only one player has troops left.

Special Features
1. There is a GUI that allows the user to input how many players are playing and read the rules at the beginning of the game. There is another GUI that allows the user to select his or her inputs every time it is that user’s turn.
2. There is a map with a circle in every state. Each circle’s color corresponds to the owner of the state. This map is updated every round.
3. There are wild cards in play. If a player owns a state with a wild card in it, that player will get a power-up.

Tetris (Robert O'Brien '15)
ScreenShot

UML

Description:
This program is a version of the classic game Tetris. The game is played on a 10x20 cell game board, and will have 6 “tetriminos,” all of different shapes and colors, and all made up of four touching blocks. The blocks will fall at a constant speed, and while they are falling, the blocks can be turned clockwise with the up button, left with the left button, right with the right button, and sped up with the down button. When a row is filled with tetriminos, it will disappear, and all the blocks above it will fall down a row. The goal of the game is to clear as many lines as possible before stacking tetriminos all the way up to the top of the game board. If a tetrimino does touch the top of the gameboard, the game ends. A score counter displays the score- 1 point for each block dropped, and 10 points for each line cleared, and at the end of the game, the total score will be displayed.

How to play:
Arrow keys move the block from side to side, the up button rotates the block, and the down button speeds the block up.

Some Interesting Features:
1. Each block has multiple assigned layouts for the different rotations possible for that shape. The block doesn’t actually rotate, but the individual cells of the block rearrange to make it seem like the block has rotated.
2. The blocks were carefully programmed so that in the different rotations, the bottom cells are used to detect if the block can move down, and the cells on each side detect if the block can move from side to side. This prevents the blocks from going through one another or going through walls.

Robotron (Stephen Reilly '15)
ScreenShot

UML

Description:
This game is my rendition of the Robotron: 2084 arcade game released in 1982. The player's objective is to defeat each wave of robots by shooting them with the mouse and earn as many points as possible. As the player progresses enemies become more difficult. Different types of enemies have more lives, chase faster and even the ability to shoot back. If the player beats all of the first six designed levels, random waves are generated with increasing difficulty. The game is over once the player loses all five lives.

How to play:
1. Click and aim with the mouse to shoot.
2. Use the up/down/left/right arrows or the w/s/a/d keys to move.
3. Advance to the next wave by shooting every enemy (some have multiple lives).
4. Once every enemy is shot another level is generated and the player sent to the center of the grid.
5. Tougher enemies are worth more points.
6. Watch out for enemy bullets!

Some Interesting Features:
1. Intelligent enemies that track and chase the players location.
2. Using the distance formula, enemies and the player can shoot.
3. Uses an algorithm to check if the player, enemies, or bullets have been contacted.
4. The game has endless waves of enemies.

Monopoly (Adam Walker '15)
UML


2048 (Brian Lo '15)
ScreenShot

UML

Description:
A simple yet addicting game of matching numbers. Combine tiles with the same number in the same row or column starting with the number 2. Watch out! A new tile will be added after every move. Don't run out of space! 2, 4, 8, 16, 32... Can you reach 2048?

How to play
1. Press "left arrow" to move all tiles left.
2. Press "right arrow" to move all tiles right.
3. Press "up arrow" to move all tiles up.
4. Press "down arrow" to move all tiles down. Special Features
1. Uses "Private Final" to deter hackers from cheating.
2. A "try...catch" is used to avoid receiving an exception error and instead prints out "You Lose!"

Checkers (Lorenzo Rosas '15)

Football Return Man (Will Deseran '15)
Description:
Football Return Man is a single player game. The operator uses the arrow keys to control the football character. The goal is to navigate the defenders and make it to the end zone or the top row of the grid. Each time the football reaches the top row, the player receives 7 points or a "Touchdown". Reaching the top level also causes the program to move onto the next level. Each level includes more defenders. A player loses when he runs out of health. At the start of the game the player has 50 health points. Each time the player is next to or below a defender, he/she will lose one health point. Interesting Features: How to play
Use the arrow keys to control the football and navigate the return man character to the top of the grid or the end zone.

Special Features
The program incorporates key listener code in order to allow the player to control the return man with the directional pad.

VoidSpace (Sam Jankowski '15)
UML

Description:
My game allows the player to move around in a GridWorld “OverWorld” where they can take their ship from planet to planet. Upon arriving at a planet, they have to engage in combat against randomly selected enemies. After each encounter, a planet will disappear from the OverWorld. The player wins when they defeat of all of the encounters.

How to Play:
Use “wasd” in the dialogue box to move in the OverWorld until you reach a planet. Afterwards, still move using “wasd,” but fire using mouse-aim too. Click on enemies and dodge their shots.

Interesting Features:
1. All of the encounters are randomly generated, so no two playthroughs are the same.
2. You can actually “game” the system by exploiting how a planet is counted as defeated, if you know how to move your ship right.

Don't Invite Zombies in for Tea (Samuel Donner '15)
ScreenShot

UML

Description:
Americans as well as others have embraced the traditional way of eliminating “the zombie”: Tons of Guns n’ Ammo. However here in Britain our way of eliminating this “pest” is more refined and cleaner. Ahh following in Teslas footsteps, we have harnessed the power of electricity to serve our zombie killing needs. However a problem has arisen in our otherwise impeccable plan. It’s tea time and oh how I love my tea. Some friends are coming over for a midnight tea time and we need to let them in and not the zombie scum. Its a tad dark so I will be relying on your impeccable reflexes to see the zombie scumI leave the task to you refined gentlemen. Eliminate the zombie threat. So, Shall we Begin?

How to play:
The player uses two keys “A” and “F” to operate each of the two lasers. Each laser will kill both zombies and friends that come in for tea. If you kill a friend with your laser or let a zombie through you will lose a life. If you lose 3 hearts your friends will not come to your tea party because you are a mass murderer and you lose. If you let a zombie in it will eat your face and steal your tea, which will also cause you to lose. Players get 1 points for every zombie killed and 1 points for every friend let in. There are 3 levels to game that the player selects by pressing 1, 2, or 3. This sets the speed.

Special Features
1. Original design and graphics
2. Original GUI
3. Random generation of zombies and stacked layout

CandyCrush (Tristan Perez '15)
UML

Description:
Candy Crush is a match-three puzzle game that is similar to Bejeweled. The game contains three different colored candies and must be used to create a set of three. Using the mouse, the player clicks two adjacent candies to switch their positions in order to create a set of three. When a set is created, the candy is crushed and new random candy pieces are put in the board to fill the spaces. The player gets 15 moves and each created set is worth 10 points.

How to play:
1. Click two adjacent candies in order to switch their positions.

Interesting Features:
1. The game uses the mouse listener to click on candies.
2. There is a checkAdjacentCandy method that checks the rows and columns to see if there is a set of 3 candies that can be crushed.

Waterworks (Jackson Kurtz '15)
ScreenShot

UML

Description:
My game is a single player puzzle game where the player must rearrange pipes in a grid so that water can flow through to the other side. Once the “start” button is clicked, water will begin to flow from a pipe embedded in one of the walls. The player will then have to race the flow of water by swapping the pipes and building a path for the water to travel. The player is prompted to input the grid size and difficulty of their choice before the game starts. A higher difficulty will not only increase the speed of the water, but will also add additional pipes and objects that significantly change the game.

How to play
After “start” is clicked, clicking on a regular pipe will turn it yellow. The next pipe clicked will then trade locations with the previously clicked yellow pipe. The object is lead the flowing water to the exit pipe in one of the walls.

Special Features
1.The program is entirely randomly generated, and the grid is scalable to many different sizes.
2. When the difficulty is set to level two or three, purple unmovable pipes will be added to make the game more challenging and interesting.
3. Additionally, when the difficulty is set to level three, barricades will also be added that will create random walls within the grid that the player will have to navigate around.
4. Clicking the “done” button will increase speed of the water and is to be used after the player has finished connecting the pipes. This is done so the player will not have to wait very long for the water to finish flowing.

JPanelBricks (John Tatro '15)
ScreenShot

UML

Description:
Description: My game is a version of the popular game BrickBreaker. This game is played by controlling a horizontally-moving paddle at the bottom of the frame. The player must move the paddle under the ball in order to keep the ball in play and prevent the ball from hitting the ground. When the ball hits a brick, the brick disappears and the player scores 10 points. If the ball hits the ground, the game ends. The objective of the game is to eliminate all of the bricks in the frame. The game starts by asking the player to choose a level and then starting a time delay before the game begins.

How to Play:
Click the spacebar or the "LEFT" and "RIGHT" buttons with the mouse to move the paddle back and forth.

Interesting Features:
1. A JOptionPane is displayed at the beginning of the game asking for the level to play. There are three preset levels of increasing difficulties, and there is also a random level that puts randomly sized bricks on the grid at random and is played at a random speed. Finally, there is an "insane mode" which consists of a frame with 1000 bricks and 2 balls in play at the same time. For the most advanced players only.
2. The ball bounces off the paddle in a different direction depending on where the ball intersected with the paddle. If the ball hit the left side of the paddle, the ball bounces to the left; if it hit the middle, it bounces straight up; if it hit the right side of the paddle, it bounces to the right.
3. A sad face graphic comes up when a player loses and the status and score is shown.
4. A timer delays the game at the beginning so the player has time to get ready.
5. The paddle is constantly moving to add a level of difficulty to the game. It only stops when reaching the left or right sides of the frame.

Tic Tac Toe (Mychael Delgardo '15)
UML


Mario Go-Kart (Ethan McGarrigle '15)
ScreenShot

UML

Description:
Description: Mario Go-Kart is a racing game that involves a user-controlled player, in this case, Mario, competing against seven other computer-controlled (AI) Racers, for first place. The user controls Mario using "WASD" and "P". The goal is to be the first one to complete three laps of the track, which earns you first place. Players can use the Banana Peel and Turtle Shell PowerUps to hinder the other players by making them spin out and become immobilized for a couple of seconds.

How To Play: Right click the "GameDriver" class, and click "void main( String[] args ). Then, hit "Run". You can also make the game more difficult by increasing the speed of Gridworld, by adjusting the speed panel before you run the game. The user controls Mario using "WASD" and "P". "W" moves Mario up. "A" moves Mario left. "S" moves Mario down, and "D" moves Mario right. "P" uses a PowerUp, if Mario has one.

Special Features:
1. Laps: Since the track's finish line is not the same as the starting line (as it is in traditional Mario Kart games), I had to make laps by making a Racer move from the finish line back to the starting line, which I did by matching the Racer's location with a preloaded ArrayList of locations around the finish line that would cause this event to occur, while adding one to the Racer's lap counter. When the lap counter is equal to three, the Racer would just stay behind the finish line, and not go back to the start, since the race only has three laps.
2. Making the AI Racer's move: The AI Racers move by my assigning certain regions of the grid that would be in a list of locations that would designate movement in a certain direction. For example, certain regions of the grid will always make a certain Racer move Up, which occurred by checking to see if the Racer's location and the preset location matched.

Castle Buster (Jonathan Paetzold '15)
UML


SpacePlatformer (Thomas Syta '15)
UML

5 Description: My game is a classic platformer game with a user controlled character moving and jumping on platforms to reach the end of the stage. The game ends when the player got to the end of the stage or dies. Players may die from colliding with enemies or from falling off the map. The user controls his character using the arrow keys and spacebar to jump. By collecting coins across the map, players can increase their score.

How to play: Arrows keys to move player left and right, spacebar to jump, and R to restart.

Interesting Features:
1) There are coins through the map that can be collected for extra score. 2) Breakable rocks have a chance to drop a health pack that will increase the players life total by one.

Parking Game (Matthew Koh '15)
ScreenShot

UML

Description:
This game Valet Parker uses gridworld and creates parking lot with obstacles for the user controlled car to avoid. The objective of the game is to get to the parking space without losing all of your lives and losing the game.

How to play:
Use the Up, Down, Left, and Right key to move the car and avoid the obstacles Ambulance, Mouse, and Boy. You win the game by reaching the parking space without losing all of your lives.

Special Features:
There is an earthquake that has a 5% chance of occurring, which shifts the car and the ambulances to a random empty adjacent location. There are also mice which moves into a random direction for a random amount of spaces.

CybordShowdown ( Michael Adia '15)
ScreenShot

UML

Description:
Cyborg Showdown is a 1 or 2 player strategy game. One player mode activates the computer as the opponent. Two player mode allows both players to play on the same keyboard. The game board is divided into two sides for the respective two players. Each player sends robots down the battlefield. The game ends when a player is able to have a robot pass the other player’s defenses.

How to play:
Use the number keys from 1 to 7 and letter keys from z to m along the keyboard to send robots.

Special Features:
1. Can choose between one and two players
2. Settings panel despite the disconnect
3. Computer operated opponent
4. Breakdown of wall image
* AP is a registered trademark of the College Board
2007-2015 Michael Lew
projectsAPCS