top of page

Phase 9

Phase 9 is a simplified 2-player recreation of the classic analog turn-based card game Phase 10 presented in a command-line interface and made with C.

​

Compete with another player to complete all 9 phases as quick as you can by meeting specific card criteria each round.

Octicons-mark-github.svg.png

Project Overview

Length

~4 Months

Jan 2025 - April 2025
 

Tools

Code::Blocks (C)

GNU Compiler Collection

Role(s)

Game Programmer 

​

Contributions

  • Leveraged knowledge of C and command-line interfaces to recreate a simplified albeit fun digital version of the classic card game Phase 10.
     

  • Iterated on project in 6 stages, gradually integrating newfound knowledge on data structures, memory management, and program control structures which refined and optimized core gameplay systems.​​​​​​​​​​​​​​​​​​​​

  • Constructed a turn-based system with detailed game state tracking to match the game flow of an analog 2-player card game.

turn-based system.jpg

The game operates on a while loop, tracking the current player to determine whose turn it is.

player turn switch example.jpg

At the end of a player's turn, the currentPlayer variable switches so that when the loop repeats the other player will get their turn.

phase checking.jpg

The "currentPhase" variable within the player struct is used to store what phase the player is currently on and is evaluated within the checkPhase() function using a switch statement.

​

The helper functions countSets() and countRuns() are utilized to parse through the player's hand and determine if they have any sets or runs.

  • Integrated a header file to organize and consolidate game variables and functions, improving code readability.

macros.jpg
player struct.jpg

Player struct which stores vital info for each player.

function prototypes.jpg

The macros and function prototypes were implemented incrementally over the course of all 6 game iterations, spanning approximately 4 months.

bottom of page