Skip to main content

Python code to assist the game Olympia

Project description

Build Status Coverage Status Apache License 2.0

olypy is a collection of code related to the epic fantasy strategy game Olympia, which currently lives in SVN (yuck) at

https://sourceforge.net/projects/olympiag3/

olypy supports:

  • Generating a game database for testing the Olympia code

  • Actual end-to-end tests of the Olympia code

  • Generating a game database from player turn output to support simulations for players

Installing

Install python 3.5 or better, using pyenv or your favorite equivalent.

Clone the repo.

Install dependent python modules, and see if olypy passes tests:

python -m pip install -r requirements.txt
make test

Generating the QA database

make defaultlib

Running Olympia tests

You need a compiled Olympia binary with support for the ‘assert’ command.

cd sim; python run-tests.py

Tests are YAML files. Here’s an example:

description: test move-related things
lib: defaultlib
aa1 orders: |
 unit 1102  # A2 in Aachen [c18]
   # test movement delays
   claim 10 20
   assert item 10 20 not item 10 21 # exactly 20
   move out # 2 days
   assert day 3 not day 4
   drop 10 1
   move c18
   assert day 4 not day 5

This example contains 3 tests. assert is similar to wait; it passes if the wait is 0-time, and fails elsewise. The foo not foo syntax is a way of expressing exact values.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

olypy-0.9.41-py3-none-any.whl (334.6 kB view details)

Uploaded Python 3

File details

Details for the file olypy-0.9.41-py3-none-any.whl.

File metadata

  • Download URL: olypy-0.9.41-py3-none-any.whl
  • Upload date:
  • Size: 334.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.8.0

File hashes

Hashes for olypy-0.9.41-py3-none-any.whl
Algorithm Hash digest
SHA256 7f3d7b5bdd0c530049d5dc80e96fdb6e3291a68cc0dd36434ded90e14bcc9af4
MD5 7747439142e2e0de77fc1393f4d3f20b
BLAKE2b-256 6a7db4e502a7f8b9f8c2aebac86b20a4a0d66d6dc1253f1e001b61d33270439f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page