<br/>
<div align="center">
<img width="150px" src="https://cdn.discordapp.com/attachments/1058292470141698058/1065269783014162552/Asset_2.png">
<a/>
<br/>
<strong>A retro typing trainer and game set in space.</strong>
<br/>
</div>  
<br/>
<p align="center">
  <img src="https://shields.io/badge/build-passing-brightgreen" alt="Build">
  <img src="https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen" alt="Dependencies">
  <img src="https://img.shields.io/badge/size-6.4MB-blue" alt="Repo Size">
  <img src="https://img.shields.io/badge/version-1.0.0-orange" alt="Version
  <a href="https://www.gnu.org/licenses/gpl-3.0">
    <img src="https://img.shields.io/badge/License-GPLv3-blue.svg" alt="License">
  </a>
</p>  
                                                                                  
                                                                                
Typeshala but retro; and in space! With a fun little game that scratches your nostalgia itch if you ever were acquainted with the classic Space Invaders.

That's essentially what Space Type is. 

A typing trainer, tester, and game. But it's disguised as a game where you train to navigate a spaceship, test your skills, and use them to defend from incoming invaders.  
                                                                                
<img src="https://cdn.discordapp.com/attachments/1058292470141698058/1064952526773956700/image.png" alt="Space Type main">
                                                                              
<p align="center">
  <a href="#key-features">Key Features</a> •
  <a href="#how-to-build">How To Use</a> •
  <a href="#images">Images</a> •
  <a href="#documentation">Documentation</a> •
  <a href="#credits">Credits</a> •
  <a href="#acknowledgements">Acknowledgements</a>
</p>


#  Key Features

Amplication provides the following features:

- Touch Typing tutorial accessible from menu screen
- Keyboard key indicator
- Word train mode which stops only if the user wants
- Letter train mode which stops only if the user wants
- Customized train mode which focuses on the user's weak points
- Test Mode with several passages of varying difficulty
- A Ztype inspired word shooter game
- Result screen showing your typing related statistics after each mode


## How To Build

To clone and build this application, you'll need [Git](https://git-scm.com), [Ming-GW](https://www.mingw-w64.org/) and [Raylib](https://www.raylib.com/) installed on your computer. You need to add Min-GW path to your computer and setup Raylib for Windows with the help of this [tutorial](https://github.com/raysan5/raylib/wiki/Working-on-Windows). 

After that, clone the repo, open main.c and use the build command of any of your preferred IDE (was done in VSCode and Codeblocks), and a executable file would be made in the project library.


## Images 

Touch typing tutorial
<img src="https://cdn.discordapp.com/attachments/1058292470141698058/1063875789675835433/image.png" alt="Space Type tutorial">

Main menu of Train screen
<img src="https://cdn.discordapp.com/attachments/970871088542273537/1064985966395277452/Screenshot_128.png" alt="Space Type train">

Options to choose rows
<img src="https://cdn.discordapp.com/attachments/970871088542273537/1064985966684676117/Screenshot_129.png" alt="Space Type train menu">

Practicing Letters
<img src="https://cdn.discordapp.com/attachments/1058292470141698058/1065297614284795986/image.png" alt="Space Type practicing letters">

Practicing Words
<img src="https://cdn.discordapp.com/attachments/970871088542273537/1064985966995050696/Screenshot_130.png" alt="Space Type practicing letters">

Result screen
<img src="https://cdn.discordapp.com/attachments/1058292470141698058/1064197543468220526/Screenshot_118.png" alt="Space Type practicing letters">

Pause screen
<img src="https://cdn.discordapp.com/attachments/1058292470141698058/1065305821489152152/image.png" alt="Space Type practicing letters">

## Documentation
The documentation of this game was generated using Doxygen.  
Link: https://praharshaadhikari.github.io/SpaceType/documentation/html/

## Credits

This software uses the following open source packages and tools:

- [Raylib](https://www.raylib.com/)
- [Min-GW](https://www.mingw-w64.org/)
- [VS Code](https://code.visualstudio.com/)
- [Doxygen](https://www.doxygen.nl/)


## Acknowledgements

+ Planet Textures made by [Freepik](https://www.freepik.com/) from [Flaticon](www.flaticon.com).
+ [Raylib Examples](https://www.raylib.com/examples.html)
