|
EXAM DRILL 1.0
|
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
ライフゲーム・シミュレーターのエントリポイント
parse_arguments() を呼び出し、実行に必要なパラメータを取得する。current_board_obj と next_board_obj の2つを生成する。 initialize_board_from_input() を呼び出し、ユーザー入力から初期盤面を作成する。simulate_life_obj() を実行し、指定世代数後の状態を計算する。print_board_obj() で表示する。| argc | コマンドライン引数の個数 |
| argv | コマンドライン引数の配列 |
| int parse_arguments | ( | int | argc, |
| char * | argv[], | ||
| int * | width, | ||
| int * | height, | ||
| int * | iterations | ||
| ) |
| Board * create_board_obj | ( | int | width, |
| int | height | ||
| ) |
| void free_board_obj | ( | Board * | board_obj | ) |
ライフゲームのルールに基づき、次世代の盤を計算する
iterations 回数だけ以下の処理を繰り返す。count_live_neighbors_obj() を使って判定する。next_board に書き込む。next_board の内容を current_board にコピーする。copy_board_obj()| [in,out] | current_board | 現在の世代(処理後、次世代に書き換わる) |
| [in] | next_board | 作業用のバッファ盤 |
| [in] | iterations | シミュレーションを回す世代数 |
|
static |