Skip to content

kazu-hide/TicTacToe_w_C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TicTacToe Game

1. Introduction

1.1 これは何?

以前、Python で作成したコンソールで動作する五目並べを C 言語で書き直してみたものです。 以前作成したもの

1.2 目的

C 言語は、多くのプログラミング言語の基盤となっています。 C 言語を実際に書いてみることでメモリやポインタなどを意識して理解することが目的でした。

2. 遊び方

コンソールで動作する 9x9 のマスでの五目並べです。 ./Game ファイルを実行することでゲームが始まります。

  • 先手は黒 (X) からです。
  • ゲームモードとして、プレイヤー vs プレイヤー、プレイヤー vsCPU, CPU vs CPU の 3 つを用意しています。
  • 手番になったら、石を置くマス目を打ち込んでください。(例: 5, 5)
  • 先に5目並べた方が勝ちです。
  • 黒だけは、禁じ手(三三、四四、長連) があります。禁じ手は打つ事ができないため、赤の印で表示されます。 禁じ手の定義については、結構ややこしいので、興味がある方はネットで調べてみてください。

プレイイメージ

プレイイメージ

3.その他

コンパイルコマンド一覧

make clean
// srcファイルの *.o ファイルを消去

make all
// コンパイル

make test
// ユニットテストコンパイル & 実行

以下学んだことのメモ。

  • Makefile はコンパイルコマンドを自動化するためのもの。また実際のコンパイル動作を記述するファイル。

  • C 言語はコンパイルしてから実行する。 コンパイルの流れ

ソースコード(.c) -> オブジェクトファイル(.o) -> 実行ファイル
  • const の意味 例えば、文字列を扱うとき、
char *str = "abc";

とかくと、str は書き換えが可能な、配列のポインタとなる。 これは、意図しない書き換えをしてしまう可能性がある。

const char *str = "abc"

とかくと、読み取り専用となり、書き換えができなくなる。

メモリ

  • スタックメモリは、関数のスコープが終了すると自動的に解放される。
  • ヒープメモリに malloc, realloc などで動的メモリを割り当てた場合は解放が必要。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors