カテゴリ:エクセルでのプログラミング
【Excelプログラミング講座】第8回です。
この講座では、エクセル野球シミュレーション「ダイナミックベースボール」のプログラム実物を材料として、エクセルVBAでのプログラミングを初心者向けに解説していきます。 ▼ダイナミック・ベースボールのページ 過去記事をまとめたサイト↓ ▼エクセルプログラミング講座 前回は、バッターがボールを打った後の飛球判定プログラムを見ながら、 「もし~なら の連発で わけが分からなくなっていく」という話をしました。 日常会話で考えても、そうですね。 「もし君がイワシ好きならば、もし大阪に行って、もしイワシが売っているのを見たら、もしそのイワシの値段が200円未満なら、そのイワシを買いなさい。もしイワシが200円以上なら、もしタイが500円未満なら、タイを買いなさい。もし~~」 こんな会話するやつはいない。 こんな会話はいやだ。(^^;) しかし、プログラムというやつは、すべての状況を想定して、「この場合はこうしなさい」と言っておかないと、エラーになって止まってしまうのです。だから、「もし」の話をしだすと、「そうでない場合」も言っておかないといけないので、必然的に長くなってしまうのです。 ただ、そういったことがとめどなく書いてあるプログラムを順番に見ていくのは、本当にいやになります。 そこで今回は、「それってつまり、シンプルに言うと、どういうこと?」というのを掘り下げたいと思います。 前回、大学時代に書いたプログラミングのノートをお見せしました。 これもまた、分かりにくいねえ、という話をしました。 ただ、1カ所、「ここは分かりやすい」というところを見つけました。 どこだか、分かりますか? はい、この部分です。 これは、今は小6で習うことになっている「場合の数」をすべて書き出した表です。 ダイス2個を振って出た組み合わせと、それによって導き出される結果(例えば「本」は「本塁打」、「O」はアウト)というのが、一目瞭然です。 こういうのは、分かりやすいですね。 プログラムを組む際のメモとしては、こういう表などを書いて、「場合の数」を「見れば分かる」状態にしておくといいです。 手元にその表があれば、プログラムがそのすべての場合に対応しているか調べていく際にも、便利です。 ランダム変数というのはいくらでも作れるわけですが、ゲーム作りの初心者のうちは、ダイスで再現可能な1~6の整数値を使うのがおすすめ。 エクセルVBAでは、僕は「Dice1 = Int(6 * Rnd) + 1」と書いていましたね。 ランダム変数についての詳しいことは、例によって他の方が詳しく書かれたサイトに勉強しに行ってください。 ▼Excel VBAで範囲を指定して乱数を生成する:Rnd,Int 上のサイト様では、最後に「今夜の夕食をランダムに選ぶプログラム」を作っています。こんなふうに、ランダム変数を使ったごく簡単なプログラムを作ると、それだけでも、けっこう面白いです。 【今日のまとめ】 いろんな場合の結果を想定しないといけないときは 一目瞭然な表を作る 全部の場合の数を書き出して、想定の抜けがないかチェックするのはとっても大事です。 僕は「場合の数」や「確率・統計」はとっても好きでしたが、こういった方面の勉強は、エクセルVBAでプログラムを組む際に、とっても役に立ちます。しっかり勉強しておきましょう。(^0^) さて、毎週水曜21時に公開しているこの連載記事ですが、8/15はお盆休みをいただきます。 次回の公開は、8/22(水)になります。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2018年08月08日 21時00分15秒
コメント(0) | コメントを書く
[エクセルでのプログラミング] カテゴリの最新記事
|
|