Course Structure

Learn about the games you will be creating in the course and the takeaway from each game.

Below, we will briefly describe the ten computer programs/games covered in this course. Each one will allow us to practice the basic skills needed to get started with any project that requires graphics and event-driven programming.

The Wizard of Yes/No

Description: The Wizard of Yes/No can help with making yes or no decisions.

The Takeaway: In creating this game, we will learn how to create a window, add text, change fonts, and add scroll bars.

Guess My Color

Description: Match the target color by adjusting the red, green, and blue hue of the sample color.

The Takeaway: We will learn the basics of Java color, window layout, and clickable buttons as we build the game.

Framed

Description: Clicking tiles in Framed will turn groups of lights on or off. The goal is to form a frame of lights.

The Takeaway: You will get to learn to customize buttons that change appearance when clicked.

Watch Your Step

Description: Reveal all the safe terrain tiles without stepping on a black hole. The numbers show how many neighbouring tiles have holes.

The Takeaway: You will learn to customize buttons that display color or text, considering the state of the button.

Sliding Tiles

Description: Unscramble the picture by sliding the tiles back to their original positions.

The Takeaway: Learn to create a menu bar and work with images as you build this game of sliding tiles.

Maze Generator: Maze and Anti-Maze

Description: Maze generator will move the green ball to the red ball by pressing cursor movement keys. It will generate either a maze or an anti-maze. The path through an anti-maze can only cross walls and cannot move through open areas.

The Takeaway: By coding this game, you will learn to paint circles, lines, and rectangles as you draw the parts of a maze. You will also learn to respond to keystroke input and to create a custom options dialog. Maze Generator can generate a random maze of any size.

Maze
Anti-Maze

Greedy

Description: Achieve the highest possible score in ten rounds. Roll the dice many times in a round for a higher score. But don’t be too greedy - a bad roll could result in the loss of all the points for that round!

The Takeaway: Making this game will teach you to use clickable, changeable drawings for the dice in this game. Also, you’ll learn to arrange many kinds of content in one window.

Word Builder

Description: Word Builder is used to build words using all the tiles on the board. Points are given for each letter used. The longer the word, the more each letter is worth.

The Takeaway: Learn how to resize window contents as well as how to combine color, images, and text in clickable drawings. This game comes complete with a dictionary of more than 168,000 words.

Image Resizer

Description: Image Resizer can be used to resize and crop an image from a JPEG file to any size, while maintaining the image’s original proportions.

The Takeaway: You will learn to add a toolbar, to allow the program user to draw with the mouse and to save image files.

Baker’s Dozen Solitaire

Description: Move four rows of thirteen cards to the four top foundation stacks. Only one card may be moved at a time. Each foundation stack must be started with an ace. Cards may be moved to the foundation stacks in increasing numerical order and must be of the same suit. Each foundation stack ends with a king. Cards of any suit may be moved to other columns, but they must be placed in decreasing numerical order.

The Takeaway: You’ll learn to create a new image file drawn entirely with Java and to allow the program user to drag and drop items around the window using the mouse.

Note: Don’t skip any lessons! Each lesson explains a new programming technique, which may be used again in later lessons. Completing all the lessons in order will make later lessons easier.