Scroll&Spell

メッセージを自動スクロールさせることに成功。
TextboxやLabeではなく、Listboxを使用しました。リストにメッセージを追加した後で、SlectionIndexを利用して一番新しいアイテムにフォーカスをあわせるのがコツです。こんな感じで書いてみました。
 

Public Sub MakeMessage(ByVal Message As String)
        Dim MessageNumber As Integer
        MessageStream = False
        ListMessage.Items.Add(Message)
        MessageNumber = ListMessage.Items.Count
        Application.DoEvents()
        System.Threading.Thread.Sleep(500)
        MessageStream = True
        ListMessage.SelectedIndex = MessageNumber - 1
End Sub

 
途中でMessageStreamという謎のBooleanが入っているのは、その間のキー入力を無効化するため。さらにDoEventを挟むことでメッセージが一行ずつ追加されるような効果が得られました。
 
懸案事項だった魔法は、とりあえず回復と攻撃の2種類を作成。
でも攻撃魔法は同じ画面内の敵にダメージを与えるだけのお手軽仕様。方向を決めて打ち出すようにするのは、まだまだですね。そうなると弓矢の実装もまだまだ。
 
今後の課題はこんなところ。

  1. 攻撃にエフェクトをつける
  2. 攻撃魔法に指向性を持たせる
  3. 全体的なバランス調整&装備アイテムの実装
  4. 飛び道具の実装

 
戦闘にエフェクトがあった方が良いなと思い始めています。NetHackを遊んでいるときは気にならないんですが、フィードバックがあったほうがゲーム性があがるかな、と。
全体的なバランス調整については、D&Dのルールブックを買ってもいいんですが、ちょっと高いので今週末あたり実家に行って、昔使ってたTRPGのルールブックでも引っ張り出してこようかなと考えてます。GURPSとか。まだ置いてあるかな?