クリップボード履歴ソフトCliborを公開中!

VBでゲームを作ろう7

Visual Basicでゲームを作ろう7

メインフォームの敵を倒す処理の実装

敵クラスの実装が完了しましたので、いよいよメイン画面の敵を倒す処理を実装します。
まずメイン画面(F_Main)にタイマーを二つ追加します。

敵を動かすタイマー(Timer)

プロパティ 備考
Name T_Enemy
Interval 1000

残り時間をカウントタイマー(Timer)

プロパティ 備考
Name T_Jikan
Interval 1000

まず敵を動かすイベントです。
T_EnemyのTickイベントに以下を記述します。

    ' 敵を動かす
    Private Sub T_Enemy_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T_Enemy.Tick
        Dim i As Integer
        ' 敵の数だけループする
        For i = 0 To Enemies.Count() - 1
            ' 敵の移動イベントを呼ぶ
            CType(Enemies(i), CEnemy).MvEnm()
            ' ループの中でDoEventsを呼んでおく
            System.Windows.Forms.Application.DoEvents()
        Next
    End Sub

次に残り時間をカウントする処理です。
制限時間内は、プログレスバーのカウントを一つ下げて、制限時間を過ぎた場合は、合計得点を表示し、タイマーを止めます。
T_JikanのTickイベントに以下を記述します。

    ' 残り時間を計測する
    Private Sub T_Jikan_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T_Jikan.Tick
        If (PG_Jikan.Minimum) <= (PG_Jikan.Value - 1) Then
            ' プログレスバーを一つ下げる
            PG_Jikan.Value = PG_Jikan.Value - 1
        Else
            ' 終わり
            PG_Jikan.Value = PG_Jikan.Minimum
            ' タイマーを止める
            T_Enemy.Enabled = False
            T_Jikan.Enabled = False
            ' メッセージを表示
            MsgBox("終了です" & vbCrLf & "あなたの得点は" & L_Sum.Text & "です")
            ' メイン画面を閉じる
            Me.Close()
        End If
    End Sub

続いてすでに実装したスタートボタンのクリックイベント(B_Start_Click)にタイマーのスタート処理を追加します。

    ' スタートボタンクリック
    Private Sub B_Start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_Start.Click
        ' スタートボタンを使えなくする
        B_Start.Enabled = False

        ' 敵の作成
        Dim i As Integer
        ' 敵を10体生成します
        For i = 0 To 9
            ' 配列に敵クラスを生成します。その際にオーナーのパネルとランダム変数を渡します。
            Enemies.Add(New CEnemy(Me.P_Enemy, G_Rnd))
            ' ループの中でDoEventsを呼んでおく
            System.Windows.Forms.Application.DoEvents()
        Next

        ' タイマーのスタート
        T_Enemy.Enabled = True
        T_Jikan.Enabled = True
    End Sub

ここで一度実装してみましょう。
初級ボタンを押して、スタートボタンを押すと今度は敵が動いていると思います。
また残り時間もカウントダウンされ、プログレスバーが0になるとメッセージが表示され終了となります。

ここまでくればあともう一息です。
またうまく動かない敵があれば、コーディングにミスがあるかもしれませんので、確認しておきましょう。

  • Facebook
  • Hatena
  • twitter
  • Google+

サイトについて

Cliborに関する匿名のアンケートやご要望はこちらからCliborアンケート


Amunsへ直接のお問い合わせはこちらからContact

寄付のお願い

Cliborはフリーソフトですが寄付歓迎です。 →寄付のお願い
PAGETOP
Copyright © amuns:code All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.