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

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

(2018/6/16更新)この記事のコメント欄で、プログラムの修正に関するやりとりがあり、
        「 ​エクセル プログラミング講座​

         を開催するきっかけとなりました。

もうすでにご存じの方も多いと思いますが、
僕は 「エクセル」で動く野球ゲーム を作って
公開しています。

画面写真


野球ゲーム配布サイトの 掲示板 も全然見ていませんでした。

今日、ゲームを代わりにバージョンアップしてくださったという
奇特な方からメールがあり、
うれしくなってサイトを久々に覗いてみました。
全然書き込みがなかった掲示板に、2件の投稿が!

こうやって、過去に作ったものについて
コメントがもらえるのは、うれしいかぎりです。
ましてや、プログラムをいじって改良してもらえるなんて・・・。

作者が言うのも何ですが、
いろいろ想像力を働かせて設定を変えたり作戦を変えたりできるので
なかなかおもしろいと思っています。

もしご存じなかった方はぜひ見てみてください。

そして、おもしろいと思われたら、宣伝してやってください。大笑い

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







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

Last updated  2018.06.16 21:03:03
コメント(13) | コメントを書く


■コメント

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


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


Re:にかとまは、実は野球ゲームを作っています(06/25)  
にかとまファン さん
にかとま様
いつもダイナミックベースボールで楽しんでいます‼︎
こどもの頃、トランプを使って野球ゲームをしていました。
例えば絵札を引いたらホームランみたいなかんじで、、、

エクセルを元に野球ゲームのプログラムができるとは
とても驚くと同時に感謝しています
私はエクセル初心者ですが、教えてください
以前の7回制にするには、標準モジュールのどこを
変更すればよいのでしょうか?
よろしくお願いします。
(2018.05.01 08:10:20)

Re[1]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとま さん
にかとまファンさんへ

ご連絡ありがとうございます。
久しぶりに自分で「ダイナミックベースボール」をさわってみました。懐かしかったです。(笑)

なぜかホームページにアクセスできなくなっていて、ショックです。この機会に、Vectorのダウンロードページにおいて、ジャンルを「シミュレーション」に変更し、Windows10への対応記述も追加しました。また、7回制変更プログラムも追加申請しました。そのうち反映されると思います。

なお、マクロを直接さわるやり方も以下に書きます。

1. Module1のDeclarationsから、changeを選択。
2. If N >= と書いてある2カ所の、続く数字を4減らす

すると、以下のような記述になるはずです。

If N >= 12 And N Mod 2 = 0 And Range("Q2") < Range("Q3") Then
PN2 = PN2 + 1
Call SeisekiP(Range("O6"), 22)
'7回裏の攻撃を待たずに後攻が勝った場合、Y=2をWinningに引渡し。
Y = 2
Winning

Exit Sub

ElseIf N >= 13 And N Mod 2 = 1 And Range("Q2") <> Range("Q3") Then
PN1 = PN1 + 1
Call SeisekiP(Range("O6"), 22)
If Range("Q2") > Range("Q3") Then
Y = 1
Winning

Exit Sub

よろしくお願いします。(^0^) (2018.05.03 07:00:46)

Re[2]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとまファン さん
にかとま様

詳しい説明ありがとうございました。

マクロを直接さわってみました。

Module1のDeclarationsから、changeを変更して、7回制へ変更できました!

ただ、7回裏の攻撃中にサヨナラ勝ちの場合に終了せず、8回の攻撃になってしまいました。どうすればサヨナラ勝ちにできますか。

よろしくお願いします。 (2018.05.25 17:34:33)

Re[3]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとま  さん
にかとまファンさんへ

またまた書き込みありがとうございます!
そして、不具合見つけてくださって、ありがとうございます!

確かに、サヨナラの処理が必要ですね。

サヨナラの処理は、以下の場所です。

▼標準モジュール Module1 → Sub ScoreIn()

~~~~~~~~~~~~~~~~~~~~~~~~
'サヨナラの処理
If Range("O3") <> "" And Range("Q3") > Range("Q2") Then
Call SeisekiP(Range("O6"), 22)
Y = 3 'Y=3でwinningを処理
~~~~~~~~~~~~~~~~~~~~~~~~

