以前、Python で作成したコンソールで動作する五目並べを C 言語で書き直してみたものです。 以前作成したもの
C 言語は、多くのプログラミング言語の基盤となっています。 C 言語を実際に書いてみることでメモリやポインタなどを意識して理解することが目的でした。
コンソールで動作する 9x9 のマスでの五目並べです。 ./Game ファイルを実行することでゲームが始まります。
- 先手は黒 (X) からです。
- ゲームモードとして、プレイヤー vs プレイヤー、プレイヤー vsCPU, CPU vs CPU の 3 つを用意しています。
- 手番になったら、石を置くマス目を打ち込んでください。(例: 5, 5)
- 先に5目並べた方が勝ちです。
- 黒だけは、禁じ手(三三、四四、長連) があります。禁じ手は打つ事ができないため、赤の印で表示されます。 禁じ手の定義については、結構ややこしいので、興味がある方はネットで調べてみてください。
コンパイルコマンド一覧
make clean
// srcファイルの *.o ファイルを消去
make all
// コンパイル
make test
// ユニットテストコンパイル & 実行
-
Makefileはコンパイルコマンドを自動化するためのもの。また実際のコンパイル動作を記述するファイル。 -
C 言語はコンパイルしてから実行する。 コンパイルの流れ
ソースコード(.c) -> オブジェクトファイル(.o) -> 実行ファイル
- const の意味 例えば、文字列を扱うとき、
char *str = "abc";
とかくと、str は書き換えが可能な、配列のポインタとなる。 これは、意図しない書き換えをしてしまう可能性がある。
const char *str = "abc"
とかくと、読み取り専用となり、書き換えができなくなる。
- スタックメモリは、関数のスコープが終了すると自動的に解放される。
- ヒープメモリに
malloc,reallocなどで動的メモリを割り当てた場合は解放が必要。
