Giter Site home page Giter Site logo

jcloisterzone's Introduction

JCloisterZone

JCloisterZone is a Java implementation of a popular board game Carcassonne. It supports multiplayer game on a local computer or over a network. Game can be also played against computer AI.

Development guide

Helpers for more pleasant development and application debugging.

VM arguments

use different configuration file, don't create error.log (console out is enough), change log level and enable assertions

-Dconfig=debug.yaml -DerrorLog=false -Dorg.slf4j.simpleLogger.defaultLogLevel=info -DforceChat -ea

debug.yaml

tweaked config.yaml

use unpacked plugins from source

plugins:
  - plugins/classic
  - plugins/rgg_siege

for immediately AI play comment delay option

# ai_place_tile_delay: 250

debug options

use debug options for quick and repeatable game setup with following possible options

debug:
  # use some keys described below ...

don't compress saves, autosave before each AI play

save_format: plain
autosave: saves/_prerank.jcz

skip game config dialog, player is name or AI class you can comment just preset key to disable whole autostart

autostart:
  preset: default
  players:
    - Alice
    - Bob
    - com.jcloisterzone.ai.legacyplayer.LegacyAiPlayer
    - com.jcloisterzone.ai.DummyAiPlayer

developing expansion, don't bother with basic tiles. Override any expansion with own set definition.

tile_definitions:
  BASIC: tile-definitions/basic-1card.xml

force drawn tiles

draw:
  - BA.C
  - BA.Cccc+

and then force final scoring with dot item

draw:
   # ... some tiles ...
   - .

experimental options

off_capabilities: [ Dragon, Fairy ]
area_highlight: figure

gettext

xgettext -k_ -o po/keys.pot --from-code=utf-8 $(find . -name "*.java")
msgmerge -N -U po/cs.po po/keys.pot
msgmerge -N -U po/de.po po/keys.pot
msgmerge -N -U po/el.po po/keys.pot
msgmerge -N -U po/en.po po/keys.pot
msgmerge -N -U po/es.po po/keys.pot
msgmerge -N -U po/fi.po po/keys.pot
msgmerge -N -U po/fr.po po/keys.pot
msgmerge -N -U po/hu.po po/keys.pot
msgmerge -N -U po/it.po po/keys.pot
msgmerge -N -U po/pl.po po/keys.pot
msgmerge -N -U po/ro.po po/keys.pot
msgmerge -N -U po/ru.po po/keys.pot
msgmerge -N -U po/sk.po po/keys.pot
rm po/*~
rm po/keys.pot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.