Range("O3") のところを、7回裏のスコア表示セルである

Range("M3") に変更してください。

よろしくお願いします!!(^0^) (2018.05.26 16:20:49)

Re[4]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとまファン さん
にかとま様

サヨナラの処理もクリアでき、楽しく野球ゲームをしています!
ありがとうございました。

最後にもう一つお願いします。
セーフティバントをした打者がアウトになった場合に
打数が2増えてしまいます。
どうすれば、打数1になりますか。

よろしくお願いします。
(2018.05.28 09:51:30)

Re[5]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとま  さん
にかとまファンさんへ

いつもご意見いただき、ありがとうございます。

見られなくなっていたベクターの専用サイト、本日付けで復活しました。7回制変更プログラムも載せています。
hp.vector.co.jp/authors/VA029485/
これもブログにご意見いただいたおかげと、大変感謝しております。

重ねて、バグ報告もいただき、ありがとうございます。
こちらは調査して修正しますので、しばらくお時間いただけますか?

ベクターの一般ダウンロードページの動作環境もWin10を含めたものに修正しています。公開してからずいぶんになりますが、いまだにコメント・評価が0なので、もしよろしければ、コメントをこちらにも書いていただけると大変うれしいです。
www.vector.co.jp/soft/win95/game/se223081.html (2018.05.29 20:42:08)

セーフティバントの打数処理の修正方法  
にかとま  さん
にかとまファンさんへ

にかとまです。

ベクターの専用サイトに★★★★★の評価とコメントをいただきまして、誠にありがとうございます。うれしいです!

この機会に、「ダイナミック・ベースボール」をオープンソースのエクセルプログラミング教材として正式に公開しようと思います。バージョン3.2としてまた近々バージョンアップをしますね。
プログラム自体は、今回ご指摘いただいたエラー修正のみになると思いますが。(^^)

エラーは突き止めましたので、例によってプログラム直接触っていただける場合は、次の箇所を削除ください。

場所> 標準モジュール3 の 「バント」のところ

    記述をず~っと下に行くと、以下の箇所があります。

~~~~~~~~~~~~~~~~~~~~~~~~
MsgBox ("なんとセーフティバント~!!"), , "バント!"
Dice2 = 3 'セーフティバントかどうかの判断で使用
Call SeisekiB(Range("H6"), 22)
~~~~~~~~~~~~~~~~~~~~~~~~

この中の、

Call SeisekiB(Range("H6"), 22)

というのを、消してください。

この意味は、打数を1増やす、というものです。

後の結果処理で打数を増やしていたのに、最初の段階でも打数を増やしていたので、二重処理になっていました。
誠に申し訳ありません。

今後とも、よろしくお願いします! (2018.06.03 18:10:25)

Re:  
にかとまファン さん
にかとまさんへ

セーフティバントの打数処理の修正方法も教えていただき、
ありがとうございました!

あと一つ教えてください。
サヨナラ勝ちの場合ですが、ホームランの時はその打者に打点と安打がカウントされますが、サヨナラヒットの時には、打者に打点、打数、安打が反映されません。
よろしくお願いします。
(2018.06.12 08:54:31)

Re[1]:(06/25)  
にかとま  さん
にかとまファンさんへ

またまた情報提供、ありがとうございます。

プログラム見てみましたが、
今度のは今までで一番修正が難しい。(^^;)

おそらく・・・
ホームランの時は、例えば
  Call SeisekiB(Range("H6"), 16)
Call SeisekiP(Range("O6"), 20)
ScoreIn
のように、成績反映 が、ScoreIn(得点処理)より先になっているのに比べて、他のケースが逆になっているからだと思います。

場所は標準モジュールの「飛球判定」です。

作業としては、プログラムコード表示画面において、Ctrlキーを押しながらFキーを押して「検索」画面を表示し、「ScoreIn」を検索して、怪しいところの順番を変える、ということになります。

ちょっとお時間くださいませ。 (2018.06.16 12:43:09)

Re[2]:(06/25)  
にかとま  さん
【サヨナラヒットの時には、打者に打点、打数、安打が反映されません】への対応、
とりあえず、途中経過です。

