見出し画像

Chapter8 じゃんけんゲームを作る

コロナ自粛により人と会うことが減っているわけですが、人と会えなくて何が辛いかって言うと、そうですね、『じゃんけん』が出来ないことですね。

そんな『じゃんけん』が出来なくて辛いという方々のために、今日は自宅でパソコンさえあれば作れる『一人用じゃんけんゲーム』の作り方をご紹介していこうと思う。

まずはご自宅のパソコンに『Microsoft Visual Studio』をインストールしてください。

画像1

無料ダウンロードが完了し、インストールをする際には、必要な機能だけを選んでインストールすることも出来るが、パソコンの容量が許すのであれば全てインストールしておいた方が後々楽だと思う。

では、早速作っていきましょう。


画像2

まずは新しいプロジェクトを『Windous デスクトップ ウィザード』で作成します。


画像3

プロジェクト名を半角文字で入力し、場所は、今後その場所から動かさないことを前提に決めてください。

そのほかは画面の通りでいいです。


画像4

プロジェクトが作成されるとこのような画面(バージョンによって若干異なる)になると思うのでソースファイルの上で右クリックし、追加->新しい項目を選択してください。


画像5

C++ファイルを選択し、名前を半角文字で付けて追加ボタンもしくはエンターキーを押してください。


画像6

この白い画面にこれからコードを書いていきます。


画像8

まず書いてほしいのが『 #include <stdio.h>』というもの

『#include』は加えるという意味、『<stdio.h>』は分かりやすく言うと『入力と出力に関するスタンダードなテンプレート素材』のことである。

今回使う『printf』関数や『scanf_s』関数も、この『<stdio.h>』内で用意された素材にあたるため、『 #include <stdio.h>』の記述がないと扱えない。


画像8

次に書いてほしいのがこちら。

まず『int main(void)』だが、これはmain関数と呼ばれるもので、プログラムが実行された際には、原則この関数内の先頭から処理が行われていくことになる。

そして、その関数の範囲を決めるのが『{』と『}』である。

この画像の場合、『return 0;』という記述は『int main(void)』の関数内にあるということになる。

return 0;』は0を返すという意味で、main関数内においては『return 0;』はプログラムの正常終了を意味する。

ここまでの6行が、C言語プログラムにおける最小のコード、いわばひな型である。

では、ここから『じゃんけんゲーム』コードを追加していく。


画像9

じゃんけんゲームには『自分の手』と『相手の手』が必要になる。今回は『プレイヤーの手:int MyHand』と『敵の手:int EnemysHand』を用意した。

この二つは『変数』と呼ばれるもので、『値を入れるための箱』と認識しておくと分かりやすいかもしれない。

箱を作る際には『箱の型』と『箱の名前』を決めなければならないというルールがあり、今回であれば『int』が型で、『MyHand』と『EnemysHand』が名前になる。

箱の名前』は作り手が分かりやすい名前を自由につければ良いのだが、『箱の型』に関しては既存の型名を用途に合わせて使い分けることになる。

今回使う『int』は、整数の値専用の箱で、他にも小数を格納出来る『double』、文字を格納出来る『char』などがあり、プログラム組む際にはこれらを用途に合わせて使い分けていくことになる。

続いて『//』から始まる文についてだが、この文章はコードではない。

これは、記述したプログラムを後から見返したときに自分が分かりやすいようにするためのメモ書きで、『//』を文章の頭につけることにより、その場所からその行の終わりまでをコードとして認識されないようにすることが出来る。

メモ書きの内容についてだが、コンピューターには日本語の「グー」や「チョキ」や「パー」という言葉は通じないものの、変数の中に入っている数字の違いによって処理を変えるということが出来る。

なので、ここでは『1』を「グー」とし、『2』を「チョキ」、『3』を「パー」と勝手に定義付けることにし、自分が忘れないようにメモとして残したわけだ。


画像10

続いて、文字の出力と入力についてだ。

一番最初に記述した『 #include <stdio.h>』がここになって効いてくる。

まずは、出力から。文字を画面上に出力させるには<stdio.h>付属の『printf』という関数を使う。

書き方は『printf("表示させたい文章¥n");』で、『¥n』というのは改行を意味する。改行したくない場合は書かなくてもいい。

ちなみにだが、それぞれのコードの末尾には『 ; 』を打つ必要がある。これが無いと前後にある違うコードが区別されず、エラーになってしまうので注意が必要である。

次に、入力についてだが、文字や数字をプレイヤーに入力させるにはこちらも<stdio.h>付属の『scanf_s』という関数を使う。

書き方は『scanf_s("%d",&変数);』。

まず『%d』というのは『整数の値』であることを指定するもので、小数を指定する場合なら『%f』、文字を指定する場合なら『%c』というように『%』の後は何を入力させるかによって異なる。

続いて『&変数』の意味だが、単純に言うと『入力された値を保存する場所の指定』である。

今回の場合、総合すると『整数を保存できるMyHandという名の変数に、入力された整数の値を保存する』という動作が行われる。

ちなみに、動作画面は下のようになる。

画像11


次回は、入力した値に応じて処理を分岐させるということをやってみようと思う。

ということで、日付も変わってしまったことなので今回はこれにて。

ご閲覧ありがとうございました。


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?