ExcelでのVisual Basicのプログラミングでモンスターが乱数で攻撃をしてHPを減らすものを作りたいのですがどうすればいいのでしょうか?ちなみにここまで出来ました。
Type Monster
namae as String
kougeki as Integer
bougyo as Integer
HP as Integer
End Type
Dim dragon as Monster, doragon2 as Monster
dragon.namae = "red"
dragon.kougeki = 50
dragon.bougyo = 50
dragon.HP = 100
dragon2.namae = "blue"
dragon2.kougeki = 10
dragon2.bougyo = 10
dragon2.HP = 50
If dragon.kougeki > 50 Then MsgBox "fire"
No.4ベストアンサー
- 回答日時:
誰の補足もないようなのと、適当に作ったにしても計算式があまりに不自然でしたので、修正しました。
でついでに要望のありました戦闘結果も出すようにしましたので、あとはパラメータの調整をするなど、存分に改造してみてください。Randomize ' 乱数初期化
Do
dragon.HP = dragon.HP - dragon2.kougeki * Rnd + dragon.bougyo * Rnd ' ドラゴンへの攻撃
dragon2.HP = dragon2.HP - dragon.kougeki * Rnd + dragon2.bougyo * Rnd ' ドラゴン2への攻撃
MsgBox dragon.HP & " " & dragon2.HP ' 双方の残りHPを表示
Loop While dragon.HP > 0 And dragon2.HP > 0 ' 双方が生きている間はdoに戻って戦いを繰り返す
If dragon.HP > 0 Then ' ドラゴンが生き残っていたら
MsgBox "ドラゴン" & dragon.namae & "が勝ちました"
ElseIf dragon2.HP > 0 Then ' ドラゴン2が生き残っていたら
MsgBox "ドラゴン" & dragon2.namae & "が勝ちました"
Else ' どちらでもなかったら
MsgBox "引き分け"
End If
注釈などの文脈でおおよその流れはわかると思いますから、いろいろ手を加えてプログラムを理解してみてください。
No.3
- 回答日時:
個人的にこういうプログラムは好きなんですが、いかんせんこれでどういう結果を求めているのかはわかりません。
まず、2匹の基本パラメータはあるようですが、このゲーム?はこの2匹が戦うのでしょうか?それともあなたと戦うのでしょうか。また、これらパラメータの用途が何かを(おおよそは想像が付きますが)はっきりさせたほうがいいでしょう。たとえば、kougekiとは通常攻撃の値か最大攻撃の値か、特に最後のif文で50より大きい場合の処理が入ってますが、なぜ50と決めている dragon.kougeki の値が50を超えることがあるのかの説明なしに答えを求めるのは酷というものです。そして一番の問題は、これらの戦闘の結果をどのように表示したいのか。途中経過は表現するのかです。
やはり環境がExcelということで、vbほどの表現が難しいだけに、そのあたりの仕様までははっきりさせないと、どうにもなりません。
あとは私の想像ですが、この後で
Randomize ' 乱数初期化
do
dragon.HP = dragon.HP - (dragon.bougyo * rnd - dragon2.kougeki * rnd) ' ドラゴンへの攻撃
dragon2.HP = dragon2.HP - (dragon2.bougyo * rnd - dragon.kougeki * rnd) ' ドラゴン2への攻撃
msgbox dragon.HP & " " & dragon2.HP ' 双方の残りHPを表示
loop while dragon.HP > 0 and dragon2.HP > 0 ' 双方が生きている間はdoに戻って戦いを繰り返す
と加えることで流れはいいかと思います。(もちろん攻撃の計算式は適当でバランスも取れていませんし、防御が上回って回復してしまう時もあります)
p.s. dim の所の変数名のつづりが間違ってますよ。^^
モンスター同士が戦うものを作りたかったのですが、説明が足りなくてすみませんでした。すごいしょぼいゲームでいんですが、戦闘結果は~の勝ちで表したいのですがどうすればいいのでしょうか?
No.2
- 回答日時:
>ExcelでのVisual Basicのプログラミング
「エクセルVBA」というのが(分野が)あって、エクセル固有の操作(エクセルでできる機能を)スクリプトで動かすものがあります。
ほぼ仕事(ビジネス)の必要に絡むもの(数値や文字列の加工)です。この質問コーナーはそちらの質問がほとんどです。とりあえず、エクセルは、ゲームなどは念頭にありません(オブジェクト・メソッドプロパティも適したものはない)。
質問者がエクセルしか持ってないからなのか、持ち主が多いエクセルユーザーを対象とするためか判りませんが、VB(6.0相当)として使うならVBということで質問や勉強したら。
ーー
なぜエクセルなのか。シートのセルが扱いやすいと思ったのか、良くわかりません。
ーー
質問のコード程度で画面の像が動くなんて想像もできません。
やりたいというだけで、勉強はあまりしてなくてこれからということかな。
もしつくり方を知っている方がいても、このコーナーに回答を上げるのは量的に荷が重いと思う。
全部教えてと丸投げ的になっているので、もう少し判らない課題点を絞って質問すべきです。
No.1
- 回答日時:
この程度の内容では、貴方がどのようなゲームをイメージしているか全く判りません。
まずは、基本的な所から勉強をしましょう。
http://www.geocities.jp/excelgame/books/intro.html
http://www1.plala.or.jp/chikada/cell/celltop.htm
その他にも、「Excel VBA ゲーム」等で検索すると、役に立つサイトがいっぱいあります。
頑張って下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- アニメ BLUE DRAGONのブーケやONE PIECEのボア・ハンコックのように、主人公のことが好きなセ 2 2022/12/27 10:36
- 英語 【英語】外国人の方に質問です。 なぜトンボが英語だとdragon flyなのですか? 2 2023/01/29 14:45
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でタイピングゲームを作り...
-
VC++ と C++Builder
-
楽しくて最高のプログラミング...
-
小学1年生の子です。塾に行かせ...
-
C言語、C+、C++、C#の違い
-
C++ ってなんて読む?
-
プログラムに書かれる"%"記号の...
-
Visual Studio Codeについて
-
質問失礼します。 プログラム言...
-
CSVデータの"(ダブルクォーテ...
-
C言語とhtmlの違いを どな...
-
LeetCodeていうの初めて、
-
TO_CHARで小数点以下がある場合...
-
私はプログラミングは一切分か...
-
exeファイルを作ったり改造した...
-
Pythonって何を意識した言語な...
-
おみくじを作りたいのですが
-
エクセルVBAでRS232Cへ
-
ニンテンドーDSのソフト作成に...
-
ライン保護botについて プログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングに触れて見たい
-
情報工学科にはパソコン知識が...
-
PixivとかDMM(FANZA)みたいなサ...
-
プログラマーになったきっかけ...
-
中卒がプログラマーとして生き...
-
「やさしいC」の次に読む本を探...
-
Win32APIは覚えて損する?
-
プログラミングの習得期間はど...
-
中学生 プログラマーになりた...
-
万年カレンダーのプログラムの...
-
ExcelでのVisual Basicのプログ...
-
C#の基本文法が詳しく書かれて...
-
オリジナルの占いサイトを作る...
-
今からWin32を勉強する意義
-
独学でプログラミングを習得す...
-
自作でプレステ対応ゲームは作...
-
VBAの勉強の仕方
-
プログラミングに 興味をもっ...
-
ゲームを作りたくてプログラミ...
-
変数・関数 メモリの関係 本...
おすすめ情報