Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/usumerican/zshogi
- Owner: usumerican
- License: gpl-3.0
- Created: 2024-06-15T04:49:10.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-05T11:53:27.000Z (3 months ago)
- Last Synced: 2024-09-29T02:05:37.113Z (about 2 months ago)
- Topics: chess, javascript, shogi, webassembly, zig
- Language: Zig
- Homepage: https://usumerican.github.io/zshogi/
- Size: 574 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 <