Tidak Ada Deskripsi

Zelphir Kaltstahl 9a13f16d5e handle event count and karma adjustment in process-event 4 tahun lalu
config ae394a6ea8 correct sign of karma modifier 4 tahun lalu
guix-env 9397b5444d add guix environment files 4 tahun lalu
lib ef8929989b fix wrong call to range 4 tahun lalu
python-env bffb9ef2c6 add python environment files 4 tahun lalu
.gitignore bb58e405ed update gitignore file 4 tahun lalu
.gitmodules 9e1812c61b add fslib as submodule to deal with locations in file systems 4 tahun lalu
LICENSE f42cf3cb83 Initial commit 4 tahun lalu
config.scm efaccd5a26 reorganize code and separate out data abstraction layer 4 tahun lalu
data-abstraction.scm 63d90fc489 comment out debug 4 tahun lalu
effect.scm 2cf7a774f7 implement custom actions 4 tahun lalu
main.scm 9a13f16d5e handle event count and karma adjustment in process-event 4 tahun lalu
model.scm e0c4de660e make karma affect probability 4 tahun lalu
notes.org 296b539648 add todo item 4 tahun lalu
readme.md 18681fe3fd update readme, fix copy paste mistake 4 tahun lalu
readme.org 18681fe3fd update readme, fix copy paste mistake 4 tahun lalu
start.bash 3bf6710765 adapt start script to new library location 4 tahun lalu
validate.bash f15787204c add validation script 4 tahun lalu

readme.md

Fantasy Vacation Planner

This project contains a program for simulating an imaginary vacation trip.

Dependencies

The program depends on the following software:

  • GNU Guile 3.0.4 – Earlier versions not tested, but the program is not using anything special, so probably an earlier version will work just fine, as long as the other required libraries exist for that earlier version.
  • guile-json of GNU Guix commit (revision) 8518a3692cbb9cd96d69c03e9de9ad6fdcfebbee – Other versions were not tested. However, the program does not use advanced features of the library, so other versions will probably work fine as well.

Potential dependencies

  • The provided GNU Guix environment specification depends on GNU Guix being installed.

Usage

Clone the repository using:

git clone --recurse-submodules --remote-submodules URL

Or, if you are using an older version of git:

git clone URL
cd DIR_OF_REPO
git submodule update --init --recursive

A GNU Guix environment setup script is provided in guix-env/env.bash. You can run it using GNU Bash from the root directory of the cloned repository:

bash guix-env/env.bash

After which you will have the required libraries to run the program. You can run the program from the root directory of this project as follows:

GUILE_LOAD_PATH="${GUILE_LOAD_PATH}:lib/fslib" \
    guile -L . main.scm

Alternatively, you can mke use of the provided GNU Bash script in the root directory of the cloned repostitory:

bash start.bash

If you do not have GNU Guix installed, you need to consult the list of dependencies and make sure you got them satisfied, before running the program.

Configuring the journey

Events that can occur while travelling as well as the difficulty of the journey are specified in story-parameters.json.

Configuring participating players

The players and their routes are specified in story.json.

Validating the configuration files

There are JSON schemas given for configuration files as ...-schema.json. To make use of them, you may use any program you want to use for validating the configuration files against their corresponding JSON schema. A little Python 3 program is given in validate.py, which validates using the jsonschema library from PyPI. To use it do the following:

  1. Run bash python-env/env.bash from the root directory of this project, to create a Python venv.
  2. Run source python-env/venv/bin/activate to activate the venv.
  3. Run the validation program using python3 validate.py.