PART2.クラスモジュールとコレクションを使ったゲームを作りたいですけど..


TAKU  2002-09-21 00:36:28  No: 105002

前回質問した続きですが、長くなりそうなので新しく質問することにしました。
□□□        <−−イメージはこんな感じです。
□□□
□□□

□□
□□
・使用数字1〜99
・縦横は数字で変更可(2〜5)(初期表示は縦4、横5)
・BINGOラインは横のみと、フルハウス(全部確定)です。

使用モジュール
フォームモジュール2つ(Form1,Form2)
クラスモジュール3つ(Class1,Class2,Class3)

Form1配置コントロール
テキストボックス2つ(Text1→縦ラインの入力用・Text2→横ラインの入力用)
ラベル1つ(Label1)
コマンドボタン2つ(Command1→BINGOカード作成,Command2→番号抽出)
Form2
BINGOカード用、1〜4枚まで

2、クラスモジュールは全部で3つになり構成されなくてはなりません。
    一つ目はBingoCard
横のラインごとにコレクションを作り、番号を確認していって、ラインが揃うとBINGOにする。FalseからTrueにすればいいのかな?
    二つ目はBingoLine
番号をコレクションに入れていく
    三つ目はBingoNumber

クラスモジュール1**********BingoCardデザイン**********

Private mLines As Collection
Private mintNumLines As Integer
Private mintNumValues As Integer
Private mblnLine As Boolean

Option Explicit
Public Sub SetUpCard(intlines As Integer, intValues As Integer)

End Sub
Public Sub AddValue(intVal As Integer)

End Sub
Public Function blnCardFull() As Boolean

End Function
Public Sub Check(intVal As Integer)

End Sub
Public Property Get blnLineCovered() As Boolean

End Property
Public Property Get blnCardCovered() As Boolean

End Property
Public Property Get intValue(intRow, intCol) As Integer

End Property
Public Sub Reset()

End Sub

クラスモジュール2**********BingoLineデザイン**********

Private intVal As Integer
Private mNumbers As New Collection
Private mintNumValues As Integer

Option Explicit
Public Sub Setup(intNumValues As Integer)

End Sub
Public Sub AddNumber(intVal As Integer)

End Sub
Public Property Get blnFull() As Boolean

End Property
Public Sub CheckCall(intVal As Integer)

End Sub
Public Function blnCovered() As Boolean

End Function
Public Property Get intValue(intIndex) As Integer

End Property
Public Sub Reset()

End Sub

クラスモジュール3**********BingoNumberデザイン**********

Private mintValue As Integer
Private mblnCovered As Boolean

Option Explicit

Public Property Let intValue(intVal As Integer)

End Property
Public Property Get intValue() As Integer

End Property
Public Sub CheckCall(intVal As Integer)

End Sub
Public Property Get blnCovered() As Boolean

End Property
Public Sub Reset()

End Sub
===================================

無理やりクラスを3つに分けることはないかもしれませんが、これで作成しなければなりません。今のところデザインのみで、コーディングを分けるには?とか、Get、Letの使い分け、それからコレクションとクラスの併用が分りません。
アドバイスお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加