Skip to content

Chaozz/happygg

Repository files navigation

Happygg

Overview

Happygg is a cross-platform Chinese Chess engine based on Universal Chinese Chess Protocol(UCCI) 3.0. Build Status

Structure

+-- src/
|
+-- src_tests/
|   +-- basic_tests/
|   +-- lib/
|   |   +-- googletest/
+-- happygg.cpp
+-- CMakeLists.txt
+-- .travis.yml

Main folders explanation

src/ folder

This folder contains the source files. You will find the following folders inside

src_tests/ folder

This folder contains the test files.

  • basic_tests/ This folder contains the source code of all tests.
  • lib/ Here you will find a copy of Google C++ Testing Framework which is linked to the test project as a library.

happygg.cpp

The main entrance of the project.

CMakeLists.txt

The configuration file of cmake.

.travis.yml

The configuration file of Travis.

Build

Important! To build this project in Windows, make sure to add the #define WIN32 macro in ./src/pipe.h.

Installing tools

CMake is an open-source, cross-platform family of tools designed to build, test and package software.

And of course you need a cpp compiler (gcc, clang, etc),

Once you have all tools installed

  • Open a terminal, go to the project folder,
cmake .
make

If everything goes fine, you should find the executable file happygg in the folder.

Use

This project does not contained a GUI client. But you can use any 3rd-party program which support UCCI 3.0 to run the game. ChessQ would be a very good choice.

Testing

The project comes with unit tests, using the Google C++ Testing Framework.

To run the tests, open a terminal, go to the project folder, and run the command:

ctest

Continuous Integration

Travis CI

Travis CI is a continuous integration service, which can monitor GitHub for new commits to your repository and execute scripts such as building the app or running tests. This project contains a Travis configuration file, .travis.yml, which will cause Travis to run your tests when you push to GitHub.

You will need to enable the integration between Travis and GitHub. See the Travis website for more instruction on how to do this.

About

An open source Chinese Chess engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published