きょういく ユースフル! ~ 僕は触媒になりたい ~

全て | カテゴリ未分類 | 生活をよくする | 本の紹介 | 共に生き、共に育つ | たのしいべんきょう | 個人的な日記 | 体育 | 音楽♪ | 道徳 等 | 問題解決 | 考え方 | 話し合い・話す・聞く | 特別支援教育 | 小学校 | 阪神間 地域情報 | PC・デジタル関係 | 教材・教具 | 食育(自立生活・家庭科)・園芸 | 仕事術 | 旅行(温泉含む) | 英語学習 | 環境保護・エコ | 作文・書くこと・漢字 | よのなか(社会) | いのち | 人間関係・コミュニケーション | 子育て | 地震・防災 | 算数 | 心理・カウンセリング・セラピー | 読む・音読・朗読 | エクセルでのプログラミング | 北播丹波 地域情報 | 教員免許 | 教育改革 | 休校期間お役立ち情報 | 映画 等 | 創造性をはぐくむ | プレゼン | 通級 | 健康 | ゲーム
2018.06.27
XML
​​ 【Excelプログラミング講座】第2回です。

この講座では、 エクセル野球シミュレーション「ダイナミックベースボール」 のプログラム実物を材料として、エクセルでのプログラミングを初心者向けに解説していきます。

Dynamic Baseball

ダイナミック・ベースボールのページ


第1回はこちら↓
【Excelプログラミング講座】1 エクセルにマッチするゲームとは


前回は、 「データをたくさん扱うなら、エクセルだよ!」 という話をしました。
はい、そんなことは、当たり前ですね。



今回から、 VBE (Visual Basic Editor)​ を使います。
僕はエクセル画面の最上部から常にアクセスできるように常時表示しています。



プログラムの中身を見るために必要です!
そんなボタン見たことないという人も、なんとかして、出しちゃってください。
出し方は、前回講座の「 どうやって始めるのか​ 」のリンク先などを見てください。

「ダイナミックベースボール」 のゲーム起動後に、エディターを開きますと、
以下の画面が出ます。
これが、ゲームの全体像です。
本で言うと、 目次



・DB_main.xls (ゲーム実行ファイル)
・DB_teamdata.xls (野球選手のデータファイル)
2種類のエクセルファイルがありますが、
プログラムのほとんどは、「DB_main.xls」の方に入っています。

最初に表示されているのは、 ワークシートの一覧


このゲームで何度も遊んだことがある人なら、見慣れていると思います。
まだ遊んでないという人は、 まず遊んでください
ここからの解説は、どんなゲームか分かっていないと、たぶん、分からないことだらけです。
せめて5~6回ぐらいは試合してね。(^^)

続いて、 フォーム の一覧。
エクセル画面上にバーンと出てきて、
「○○しますか?」とか聞いてきたりする、
​看板​ みたいなやつです。



ゲーム起動時に出てくるのが、「 SplashForm 」ですね。
タイトル画面の代わりに出しています。

BatterChange 」というのは、打者交代を指示したときに出てくるウインドウ。

それぞれ、名前をダブルクリックすると、どんなフォームなのか、右に表示されます。

「何度もゲームしているのにこんなフォームは出たことない」というものも、あると思います。

まあ、そういうことは、よくあることです。

プログラムの中身を見ると、出現頻度が極端に低いレアなものとか、実際には使われなかったものとか、使う予定で、眠ったままのものとか、そういうのも、見つかります。
それがプログラムをのぞき見する醍醐味だったりもします。(^^;)
あまりに使われていない期間が長いと、作者ですら、そんなものを作って入れておいたことを忘れてしまいます。
忘れないうちに自動でプログラミングを組んでくれるプログラムがあったらいいのに。(笑)

はい、次に行きます。
次がプログラムの本体です。

標準モジュール 」というやつです。

最初は隠れていますけど、「+」マークをクリックすると開きます。


Module1,2,3,4,5 」というのは、もっと意味のある名前にした方が、後で
「あれ、どこだったかな~」と探し回らなくていいので、いいと思います。
でも、面倒なので、ちゃんとした名前を付けていません。(^^;)
こういう、きちんとした性格かどうかも、プログラミングをのぞき見されると、バレます。
だから、ほんとは、ばらしたくなかった・・・。

ダブルクリックすると、中身が見れます。
右側に、どーん と出ます。



