マルチプルインスタンスとは 疑りぶかいあなたのためのオブジェクト指向再入門 を100回読んでください。

要するにオブジェクトをいっぱい作ることが出来るわけです。
例えばウインドウを操作するWINDOWSUKIクラスを作ればウインドウが3つあればこのクラスを3つ宣言すれば良いのです。
ドラクエの戦闘システムなら戦うキャラクラスを作ればそれで参加する人数分宣言すればいいわけなんですが、
うまく作らないとあとあと大変な事になります。


Class AKB48
Private
name As String'名前
hp As Long'HP
pp As Long'攻撃力

Public
'コンストラクタ
Sub AKB48(aname As String, ahp As Long, app As Long)
name = aname
hp = ahp
pp = app
End Sub

'相手を殴る
Sub Naguru(ByRef aite As AKB48)
Print name;"の攻撃!";
aite.Nagurareru(pp*Rnd() + pp/2)
End Sub

'相手に殴られる
Sub Nagurareru(app As Long)
hp = hp - app
Print name;"は";app;"のダメージをうけた!"
If hp <= 0 Then Print name;"は負けてしまった!"
End Sub

'生きているかどうか?
Function Seisi() As Long
If hp > 0 Then Seisi = TRUE
End Function
End Class

#N88BASIC
Dim itano As AKB48("板野友美さん", 100, 20)
Dim sinoda As AKB48("篠田麻里子さん", 150, 16)

While itano.Seisi() And sinoda.Seisi()
itano.Naguru(sinoda)
sinoda.Naguru(itano)
Wend

このプログは2人の戦士が相手が死ぬまで殴り合いをさせるものです。
1つのクラスから2つのオブジェクトを作っています。クラスを使うと便利ですね。
構造体ではもうすこし大変な書き方になりますね。
とくに問題がなく動いているように思う人はABプログラマの素質があります。
問題点が指摘出来る人はさようなら。とっととABを捨ててJAVAに移行してください。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年06月06日 16:15