Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/komoto388/reversi

「Reversi : リバーシ」 はシンプルなリバーシのボードゲームです。
https://github.com/komoto388/reversi

cui gui java javafx reversi reversi-game

Last synced: about 8 hours ago
JSON representation

「Reversi : リバーシ」 はシンプルなリバーシのボードゲームです。

Awesome Lists containing this project

README

        

# ![icon](https://github.com/komoto388/reversi/assets/146818126/5fd5aafb-2417-4c24-9b9e-0b33c548781b) Reversi : リバーシ

**「Reversi : リバーシ」** はシンプルなリバーシです。

# 動作イメージ

# 特徴

* CUI と GUI の両方で動作します
* 人間 vs 人間、人間 vs COM、COM vs COM の対戦が可能です
* 棋譜を表示できます
* 対戦中の石の数の推移を、結果画面でグラフィカルに確認できます

# 要件

「Windows 11 22H2」での動作することを確認しています。(他のOSでの動作は未検証です)

本プログラムのプログラミング言語は Java を使用しています。
また、GUIフレームワークは JavaFX を使用しています。

* JDK 21
* Java FX 21

# 全体の状態遷移図

以下のように状態遷移します。

```mermaid
stateDiagram-v2
[*] --> PlayerSelect
PlayerSelect --> Reversi: Enter player setting
State Reversi {
state if_skip <>
state if_manual <>
state if_judege <>

[*] --> PLAY
PLAY --> if_skip
if_skip --> SKIP:Skip
SKIP --> JUDGE
if_skip --> if_manual:No Skip
if_manual --> PLAY_MANUAL:Manual
if_manual --> PLAY_COM:COM
PLAY_MANUAL --> JUDGE:put
PLAY_MANUAL --> SKIP:skip
PLAY_COM --> JUDGE:put
PLAY_COM --> SKIP:skip
JUDGE --> if_judege
if_judege --> PLAY:Not Finish
if_judege --> FINISH:Finish
FINISH --> [*]
}
Reversi --> Result
state Result {
DetailResult
Record
Graph
}
Result --> [*]
```

スキップ処理は原則、システム側で自動的に石を置く場所がないか探索し、場所がない場合のみ SKIP 状態になります。
ただし、プレイヤー側が正しく算出できなかった場合のために、プレイヤーから SKIP に遷移することもあります。

# 開発者情報

* komoto

# License

* [MIT license](https://en.wikipedia.org/wiki/MIT_License)