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種類を作成。
でも攻撃魔法は同じ画面内の敵にダメージを与えるだけのお手軽仕様。方向を決めて打ち出すようにするのは、まだまだですね。そうなると弓矢の実装もまだまだ。
今後の課題はこんなところ。
- 攻撃にエフェクトをつける
- 攻撃魔法に指向性を持たせる
- 全体的なバランス調整&装備アイテムの実装
- 飛び道具の実装
戦闘にエフェクトがあった方が良いなと思い始めています。NetHackを遊んでいるときは気にならないんですが、フィードバックがあったほうがゲーム性があがるかな、と。
全体的なバランス調整については、D&Dのルールブックを買ってもいいんですが、ちょっと高いので今週末あたり実家に行って、昔使ってたTRPGのルールブックでも引っ張り出してこようかなと考えてます。GURPSとか。まだ置いてあるかな?