C言語で指スマゲームをつくる

プログラミングの環境構築をしたらなにか作ってみたくなりますよね。
ということで今回は指スマをコンピュータと対戦するプログラムを作ります!

必要な知識は以下です

  1. printf関数
  2. scanf関数
  3. 四則演算
  4. 変数
  5. if文,if~else文
  6. while文
  7. rand関数

これらすべてを完全に理解していなくても大丈夫です!
プログラミングとはコピペして、知らないところについて調べ、知識を高めていくものです(私はそう思っています。)

アルゴリズム

コードを公開する前に、指スマのアルゴリズムを考えていきます。
アルゴリズムとはどうやってその問題を解くかの手順です。

  1. 自分と相手で親指を2本ずつだす
  2. 「指スマ…」の掛け声のあとに、全体が何本上がるかを予想して、宣言する
  3. 2と同時に自分が何本上げるかを決める
  4. 自分が宣言した値と全体の数が同じなら、自分の手を1つ下げる
  5. 違うなら何もしないで相手のターン

簡単に考えるとこんな感じですね!
その中に全体の指の数から宣言出来る数の最大値が決まっていたりします。

指スマプログラム

以下が私が書いたコードです。
コードを展開する前に自分でプログラミングしてみても良いかもしれません!

結果

〜一部省略〜

おわりに

今回はなるべく少ない知識で作れるように、main関数のみで作成しました。他の関数をつくることで、指定人数で指スマを行うということもできそうです!
また指スマプログラムは今回紹介したものが完全な正解ではないので、より短く、簡潔に処理できるプログラムを書いてみてください!