Project Overview
The first version features only two Pokémon—Bulbasaur and Charmander—chosen for ease of sprite creation. The game begins with a Main Menu where users select their Pokémon, followed by a battle with a computer-selected opponent. The battle system includes attack options, with attack order determined by speed, and an accuracy check to determine if attacks hit or miss. Although basic, I plan to expand the game with more Pokémon and features over time.
Development Progress
I've started working on the menus, animations, and a header file for Pokémon stats and attack features. Using an Enum for menu states and switch statements to handle transitions, I've implemented the Main Menu, Pokémon Selection Menu, and Attack Selection Menu. Attack animations, like Charmander's Ember attack, required sprite design and animation coding.
To streamline the game, I created two classes: 'Pokemon' for Pokémon stats and 'PokemonAttacks' for attack functionalities. The attack function encapsulates attack behavior and uses random numbers to determine attack accuracy.
Final Release
In the current version, players can choose between two Pokémon:
Charmander: Ember, Scratch
Bulbasaur: Razor Leaf, Vine Whip
A demo video showcases the menus and animations, highlighting how different attacks impact Pokémon based on their elements and accuracy.
Project Highlights
Key features include smooth menu transitions and an efficient attack function using control flow structures and random number generation. The interaction between elemental attributes adds depth and strategy to the gameplay.
Project Reflection
This project greatly improved my C++ skills. Despite doubts and challenges, I rewrote much of the code to make it more efficient and effective. While there's room for improvement, especially in code clarity and presentation, I'm proud of the progress made and eager to continue learning.