GitXplorerGitXplorer
e

jumping_chess

public
1 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
1ff340e1c07737577becb2a96796eac5775287ef

Refactor load logic and first show

eeregon committed 5 years ago
Unverified
1bc8f3acfbc3e794dbc23d30a55bf5dbe7244923

Be nicer to the browser and use the DOM

eeregon committed 5 years ago
Unverified
5f8f12c67dfb4766a41e2f04308f1f44654c78a8

Run turns interactively with WASM

eeregon committed 5 years ago
Unverified
2fa3dd7b1142aefcc600a8d73dbda49d61b430be

Extract the main logic in a method and call it conditionally

eeregon committed 5 years ago
Unverified
728e879ce46976ea8fd471cb06909ad148823080

Use local variables in bin/jumping_chess

eeregon committed 5 years ago
Unverified
0edf28c48cf5f8f612fb19c812703044779c422a

Add needed dependency for newer MRuby

eeregon committed 5 years ago

README

The README file for this repository.

Artificial Intelligence for Jumping Chess

Jumping Chess, from a literal translation of 中國跳棋, also known as Chinese checkers or Dames Chinoises, is an hexagonal board game where pawns get to jump over other pawns, whether they are allies or opponents.

The rules are fairly simple, yet it requires some care for an efficient AI as the branching factor (the number of moves possible from a given state) is rather high.

There are 4 different player strategies:

  • A greedy AI
  • A minimax AI
  • A negamax AI
  • A human player

The search depth is configurable to adjust difficulty.

Usage:
$ bin/jumping_chess MAX_TURNS DEPTH_PLAYER1 STRATEGY_PLAYER1 STRATEGY_PLAYER2 DEPTH_PLAYER2
Such as
$ bin/jumping_chess 50 1 human negamax 3

The game is automatically saved under log/, and can be resumed by passing the log file as the first argument.