Skip to content

Queah is an iOS app that lets you play the Liberian game of Queah against another player or the computer.

License

Notifications You must be signed in to change notification settings

stephenbensley/Queah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Queah

Queah is an iOS app that lets you play the Liberian game of Queah against another player or the computer. The code consists of two top-level components:

  1. QueahEngine contains the core game logic and an AI capable of perfect play.
  2. QueahApp implements the iOS app.

QueahEngine

The Queah engine is implemented in C++ and is accessed via a C API declared in QueahEngine.h. The engine was developed under Xcode on MacOS. However, the code is completely standards-compliant and should be easily ported to other platforms.

The API exposes two objects:

  1. QueahGame tracks game state and implements the game rules.
  2. QueahAI returns the best move for any game state.

There is a sample demonstrating how to call the API.

The AI relies on a precomputed solution file queah.dat that must be bundled along with the engine. The solution file is created offline by QueahSolver.

QueahApp

The Queah iOS app is implemented in Swift using SwiftUI and SpriteKit. For more information about the app, see the app store listing.