This is a starter repo for the Capstone project in the Udacity C++ Nanodegree Program. The code for this repo was inspired by this excellent StackOverflow post and set of responses.
The main addition I made to the snake game is storing the high score. If the current user has the new high score, the program asks the user to provide it’s name.
Below are the rubrics my program meets.
- The project reads data from a file and process the data: Game::ReadHighscoreFromFile()
- The project writes data to a file: Game::UpdateHighscore()
- The project accepts user input and processes the input: Game::AskPlayerForName()
- The project uses Object Oriented Programming techniques (e.g. appropriate access specifiers for class members, abstraction of implementation details, encapsulation of behavior): player.h
- The project uses smart pointers instead of raw pointers: main.cpp
- The project uses multithreading: game.cpp
- cmake >= 3.7
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- SDL2 >= 2.0
- All installation instructions can be found here
- Note that for Linux, an
apt
orapt-get
installation is preferred to building from source.
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Make a build directory in the top level directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./SnakeGame
.