/Reversister

リバーシ(オセロ)のライブラリ。C#製。Unityでも使用可。

Primary LanguageC#MIT LicenseMIT

Reversister

English (by Google Translate)

リバーシ(オセロ)のライブラリ。
C#製。.Net Core 3.1
Unityでも使用可能。

利用可能なクラス、関数は Documents をご覧ください。

開発環境

Visual Studio 2019 Version 16.75
.Net Core 3.1

Unity 2019.4.10f1

Installation

Release ページからDLLとUnityPackageをダウンロード出来ます。
もしくはソースコードをご利用下さい。

Unity

UnityPackageを用意しています。ImportAssetしてご利用下さい。
サンプルシーンも含まれています。

C# Project

DLLを参照に追加してご利用下さい。
.Net Core 3 を対象としています。

その他の環境の場合はソースコードをご利用下さい。

License

MIT
(個人利用、商用利用問わずご自由にお使い頂けますが、必ず著作権表示を行ってください)

Documents

[namespace] HoshihaLab.Reversister

[class] Reversi

リバーシのゲーム管理を行うメインのクラス。

Method Description
Reversi() コンストラクタ。指定のマス数でゲームを初期化する
Flip() 指定座標に石を置く
Pass() 現在の手番をパスする
GetGameState() 現在のゲームステートを取得する
CheckEnd() ゲーム終了かどうかを取得する
GetCell() 指定座標のマスを取得する
CountCell() 指定タイプのマス数を取得する
CountFlip() 指定タイプの石を置ける場所を取得する
CountFlipCell 指定座標に置いた場合にめくれる場所を取得する
FindFlipCell 指定座標に置いた場合にめくれる数を取得する
CanFlip 指定座標に指定タイプの石が置けるかどうかを取得する
CanPlay() 指定タイプの石を置く場所があるかどうかを取得する
Reset() ゲーム情報をリセットする

[class] ReversiAIBase

AIを作成する場合のベースクラス。継承して利用する。

Method Description
StartGame() ゲームの初期データを渡す
abstract Calc() 継承先でAIが置く場所を返すように実装して下さい

[class] SimpleReversiAI

ReversiAIBaseを使ったシンプルなAIのサンプル。

Method Description
override Calc() 一番多くめくれる場所を置く場所とする

[enum] GameStateType

ゲームステート

Type Description
BrackTurn 黒の手番
WhiteTurn 白の手番
BrackWin 黒の勝ちでゲーム終了
WhiteWin 白の勝ちでゲーム終了
Draw 引き分けでゲーム終了

[enum] CellType

マスのタイプ

Type Description
None 何も置かれていない
White 白の石が置かれている
Black 黒の石が置かれている