Cを使った簡単なゲームの考え方の解説

大学の課題で じゃんけんゲーム、数あてゲーム、敵基地を爆撃するゲーム
制作の課題がでました
そしてなぜか習った文法や関数しか使ってはだめらしいw
ってわけでfor文は使えませんでした



まずは各ゲームごとの考え方の説明をします
説明後にwhileループの考え方、適切でない値の場合再度入力を促す仕方を解説します



じゃんけんゲーム


内容
・コンピュータとじゃんけん10回する


考え方
・グー チョキ パー を0 1 2 と置く
・乱数を取得し敵の変数に代入(srand,rand関数)
・プレイヤーに入力を促す(scanf関数)
・ifを使い 勝ったとき、負けたとき、あいこのときを考える
・ifの中では論理演算子をつかいます(&&や||の使い方に注意)
・結果ごとに結果を出力
  ・規定回数処理を繰り返したい場合はwhileをつかう(forが使えないので)※やり方は下記記述


数あてゲーム


内容
・1~99までの中でパソコン内できまった数をあてる
・1~99以外の値が入力された場合再度入力を促す
・大きい場合はBig 小さい場合はsmallが表示される


考え方
・乱数を取得し初期値を設定(srand、rand関数)
・ループへ入り 入力した値 = 取得した乱数 になるまでループ※やり方は下記(ry
・入力を促す(scanf関数)
・入力した値と取得した乱数を比較(if文)
・大きい場合は Big と表示(printf関数)
・小さい場合は smallと表示(printf関数)
・入力した値 = 取得した乱数 ならループを抜ける(break)
・ループを抜けた後に BINGO! など表示させ終了



敵基地を爆撃するゲーム


内容
・9×9ます内の敵基地を爆撃
・2ターン3回 計6回の爆撃
・直撃 または 周辺8ますに3回攻撃で勝利


考え方
・敵基地座標の初期化(srand、rand関数)
・無限ループに入り入力された値がすべて0~9の場合のみループから抜ける
・直撃、周辺ごとに判定を行う
・判定終了後結果を出力(swich文等)


whileでの規定回数処理を行う考え方

while(turn < 規定回数 ){

処理

turn++;
}
こうすれば規定回数に整数を入れれば行いたい分だけ処理を行うことができる