はじめに
このコードは私が大学にて学びながら制作したものになります。この記事ではソースコードの話ではなくではなく大まかな仕様について説明します。
実行環境・動作環境の構築
使用しているパソコン
Apple 16インチMacBook Pro(オプションなしの初期スペックです。)
実行時のOS
macOS Big Sur バージョン11.1(無闇にアップデートしない方がいいです。最新のバージョンでは動作しなくなったりすることがたまにがあります。)
コンパイルまでに行ったこと(macの場合)
・Xcodeのインストール(コンパイラー)
・Virtual Studio Codeの(エディター)
・C言語拡張機能のインストール
・日本語パックのインストール
・XQuartzのインストール(X Window Systemのインストール)
・macOS Big Surの初期の頃ににX Window Systemがはいっていなかったのでインストールする必要がありました。
・加えてMacとLinuxでOSが異なるのでインストール方法も異なります。Linuxの方は下記のEGGXソースパッケージのインストール方法に記載されています。
・X Window Systemとは何ぞやと思われた方はこちらの方の記事を見ると理解しやすいと思います。
・EGGXソースパッケージのインストール
・これはオセロの盤面の描写に必要ライブラリになります。
・インストールの方法は上記のリンクより確認ください。
結論としてはコンパイラーなどは他にも様々ありますので個々の環境構築を行ってください。C言語の動作環境とEGGXをコンパイルできるとこまでできれば私のオセロゲームは動作します。
物理処理と論理処理
このオセロゲームのコードの内の関数は物理処理と論理処理を行う関数に分けられています。物理処理は盤面や石の描写などを行っています。
処理によって関数を分けているのはEGGXのライブラリ以外で描写を行ったときに書き換えを簡単に行えるようにするためです。
動作例
マスのひとつひとつに00から始まり77までの数が割り振られています。石を置く場合はそのマスごとの数字を入力することで石を置くことができます。また、石を置くことができるマスにのみ石を置くことができます。
最初の盤面ではこのような感じになります。
石を置けるマスがなくなったら上記のような表示が出ます。
ターンが交代します。
勝敗について
【通常の終了処理】
【盤面を埋めずに相手を詰ませる】
【引き分け】
具体的なソースコード
具体的なソースコードを知りたい方はこちらから