No description, website, or topics provided.
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ai
cards
ui
README.org
adaptiveBuylist.buys
default.buys
default.play
dominion.py
player_interface.py
stat_viewer.py
state.save
trial.py

README.org

Purpose

This program is an implementation of the card game Dominion by Donald X. Vaccarino.

Features

  • Base game cards are all implemented
  • Slightly awkward command line user interface implemented
  • Only “no provinces left” is implemented as game end condition
  • Random selection of kingdom cards
  • Two-player game

Usage

  • The most interesting way to use it right now is for simulations of many games
  • e.g. python trial.py -1 ai.random -2 ai.expensive (Run 1000 games of random vs expensive AIs and report stats)
  • e.g. python trial.py -1 ai.random -2 ai.expensive -o load=state.save (Run 1000 games of random vs expensive AIs starting in the state described in state.save)
  • python dominion.py -1 ai.random -2 ai.buylist -o kingdom=Village;Market;Smithy -b graph=True (Run a game of random vs. buylist; the buylist AI will simulate 100 games every turn that start in the current state and will plot the stats afterwards)

Todos

  • Proper game ending (When 3 action stacks are exhausted, too)
  • More notifications for players (what the opponent is doing)
  • Better user interface (GUI!)
  • User interface proxy for playing over network
  • AI
  • More card sets
  • More options: Force inclusion/exclusion of kingdom cards, make preset lists available, …