以下のところで、成績反映とScoreInの順序を入れ替えました。
そちらでも同じことをすれば、とりあえず打点が入るようになります。

下のプログラムが【修正後】になります。

原理ですが、
Call SeisekiB(Range("H6"), 16)
というのが、打点の反映を示しています。

サヨナラの表示の前に打点を反映させておかないと、
サヨナラの瞬間、ゲームが終わってしまいますので、
反映されない模様です。

【Module1】
====================
MsgBox "犠牲フライになりました。" & Chr(13) _
& "3塁ランナー、ホームイン!" & Chr(13) _
& "1点が入ります。", , "得点!"
Score1 = Score1 + 1: R3 = 0
Range("N10:N11").Value = "" '3塁走者消す

Call SeisekiB(Range("H6"), 16)
Call SeisekiP(Range("O6"), 20)
Call ScoreIn

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

【ModuleRunner】
===================
Sub 走者判定3B()
If R3 > 0 Then
(略)
MsgBox ("3塁ランナーホームイン!"), , "セーフ!"
Score1 = Score1 + 1: R3 = 0
Range("N10:N11").Value = "" '3塁走者

Call SeisekiB(Range("H6"), 16)
Call SeisekiP(Range("O6"), 20)
Call ScoreIn

End If

If R2 > 0 Then
(略)
MsgBox ("2塁ランナーホームイン!"), , "セーフ!"
Score1 = Score1 + 1: R2 = 0
Range("O9:O10").Value = "" '2塁走者

Call SeisekiB(Range("H6"), 16)
Call SeisekiP(Range("O6"), 20)
Call ScoreIn

End If

If R1 > 0 Then
(略)
MsgBox ("セーフ! 1塁ランナーホームイン!"), , "セーフ!"
Score1 = Score1 + 1: R1 = 0
Range("P10:P11").Value = "" '1塁走者消す

Call SeisekiB(Range("H6"), 16)
Call SeisekiP(Range("O6"), 20)
Call ScoreIn

End If
===================

↑上と同様の順序の入れ替えを、
  Sub 走者判定2B()
  Sub 走者判定HIT()
でも行います。

ところが・・・
打数と安打数のカウントが今の仕様だとサヨナラで途中終了する場所と完全に離れているので、打数と安打数がカウントできない模様です・・・。

長々と書きましたが、これだと完全にエラー修正できていません。

これは、長くかかりそうです・・・。

私がこのゲームを作ったのがもうずいぶん前でプログラムの構造をわりと忘れているということもあり、「どうやったかいな~」と思い出すところからやらないといけません。

ちょうど次の水曜日から、DBのプログラムを解説する講座をこのブログで実施予定ですので、講座で私自身もプログラムの内容を振り返りながら、時間をかけて修正していきますね。
お待たせして申し訳ありませんが、気長にお待ちいただければ幸いです。 (2018.06.16 20:52:42)

Re:  
にかとまファン さん
解説ありがとうございます///
かなり難しい処理になりそうですね(^_^;)
気長に待っています(笑)
それまでは、サヨナラ打の場合には、試合後に打数と安打をチームデータに1増やして対応していきます。
これからもよろしくお願いしますm(._.)m
(2018.06.18 07:30:39)

Re[11]:にかとまは、実は野球ゲームを作っています(06/25)  
にかとま さん
にかとまファンさんへ

ありがとうございます。
末永く、よろしくお願いします。

にかとま (2018.06.18 20:25:23)

Re[1]:(06/25)  
にかとま  さん
にかとまファンさんへ

大変長らくお待たせしました。

サヨナラ時に打者成績が反映されないバグを解決しました。

その経緯は、最近毎週書いていた連載記事にありますが、
紆余曲折と右往左往を経て、先ほどVectorに最新版を申請しました。
また、この機会に「7回制」を「DB_main7kaisei.xls」という名前のままでチームデータを読み込んで起動できるようにしました。これにより、お好みで7回制でやったり9回制でやったり、好きな起動ファイルを選べるようになりました。

今後とも、よろしくお願いします。(^0^) (2018.09.12 21:40:39)

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

PR

Profile

にかとま

にかとま

Keyword Search

▼キーワード検索

Calendar

Archives

2024.11

© Rakuten Group, Inc.

Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: