Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/usumerican/zshogi

A simple USI shogi engine implemented in Zig
https://github.com/usumerican/zshogi

chess javascript shogi webassembly zig

Last synced: about 1 month ago
JSON representation

A simple USI shogi engine implemented in Zig

Awesome Lists containing this project

README

        

# Z Shogi

A simple USI shogi engine implemented in Zig

## 概要

Z Shogi は、[Zig](https://ziglang.org/) で実装されたシンプルな将棋エンジンです。

USI 対応の将棋 GUI ソフトで利用できる実行可能ファイル、
JavaScript から利用できる WebAssembly 版ライブラリ、
動作確認用の Web アプリを提供しています。

将棋プログラミングについては、[やねうら王](https://github.com/yaneurao/YaneuraOu)を参考にしました。

評価関数については、やねうら王の[NNUE-K-P-256-32-32用評価関数バイナリその2](https://github.com/yaneurao/YaneuraOu/releases/tag/20190212_k-p-256-32-32)を使っています。

## ライブラリの使い方

```
npm install zshogi
```

```js
import { Engine } from 'zshogi';

(async () => {
const engine = await Engine.init();
for (const request of [
'usi',
'setoption name DepthLimit value 5',
'getoption',
'isready',
'usinewgame',
'd',
'go',
'position startpos moves 1g1f',
'd',
'go',
'matsuri',
'd',
'moves',
'checks',
]) {
console.log('> ' + request);
console.log(engine.run(request));
}
})();
```

## 開発

実行可能ファイルのビルドには、Zig が必要です。

```
zig build test
```

```
zig build --release=fast
```

```
./zig-out/bin/zshogi <