Back to Articles
JavaAP Computer ScienceConsole GameObject Oriented Programming

Building a Console Jeopardy Game — AP Computer Science Portfolio

March 16, 20265 min read

Overview

For my AP Computer Science portfolio assignment, I built a fully interactive Jeopardy game that runs entirely in the console using Java. The project was designed to demonstrate mastery of all the coding concepts we covered throughout the year, and to showcase the capabilities of our classroom robot — a PC running Windows, with mechanics operated by an Arduino board via USB.

The robot used student-developed Java class files alongside several third-party Java libraries (RobotSpeech, RobotSound, and Robot). The goal was to write a larger, creative version of MyProgram that used all three robot classes and incorporated as many programming concepts as possible.

The Vision

My aim was to create a robot that would let users play Jeopardy and act as a game show host. I wanted the robot to:

Display the game boardshowing categories and point values, updated live as the game progressed

Accept player inputletting users select a category and point value each round

Host the gameusing the robot's speech capabilities to ask questions, announce scores, and interact with players

Track scorescalculating each player's total based on their answers and who responded

I chose Jeopardy because it's something my family and I watch together, especially with my grandmother. It's a great social activity that everyone finds fun, and I wanted to bring that experience to my community.

Note: The original project was a Java console application. I have recreated it entirely here as an interactive browser game using React/Next.js so you can play it live here!

Project Portfolio

How It Was Built (Original Java Version)

The code was written in Java and compiled using Eclipse. It ran on a PC attached to our classroom robot, with an Arduino board controlling the robot's physical mechanics over USB.

Key Programming Concepts Used

Although I incorporated all of the coding concepts covered up through the Integer and Double classes, some were more central than others:

Classes and MethodsI created objects for different roles (game board, players, and questions), keeping code organized and reusable

InterfacesUsed to plan and label class structures, enforcing consistent design across components

Print Statements & Keyboard InputThe Keyboard class handled all user input, while print statements rendered the game board and prompted players

LoopsUsed extensively to repeat game rounds, update the board, and iterate over questions

ConditionalsHandled scoring logic, answer validation, and turn management

You can view the full list of coding concepts here.

The Board Class

One of the most important components was the Board Class, which managed the state of the game board — tracking which categories and point values had been selected and updating the display each round. It used a 2D array to store board state and printed a formatted view to the console each turn.

The full code (with detailed comments for readability) is available here.

What I Would Do Differently

Upon completing the project, we were asked how we could improve our work. If I were to continue developing this, I would:

Integrate the Gemini APIInstead of players self-reporting whether their answers were correct, Gemini could evaluate free-text answers automatically, making the game smoother and more accurate

Add game saving and loadingAllow players to pause and resume later, so a long game doesn't have to be finished in one sitting

Custom boardsLet users create and save their own Jeopardy boards, enabling personalized and reusable games for family nights or classroom use

Enjoyed this article?

Check out my other projects and articles.

Xavion Mirchandani

Xavion

Powered by AI

Hey! I'm Xavion — thanks for stopping by my portfolio. Ask me anything about my projects, background, or what I'm working on.