リバーシのアルゴリズム

リバーシのアルゴリズム4

C++で作成したDOS版リバーシをC#へ移植

見た目はDOSだからまったく変わってないが、内部は.NetFramework4になっている。

std::vector<>はList、もしくはStackへ

ColorStorageはハッシュテーブルへ

ほとんど2次元配列の処理なので、Linqに置き換えれるとこがなかった。

メインの処理群をクラスライブラリにした。=>Reversi.Engin

コンソールはCosoleTestプロジェクトを作成しそこからReversi.Enginを参照。

次はWPFからReversi.Enginを参照し、GUI処理を構築していく。

C++版では、Pointのコンストラクタに文字列指定のコンストラクタを追加し、
文字列→X,Yへ変換失敗したら例外を投げる仕様だった。
これを使う方では、
try
{
Point parse(in);
p = parse;
}catch(invalid_argument e){
cerr << “リバーシ形式の手を入力して下さい!” << endl;
continue;
}
とちょっと冗長になってしまう。
そこで以下のようにした。
var p = Point.GetPoint(input_string);
if (p == null)
{
Console.WriteLine(“リバーシ形式の手を入力して下さい!”);
continue;
}

[download id=”24″]

リバーシのアルゴリズム4 はコメントを受け付けていません