diff --git a/docs/Readme.md b/docs/Readme.md new file mode 100644 index 0000000..6f6988b --- /dev/null +++ b/docs/Readme.md @@ -0,0 +1 @@ +contributors:Haoyu Liu,Runqi Liu.Wei Zhang diff --git a/docs/feature/clang-format/README.md b/docs/feature/clang-format/README.md new file mode 100644 index 0000000..f543f46 --- /dev/null +++ b/docs/feature/clang-format/README.md @@ -0,0 +1,32 @@ +# arcade-machine +An application to showcase and execute Splashkit games + +## Pre-requisites (all operating systems) + ++ Install the [SplashKit](https://splashkit.io) SDK using the [guide](https://splashkit.io/articles/installation/) + +## Pre-requisites (Windows with mingw32 or mingw64) + + ++ Install `make` using `pacman -S make` + +## Building arcade machine (using the Makefile) +Compiling Arcade Machine using the Makefile allows incremental building of changed objects. + +```bash +cd arcade-machine +make +./ArcadeMachine +``` +Subsequent builds (as you change code) can be completed by using just `make`. If you need to run a clean build again, you can use `make clean` first proceeded by `make`. + +## Building arcade machine (manually) ++ Compile the application with the command ```skm clang++ src/* -Iinclude -lstdc++fs -o test``` ++ Run the application ```./test``` + +## Contributing code and running the code formatter +Have a read of [CONTRIBUTING.md](../../../CONTRIBUTING.md) to see the general code style conventions followed throughout the project. + +Automatic code formatting is supported using `clang-format` (you may need to install this if you want to use it). + +To run the code formatter on the whole project, execute `make format`. \ No newline at end of file diff --git a/docs/feature/clang-format/resources/bundles/readme.md b/docs/feature/clang-format/resources/bundles/readme.md new file mode 100644 index 0000000..da469ba --- /dev/null +++ b/docs/feature/clang-format/resources/bundles/readme.md @@ -0,0 +1 @@ +You can place bundle scripts in this folder. diff --git a/docs/feature/clang-format/resources/databases/readme.md b/docs/feature/clang-format/resources/databases/readme.md new file mode 100644 index 0000000..ec775b5 --- /dev/null +++ b/docs/feature/clang-format/resources/databases/readme.md @@ -0,0 +1 @@ +SplashKit can create SQLite databases for you, they will appear in this folder. diff --git a/docs/feature/clang-format/resources/fonts/readme.md b/docs/feature/clang-format/resources/fonts/readme.md new file mode 100644 index 0000000..18d42aa --- /dev/null +++ b/docs/feature/clang-format/resources/fonts/readme.md @@ -0,0 +1 @@ +You can place fonts in this folder. Fonts can be otf or ttf files. diff --git a/docs/feature/clang-format/resources/images/readme.md b/docs/feature/clang-format/resources/images/readme.md new file mode 100644 index 0000000..5d8bc90 --- /dev/null +++ b/docs/feature/clang-format/resources/images/readme.md @@ -0,0 +1 @@ +Place images in this folder. SplashKit can work with png, jpeg, jpg, or tif files. diff --git a/docs/feature/clang-format/resources/server/readme.md b/docs/feature/clang-format/resources/server/readme.md new file mode 100644 index 0000000..c021a6a --- /dev/null +++ b/docs/feature/clang-format/resources/server/readme.md @@ -0,0 +1 @@ +You can place files in this folder for the webserver to return. diff --git a/docs/feature/clang-format/resources/sounds/readme.md b/docs/feature/clang-format/resources/sounds/readme.md new file mode 100644 index 0000000..06ca9c8 --- /dev/null +++ b/docs/feature/clang-format/resources/sounds/readme.md @@ -0,0 +1 @@ +You can place sound effects in this folder. SplashKit can play ogg, wav, mod, flac, and mp3 diff --git a/docs/feature/documentation/README.md b/docs/feature/documentation/README.md new file mode 100644 index 0000000..fbc4980 --- /dev/null +++ b/docs/feature/documentation/README.md @@ -0,0 +1,7 @@ +# arcade-machine +An application to showcase and execute Splashkit games +## Install ++ Install the [SplashKit](https://splashkit.io) SDK using the [guide](https://splashkit.io/articles/installation/) +## Run ++ Compile the application with the command ```skm clang++ program.cpp -o test -lstdc++fs``` ++ Run the application ```./test``` diff --git a/docs/feature/documentation/bundles/readme.md b/docs/feature/documentation/bundles/readme.md new file mode 100644 index 0000000..da469ba --- /dev/null +++ b/docs/feature/documentation/bundles/readme.md @@ -0,0 +1 @@ +You can place bundle scripts in this folder. diff --git a/docs/feature/documentation/databases/readme.md b/docs/feature/documentation/databases/readme.md new file mode 100644 index 0000000..ec775b5 --- /dev/null +++ b/docs/feature/documentation/databases/readme.md @@ -0,0 +1 @@ +SplashKit can create SQLite databases for you, they will appear in this folder. diff --git a/docs/feature/documentation/fonts/readme.md b/docs/feature/documentation/fonts/readme.md new file mode 100644 index 0000000..18d42aa --- /dev/null +++ b/docs/feature/documentation/fonts/readme.md @@ -0,0 +1 @@ +You can place fonts in this folder. Fonts can be otf or ttf files. diff --git a/docs/feature/documentation/images/readme.md b/docs/feature/documentation/images/readme.md new file mode 100644 index 0000000..5d8bc90 --- /dev/null +++ b/docs/feature/documentation/images/readme.md @@ -0,0 +1 @@ +Place images in this folder. SplashKit can work with png, jpeg, jpg, or tif files. diff --git a/docs/feature/documentation/server/readme.md b/docs/feature/documentation/server/readme.md new file mode 100644 index 0000000..c021a6a --- /dev/null +++ b/docs/feature/documentation/server/readme.md @@ -0,0 +1 @@ +You can place files in this folder for the webserver to return. diff --git a/docs/feature/documentation/sounds/readme.md b/docs/feature/documentation/sounds/readme.md new file mode 100644 index 0000000..06ca9c8 --- /dev/null +++ b/docs/feature/documentation/sounds/readme.md @@ -0,0 +1 @@ +You can place sound effects in this folder. SplashKit can play ogg, wav, mod, flac, and mp3 diff --git a/docs/feature/moving-background/README.md b/docs/feature/moving-background/README.md new file mode 100644 index 0000000..fbc4980 --- /dev/null +++ b/docs/feature/moving-background/README.md @@ -0,0 +1,7 @@ +# arcade-machine +An application to showcase and execute Splashkit games +## Install ++ Install the [SplashKit](https://splashkit.io) SDK using the [guide](https://splashkit.io/articles/installation/) +## Run ++ Compile the application with the command ```skm clang++ program.cpp -o test -lstdc++fs``` ++ Run the application ```./test``` diff --git a/docs/feature/moving-background/animations/readme.md b/docs/feature/moving-background/animations/readme.md new file mode 100644 index 0000000..30f7f8f --- /dev/null +++ b/docs/feature/moving-background/animations/readme.md @@ -0,0 +1,3 @@ +You can place scripts for animations in this folder. + +See http://www.splashkit.io/articles/guides/tags/animations/animation/ diff --git a/docs/feature/moving-background/bundles/readme.md b/docs/feature/moving-background/bundles/readme.md new file mode 100644 index 0000000..da469ba --- /dev/null +++ b/docs/feature/moving-background/bundles/readme.md @@ -0,0 +1 @@ +You can place bundle scripts in this folder. diff --git a/docs/feature/moving-background/config/gameOfNim.md b/docs/feature/moving-background/config/gameOfNim.md new file mode 100644 index 0000000..df445df --- /dev/null +++ b/docs/feature/moving-background/config/gameOfNim.md @@ -0,0 +1,38 @@ +#-- ARCADE MACHINE GAME CONFIG FILE --# +#-- For THOTH TECH - Splashkit Crew - Applications Team +#-------------------------------------------------------------------- +#-- File: config.txt +#-- Description: Configuration data for Arcade Machine games +#-------------------------------------------------------------------- +#-- Maintenance Log -- +#-------------------------------------------------------------------- +# Task | Who | Date | Comments +#-----------+---------+----------+----------------------------------- +# Sprint 1 | AGEORGE | 26032022 | Created +#-----------+---------+----------+----------------------------------- + +# PLEASE ONLY EDIT CONTENT AFTER THE "=" SIGN FOR EACH CONFIGURATION SETTING + +# Location of git repo (eg. https://github.com/studioant/arcade_game) +repository=https://github.com/studioant/gameOfNim.git + +# Programmnig language the game is written in (eg. C++) +language=C++ + +# Path to your game thumbnail image (eg. images/icon.png) +image=images/icon.png + +# The title of your game (eg. Super Mario) +title=Game Of Nim + +# The genre of your game (eg. Platformer) +genre=Board Game + +# A classification rating to advise the nature of the content (eg. MA 15+) +rating=G + +# The name of the author (eg. Jane Doe) +author=Anthony George + +# Path to the executable (game.exe) +executable=nim.exe \ No newline at end of file diff --git a/docs/feature/moving-background/config/newGame.md b/docs/feature/moving-background/config/newGame.md new file mode 100644 index 0000000..2266d06 --- /dev/null +++ b/docs/feature/moving-background/config/newGame.md @@ -0,0 +1,38 @@ +#-- ARCADE MACHINE GAME CONFIG FILE --# +#-- For THOTH TECH - Splashkit Crew - Applications Team +#-------------------------------------------------------------------- +#-- File: config.txt +#-- Description: Configuration data for Arcade Machine games +#-------------------------------------------------------------------- +#-- Maintenance Log -- +#-------------------------------------------------------------------- +# Task | Who | Date | Comments +#-----------+---------+----------+----------------------------------- +# Sprint 1 | AGEORGE | 26032022 | Created +#-----------+---------+----------+----------------------------------- + +# PLEASE ONLY EDIT CONTENT AFTER THE "=" SIGN FOR EACH CONFIGURATION SETTING + +# Location of git repo (eg. https://github.com/studioant/arcade_game) +repository=https://github.com/thoth-tech/arcade-games + +# Programmnig language the game is written in (eg. C++) +language=C# + +# Path to your game thumbnail image (eg. images/icon.png) +image=images/icon.jpg + +# The title of your game (eg. Super Mario) +title=Game 1 + +# The genre of your game (eg. Platformer) +genre=Tile Based + +# A classification rating to advise the nature of the content (eg. MA 15+) +rating=PG + +# The name of the author (eg. Jane Doe) +author=Foo Bar + +# Path to the executable (game.exe) +executable=game1.exe \ No newline at end of file diff --git a/docs/feature/moving-background/databases/readme.md b/docs/feature/moving-background/databases/readme.md new file mode 100644 index 0000000..ec775b5 --- /dev/null +++ b/docs/feature/moving-background/databases/readme.md @@ -0,0 +1 @@ +SplashKit can create SQLite databases for you, they will appear in this folder. diff --git a/docs/feature/moving-background/fonts/readme.md b/docs/feature/moving-background/fonts/readme.md new file mode 100644 index 0000000..18d42aa --- /dev/null +++ b/docs/feature/moving-background/fonts/readme.md @@ -0,0 +1 @@ +You can place fonts in this folder. Fonts can be otf or ttf files. diff --git a/docs/feature/moving-background/images/readme.md b/docs/feature/moving-background/images/readme.md new file mode 100644 index 0000000..5d8bc90 --- /dev/null +++ b/docs/feature/moving-background/images/readme.md @@ -0,0 +1 @@ +Place images in this folder. SplashKit can work with png, jpeg, jpg, or tif files. diff --git a/docs/feature/moving-background/server/readme.md b/docs/feature/moving-background/server/readme.md new file mode 100644 index 0000000..c021a6a --- /dev/null +++ b/docs/feature/moving-background/server/readme.md @@ -0,0 +1 @@ +You can place files in this folder for the webserver to return. diff --git a/docs/feature/moving-background/sounds/readme.md b/docs/feature/moving-background/sounds/readme.md new file mode 100644 index 0000000..06ca9c8 --- /dev/null +++ b/docs/feature/moving-background/sounds/readme.md @@ -0,0 +1 @@ +You can place sound effects in this folder. SplashKit can play ogg, wav, mod, flac, and mp3 diff --git a/docs/feature/process-module/CONTRIBUTING.md b/docs/feature/process-module/CONTRIBUTING.md new file mode 100644 index 0000000..7713d83 --- /dev/null +++ b/docs/feature/process-module/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing + +Contributing to the Arcade Machine code + +## Code Style/Naming Guidelines + +### Naming + +- User-defined types (classes, structs) should use pascal case, e.g. `MyClass` +- Functions and variables should use camel case, e.g. `myFuction()`, `myVariable` +- Constants and #defines should be all uppercase with underscores denoting spaces, e.g. `MY_CONSTANT` +- Private data should be prefixed with `m_` for "member", e.g. `m_myPrivateVariable` + +### File names + +- Each class should be declared in a header file named exactly after the class, e.g. `MyClass` is declared in MyClass.h +- Class declaration should stay in the .h file, definitions should be in a .cpp file, e.g. `MyClass` is defined in MyClass.cpp +- Only #include what is needed +- Use "" for including local files and <> for including library files + +#### Namespaces +Don't use `using`, e.g. instead of: + +```cpp +using std +using std::vector + +vector