Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/venil7/reason-chess
chess library in reason for cross platform game dev
https://github.com/venil7/reason-chess
alpha-beta-pruning chess-engine game-development game-engine minimax ocaml reasonml
Last synced: 3 months ago
JSON representation
chess library in reason for cross platform game dev
- Host: GitHub
- URL: https://github.com/venil7/reason-chess
- Owner: venil7
- Created: 2018-02-24T15:36:06.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-30T13:55:49.000Z (almost 7 years ago)
- Last Synced: 2024-09-29T18:05:09.252Z (3 months ago)
- Topics: alpha-beta-pruning, chess-engine, game-development, game-engine, minimax, ocaml, reasonml
- Language: OCaml
- Homepage: http://darkruby.co.uk/reason-chess/
- Size: 1020 KB
- Stars: 23
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# reason-chess
## Build
[![Build Status](https://travis-ci.org/venil7/reason-chess.svg?branch=master)](https://travis-ci.org/venil7/reason-chess)`reason-chess` is a chess engine for `ReasonML`. Use it for game development, chess analysis tools, etc in the browser, nodejs, native or in the mobile application. Engine features include:
- minimax algorithm with variable depth tree evaluation
- alphabeta pruning for faster evaluation
- hints for possible moves
- switching sides
- full move history
- full capture history
- time travel and undo
- almost 100% unit test converageBrowse [Example source](./example/) or try it in the [browser](http://darkruby.co.uk/reason-chess/)
*example gameplay*
![chess-gameplay](https://user-images.githubusercontent.com/508022/38139938-8d1b91ec-3429-11e8-8959-f3159714ea11.gif)
## build locally
```
npm run build
```## Install
```
npm install reason-chess --save
```
### Update `bsconfig.json`
```
...
"bs-dependencies": [
"reason-chess"
]
...
```## Run [Example](./example/)
```
cd example
npm install
npm start
```## Run Tests
```
npm run test
```