Skip to content

CyberJackPixel77/Countgame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Countgame - Console math game for Windows

Countgame - Console application for Windows operating system. The game is designed to train both simple and advanced arithmetic skills. The game is written in C for speed and ease. This allows it to work on almost any Windows device. The game uses CLI (Windows Command Line Interface) to draw all elements and does not use any graphics libraries, which makes it "light" and fast. The game has several game modes and submodes. The main idea of the game is to generate examples for the user depending on the selected game mode and check his answers for correctness.

The game has several main game modes that can be selected in the main menu, namely:


  1. Addition (ADDITION)
  2. Subtraction (SUBSTRACTION)
  3. Multiplication (MULTIPLICATION)
  4. Division (DIVISION)

Such division allows you to select examples for training the desired arithmetic operation with numbers. Each game mode has several sub-modes to better tailor it to the user's needs, namely:


  1. Two-Digit and One-Digit (2 X 1)
  2. Three-Digit and Two-Digit (3 X 2)
  3. Three-Digit and Three-Digit (3 X 3)
  4. Three-Digit and One-Digit (3 X 1)

This brings us to the structure of the game:

  1. ADDITION:
    |- Two-Digit and One-Digit (2 X 1)
    |- Three-Digit and Two-Digit (3 X 2)
    |- Three-Digit and Three-Digit (3 X 3)
    \- Three-Digit and One-Digit (3 X 1)
  2. SUBSTRACTION:
    |- Two-Digit and One-Digit (2 X 1)
    |- Three-Digit and Two-Digit (3 X 2)
    |- Three-Digit and Three-Digit (3 X 3)
    \- Three-Digit and One-Digit (3 X 1)
  3. MULTIPLICATION:
    |- Two-Digit and One-Digit (2 X 1)
    |- Three-Digit and Two-Digit (3 X 2)
    |- Three-Digit and Three-Digit (3 X 3)
    \- Three-Digit and One-Digit (3 X 1)
  4. DIVISION
    |- Two-Digit and One-Digit (2 X 1)
    |- Three-Digit and Two-Digit (3 X 2)
    |- Three-Digit and Three-Digit (3 X 3)
    \- Three-Digit and One-Digit (3 X 1)

Control and interaction

The game is controlled using simple keys on the keyboard such as ENTER, Arrows or ESC.
The H key can be used to open the help menu.
The R key can be used to open the menu with the rules of the game.
To exit a menu, press ESC. Pressing this key in the main menu will close the program.

File storage

Countgame stores the main files in the path C:\Games\Countgame and backups in the TEMP folder of the Windows OS. The game has protection against counterfeiting and entering incorrect values through save files.

How to build?

To buid this game from source you need to install GNU MinGW, we're going to use gcc.
Copy the repository and open Command Prompt (cmd) in source folder, then just type 'make' or like me, who had mingw32 'mingw32-make', and you done.

Known issues

  1. The game stores backup files in the TEMP folder, which is why they can disappear periodically. This leads to the game not being able to start.
  2. The game is only in English, in the future it may be possible to add support for the Russian language
  3. Animations: The game may visually freeze during very fast interaction, however, this is not a problem with the C language, but with animations that do not have time to play to the end.

Troubleshooting

This paragraph in an answer for upper, it'll help to troubleshoot some of these problems before new updates. If on startup game said that 'Files are missing' and you have already played the game, make sure to check 'saves.txt' (C:\Games\Countgame) and 'bsaves.txt' (Temp). If one of them dont exist, copy one of them to the directory where its none, give it a propper name, and its done. All the other stuff should be fine, I've tested it for a while and didnt noticed something paranormal. If you'll find something, consider to notice me, and I'll fix that in next updates.


Game versions before the release of the main repository

Ver 0.1:

  • Implemented filecheck function
  • Basic functionality
  • Menu + logo animations
  • Added keyboard layout check

Ver 0.3:

  • Added menu animations
  • Added example generation

Ver 0.4:

  • Added exit to main menu function
  • Added ability to read files
  • Added Countgame.h header file

Ver 0.5:

  • File rewriting now works
  • Fixed division bug
  • Fixed Games Best bug that was incorrectly calculated
  • removed else if in pecord counting that broke the game

Ver 0.7:

  • Added improved animation

Ver 0.7.7:

  • Fixed division bug (integer display) + Fixed a bug with errors!
  • Fixed typos and visual bugs
  • Fixed a bug with entering incorrect values in saves
  • Added a game icon

Ver 0.8:

  • Minor visual fixes
  • Added more concise comments to the code + comments in Russian / English
  • Changed Makefile

Further support and development of the game:

Although I expected that Countgame would be my preparatory project before larger and more complex projects, this may change, it all depends on your support. If I see more support from you, I will be happy to continue development.

Afterword:

I already have a couple of ideas for new versions of the game, but for now I will do more interesting things for me. I will inform you about new projects soon, believe me, it will be interesting. In fact, I am very glad that I finally finished this project. It took me about 4 months, considering that I wrote the code whenever possible no more than 4-5 hours and on weekends. I'm glad that I was able to overcome this project and learn many things in C, it was a valuable experience for me.


Thanks to everyone who read this short description, reported bugs in the game or just for the kind words. See you!

About

Windows CLI maths game

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published