Package: riichiroyale
Riichi RoyaleTeam "The One Cow" for Fall 2020 Performant Programming in PythonFor TAsProject DescriptionRiichi Royale is a singleplayer game where you play 4-player Riichi Mahjong against AI opponents. The project includes a tutorial so you can learn how to play and (currently) a demo project in order to showcase our C++ Mahjong Game ManagerPython RequirementRiichi Royale has been verified to run with 64bit Python 3.8.x. We have verified against the Python 3.8.6 Windows x86-64 executable installer default installation, which can be foundhere.If you encounter the errorImportError: DLL load failed: %1 is not a valid Win32 application., this is due to having 32bit python.If you encounter the errorImportError: DLL load failed while importing libmahjong: The specified module could not be found., this is due to not using Python 3.8.Installpip install riichiroyaleTo run Riichi Royale in your command promptriichiroyaleDepending on your installation of python, you may need to instead runpython -m riichiroyaleDevelopmentGetting StartedOn LinuxInstall the following dependencies:gitcmakeclang(orclang-10if on Ubuntu < 20.04LTS)On WindowsWindows requires Visual Studio 2019, which can be foundhere, and CMake, which can be foundhereClone the repository:git clone git@github.com:HartleyAHartley/RiichiRoyale.gitRun the following commands within the project directory (note that these commands are for ):# Install python dependencies locally
pip install --user -r requirements.txt

# Create build directory for cmake
mkdir build/

# Bootstrap CMake Environment
cmake -S . -B build

# Or bootstrap CMake with tool building enabled
cmake -S . -B build -DPACKAGE_TOOLS=ON

# Or, if wanting to use Clang (Linux Only)

C=clang CXX=clang++ cmake -S . -B build

# Build Project
cmake --build build

# Bootstrap Development Environment
python setup.py develop --user

# Run Project
python riichiroyaleTesting and DocumentationThe python test suite is located intest/and can be run withpython testThe C++ test suite is located incxxtests/and can be run withmake -C build checkGood ResourcesDocDevs Mirror of Pygame Documentation: Standard Pygame API Docs. Pygame has a ratelimiter on their website of 50 visits per hour, which is very annoying while developing.Pygame Example Projects: Great showing of how everything in pygame pieces together.Pybind11 Docs: The documentation for pybind11, which is what we use for building the C++ python module.AttributionMusiclobby.ogg:
Airport Lounge by Kevin MacLeod
Link:https://incompetech.filmmusic.io/song/3347-airport-loungeLicense:http://creativecommons.org/licenses/by/4.0/game1.ogg:
Acid Trumpet by Kevin MacLeod
Link:https://incompetech.filmmusic.io/song/3340-acid-trumpetLicense:http://creativecommons.org/licenses/by/4.0/game2.ogg:
Shades of Spring by Kevin MacLeod
Link:https://incompetech.filmmusic.io/song/4342-shades-of-springLicense:http://creativecommons.org/licenses/by/4.0/game3.ogg:
Backbay Lounge by Kevin MacLeod
Link:https://incompetech.filmmusic.io/song/3408-backbay-loungeLicense:http://creativecommons.org/licenses/by/4.0/IconsIcons are by Daniela Travieso, used with permissionTrophyTrophy Iconby Lorc and used under CC BY 3.0