第30回 じゃんけんプログラム作り⑥ | モカ先生のプログラミング講座&鬼のパンツをはいた小学生たち

モカ先生のプログラミング講座&鬼のパンツをはいた小学生たち

プログラミング学習は、考え、実行・変換・修正を繰り返しながら、答えを出します。学習の基本姿勢です。このブログは、小学生が取り組むプログラミング講座と、それにチャレンジする子ども達との教室で繰り広げられる思いもかけないエピソードを綴ったブログです。

 最後の項目 ランダム関数

 

 今日は、自分と対戦相手とじゃんけんをします。対戦相手は、どの手を出すかわかりません。どの手を出すかわからない手を作り出すのが、ランダム関数です。今日は、そのランダム関数を学びます。

 

 その前に、今まで学んできた自分の手、対戦相手の手、それを判断するコンピュータに理解させるなどを、まとめると、下の黒板のようになります。

 

 いよいよランダム関数を使います。自分の手を入力すると、対戦相手の手は、何が出てくるかわかりません。ランダムに出すプログラムは下の通りです。

 

 

 このように書きます。srand(time(NULL)); と打つと、手の数字1,2,3を適当にランダムに変えることができます。この中の、time(NULL) は、今の時間を読み込んで、時間を見ながら、数字を変えていくというプログラムです。こうして、対戦相手は、時間ごとに違う手がでるのです。これで、対戦が可能になりました。

 

 

 

 そして、c=rand()%3+1; について、ちょっと難しいですが、説明しますね。「%3」では、3で割った余りを計算します。もし、c=rand( )%3 とした時、余りは0か1か2の3つです。でも、じゃんけんでは、1、2、3の3通りなので、1を足して、c=rand( )%3+1 とします。すると、1か2か3の中から選ばれるようになります。難しいけど、わかりましたか?

 

 

 

 では、今日は、ここまでにしましょう。自分の手、対戦相手の手、それを判断するコンピュータに理解させるなどをまとめてプログラムを作りました。ここに、今学んだランダム関数はまだ入っていません。次回は、この関数を今のプログラムに追加して、じゃんけんプログラムを完成させましょう。

 

 

 

 

前回は、第29回 じゃんけんプログラム作り⑤ でした。

https://ameblo.jp/tobidasutanpopo/entry-12347318031.html

 

 


人気ブログランキング