右上のはしっこの「 Declarations 」という表示から、さらにそのModuleの中の、それぞれのプログラムパートに飛べます。「 Declarations 」というのは「 宣言 」という意味です。プログラミングでは、この「宣言」が大切なのです。実際のプログラムの中身を見てみても、「なんかいろいろ宣言してるなー」ということが、分かっていただけるかもしれません。

この 「宣言」がプログラミングのキモ
※「変数宣言」についてのきまりは、例によってほかの詳しいサイトなどをご覧ください。
▼​ ここ ​ とか。(「​ PC独習室:Excel VBA 入門 ​」様 サイト内記事 )

長くなりますが、最初に書いてある変数宣言、一つずつ確認しておきます。
とはいえ、プログラムは英語みたいなプログラミング言語で書いてあるので、どれが何の意味だったか、書いた本人も忘れちゃいます。そのため、日本語でコメントを付加できるようになっています。
' より右側の日本語がそれです。
' をつけるとそれ以降の文字はプログラム実行時には無視されます。便利です。
では、日本語コメントを見て僕も思い出しながら、書いていきます。(^^;)

============================
「ダイナミックベースボール」で使用する主な変数

・Dice1:サイコロその1 が出す、ダイスの目
・Dice2:サイコロその2 が出す、ダイスの目

・OUT: アウトカウント
・BN(0): 先発ピッチャーチーム受け渡し&飛球判定でのセレクト&代打&代走時の一時変数
・BN(1):先攻チーム打順 、 BN(2) :後攻チーム打順

・ R1 : 1塁走者の走力
・ R2 : 2塁走者の走力
・ R3 : 3塁走者の走力
・Score1 :そのイニングの点数

・N :イニング数
・PN1 :先攻側の現在のピッチャーが投げているイニング数
・PN2 :後攻側の現在のピッチャーが投げているイニング数

・S :ストライクカウント

(野球ルール以外の、ダイナミックベースボールだけの特殊仕様)
・M:見切り
・SB :必殺打法かどうか
・SP:必殺投法かどうか

・AR:エンドランかどうか

・X  使いまわし変数:チーム判断、X座標、コンピュータ判断分岐
・Y  使いまわし変数:勝ちパターンの判断、Y座標、守備判定時の乱数

============================

初めて目にする情報が多いと、いやになりますよね。

どんな変数を用意しておかないとゲームプログラミングが回っていかないか、というのは、けっこう大事なことなのですが、初めてゲームを作るときには、「何が必要なのか分からない」というのが、実情だと思います。

そこでおすすめしたいのは、コンピュータに頼らない、アナログのゲームとしてまず成立させて、何度も遊んでみる、ということです。

「ダイナミックベースボール」は最初からコンピュータゲームとしてあったわけではなく、
最初は 紙と鉛筆とサイコロで遊ぶ、アナログなゲームでした。

​​ だいさぶる・ベースボール ​(紙と鉛筆とサイコロで遊ぼう!)

だから、プログラミング初心者の僕でも、コンピュータゲームにできたわけです。

「Dice1」「Dice2」というのは、まんま、サイコロの代わりにランダム変数を使っているというだけのことなんですね。

コンピュータというのは、人がやることを代わりにやってくれるだけのものです。
処理速度が驚異的に速いので、人がやるよりも自動でハイスピードでやってくれるメリットがあるだけです。

だから、プロトタイプ(最初の原型)のゲームは、紙と鉛筆だったり、ジオラマ模型だったり、アナログな、手作りのもので用意するのが、おすすめです。

それで成立していないものは、コンピュータゲームとして成立するわけがありません。
まあ、イメージ力が強ければ、最初からコンピュータで組むことは可能でしょうけど・・・。


【今日のまとめ】 コンピュータゲーム作り成功のカギは・・・

​​ コンピュータに頼らずにまずゲームを成立させること

プログラミングでは変数宣言が重要です。
どんな変数が必要なのかは、アナログで自分の手元で何度もやりながら確かめるのが一番。
プログラミングとはイメージを具体化し、自動化すること。
イメージできていないものは、作れません!​​



長くなったので、今日はここまで!

それではまた次回、来週水曜のこの時間(21時)にお会いしましょう!大笑い
(時間になってもブログ記事が更新されない場合、キーボードの「F5」キーなどを押して、「画面の更新」をしてみてください。)​​





お気に入りの記事を「いいね!」で応援しよう

Last updated  2018.06.27 21:00:16
コメント(0) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Profile

にかとま

にかとま

Keyword Search

▼キーワード検索

Calendar

Archives

2025.11

Favorite Blog

アクセル数 New! 大(だい)さん

Comments


© Rakuten Group, Inc.

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: