This project was inspired by games run on command line. I recall there were numerous text based adventures meant to play on command line and I wanted to base the platform on cmd.
What it does
Keyboard Accuracy Game will try to replicate a retro cmd based game and will display a character the user should input. When input correctly, the user will be rewarded with points depending on time since last successful input and how long their streak has been running. The streak resets once the user inputs incorrectly and so will the amount of points rewarded. The user is given 60 seconds to try and gather as much points as possible.
The importance of this game, I believe, is the statistics displayed at the end of the session. Statistics such as % accuracy of correct keystrokes, highest streak, incorrect keystrokes, letters per second are what I'd say users would care about the most.
How I built it
I built this using only C++ as a challenge to familiarize myself with C++ syntax and it's strengths and weaknesses. I used chrono library and random library in order to support majority of the game's logic.
Challenges I ran into
Challenges were specifically creating the nearest thing to a true random generator. The default random methods C++ held were actually quite predictable and if seeded at a specific time it would be too linear. I noticed the trend in characters which were based on the default random methods, so I included a random engine with uniform int distribution. the seed was also based on time since epoch.
Accomplishments that I'm proud of
I'm proud to have developed a simple game which has obvious states(was able to practice state machine concepts). I'm also proud of being able to have started and ended a project which accomplished my main goals without having to brute force through bugs. The errors which occurred were at least logical to me and didn't take too long to understand or fix.
What I learned
I learned a lot about how C++ and OOP concepts, more specifically how it differs from other languages and the amount of control C++ provides supported by the amount of concepts the programmer should be responsible for.
What's next for Keyboard Accuracy Game
I'd like to create a scoreboard using a txt file which will be read every time a user plays. As followed by logic, the highest scores should be appended first. I'm already h