まずは、ゲームループを考えてみましょう。
- [ main.cpp ] -----
#include <stdio.h>
int main(){
// isEnd() はゲームが終了しているかを返してくれる関数です。
// ゲームが終了している場合は 0 が返ってきますが、
// まだ終了していない場合は 1 が返ってきます。
while( isEnd() == 1 ){
// draw() は盤面を描画する関数です。
// 戻り値はありません。
draw();
// drawTurn() は現在 黒(1P)の番か白(2P)の番かを表示します。
drawTurn();
// put() はプレイヤーに駒を配置する場所を選択させます。
// 挟んだ駒をひっくり返す処理もここで行います。
// 正常に駒をおけた場合は 0 を返しますが、
// 既に駒が置かれている場所や、挟めない場所に駒を置こうとしたときには 1 を返します。
if( put() == 0 ){
// nextTurn()は黒(1P)と白(2P)の順番を入れ替えます。
nextTurn();
}else{
printf( "そこには置けません\nもう一度選択してください。\n" );
}
}
// result() はゲームの結果を表示します。
result();
return0;
}
-----
このような感じのループ構造を持つプログラムとしてゲームを作っていきましょう。
次回からは実際にこのゲームで使用する draw() や isEnd() といった関数の中身を作っていきましょう。