戦闘画面を作成
1.処理内容
・プレイヤーを移動していると一定の確率で敵が出現する。
・敵が出現すると戦闘画面(ウィンドウ)を表示。
・プレイヤーと敵に体力を設定し、0になるとゲームオーバーにする。
2.処理手順
・プレイヤーが移動した場合
@敵が現れるかどうかランダム値を取得
Aランダム値が敵出現値の場合、戦闘画面を表示する。
3. プロジェクトにフォーム(戦闘画面用)を追加する。
ファイル(F) ⇒ フォームの新規作成(F) で、フォームを追加します。

Imageコンポーネントを、フォームに貼る。
ButtonImageコンポーネントを、フォームに貼る。
Labelコンポーネントを、フォームに貼る。
Memoコンポーネントを、フォームに貼る。
Panelコンポーネントを、フォームに貼る。
ProgressBarコンポーネントを、フォームに貼る。
Timerコンポーネントを、フォームに貼る。
4.プロパティ&イベントプロシージャの設定
TForm
BorderStyle bsDialog Caption 戦闘画面 Name Form2 Position poDesktopCenter Height 225 Width 300 OnShow FormShow
TPanel
BevelInner bvLowered BevelOuter bvLowered Color clWhite Name Panel1 Left 6 Top 8 Height 105 Width 280
TTimer
Name Timer1 Enabled True OnTimer Timer1Timer
TImage (Panel1に貼付)
Name imgEnemy Left 6 Top 45 Height 50 Width 50
TImage (Panel1に貼付)
Name imgDoka Height 50 Width 50
TImage (Panel1に貼付)
Name imgPlayer Left 205 Top 45 Height 50 Width 50
TLabel
Caption 体力 Name Label1 Left 6 Top 120
TLabel
Caption / Name Label2 Left 245 Top 120
TLabel
Name lblHP Left 217 Top 120
TLabel
Name lblMaxHP Left 257 Top 120
TButton
Caption 攻撃 Name btnAtc Left 8 Top 136 Height 25 Width 48 OnClick btnAtcClick
TButton
Caption 逃走 Name btnRun Left 8 Top 168 Height 25 Width 48 OnClick btnRunClick
TProgressBar
Name ProgressBar1 Smooth True Left 35 Top 117 Height 16 Width 174
TMemo
Name Memo1 ReadOnly True ScrollBars ssVertical Left 60 Top 136 Height 57 Width 223
5.プログラムソース(追加分)
Unit1.pas (追加部分)| //************************************************************ //************************************************************ |
| unit
Unit2; |
6.戦闘画面用のキャラクタ画像を用意する。
| Doka.bmp | Player.bmp | Enemy.bmp |
ソースはコレです。
次回は、プレイヤーにステータスを付け加えて、敵を倒していくと、
強くなる処理を追加します。