Project 3.3 Pokemon Battle


Intro to Programming Languages.

[ ← Module List ]

Hey everyone, welcome to Pokémon Joust: 240 Gym Edition! In this assignment, you'll make a Pokémon battle simulator, where you'll build your own team of Pokémon, pit different Pokémon against each other, and, for the thrilling finale, challenge us UGTAs and ultimately the professor to win badges. We aimed to make this the perfect assignment to introduce you to C++ by making it as engaging as possible. For the smoothest experience with this assignment, we recommend following the order outlined in the description below and reading everything carefully. Have fun!

What is a Pokémon?

Pokémon, short for "Pocket Monster" (ポケットモンスター, Poketto Monsutā), are creatures in a world where individuals, known as Pokémon trainers, catch and train them for companionship and battles. Each Pokémon falls into one or more of various types—like fire, water, or grass—defining their strengths, weaknesses, and the types of moves they can perform. These types play a crucial role in battles, influencing the effectiveness of a Pokémon's moves against others. Beyond their type, Pokémon possess stats such as Health Points (HP), Attack, Defense, and Speed, which are critical in determining the outcome of battles. Trainers aim to assemble a balanced team of Pokémon, strategically using their unique movesets and stats to outmaneuver opponents in battles.

Trainers engage in battles, using their team to compete for prestige and badges in various gyms. Battles are turn-based, a Pokémon "faints" and is unable to continue battling when its HP drops to zero. Winning battles against gym leaders awards trainers badges, symbolizing their skill and granting them access to tougher challenges.

Objective Overview

In this project , you will create a Pokémon Battle Simulator. Your task is to develop a system that simulates battles between Pokémon with varying types, leveraging Object-Oriented Programming (OOP) principles.


Many of the functions that you will code for this challenge have detailed information in the comments. DO NOT SKIP THE COMMENTS in the source files (.cpp, .h) .



Challenges

📋 Requirements available in VS Code!

Click the "Requirements" button in the status bar (bottom right of VS Code) or use the keyboard shortcut Ctrl+Shift+Q to view the full assignment requirements.

Requirements button location

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

📋 Requirements available in VS Code!

Click the "Requirements" button in the status bar (bottom right of VS Code) or use the keyboard shortcut Ctrl+Shift+Q to view the full assignment requirements.

Requirements button location

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

📋 Requirements available in VS Code!

Click the "Requirements" button in the status bar (bottom right of VS Code) or use the keyboard shortcut Ctrl+Shift+Q to view the full assignment requirements.

Requirements button location

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

📋 Requirements available in VS Code!

Click the "Requirements" button in the status bar (bottom right of VS Code) or use the keyboard shortcut Ctrl+Shift+Q to view the full assignment requirements.

Requirements button location

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

📋 Requirements available in VS Code!

Click the "Requirements" button in the status bar (bottom right of VS Code) or use the keyboard shortcut Ctrl+Shift+Q to view the full assignment requirements.

Requirements button location

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

30-Day Scoreboard:

This scoreboard reflects solves for challenges in this module after the module launched in this dojo.

Rank Hacker Badges Score