RPG
概要
カーソルキーで主人公を移動し、町の人と会話ができます。
町の外へ出ると、変な敵がいますが、当り判定などは行っていませんので、無害です。
マップエディタが付属しているので、町の中やフィールドなど、地形を自由に改変できます。
ソースファイル
まずはソースファイルをダウンロードして下さい。
プロジェクトファイル(Rpg.vbp)を開くと、4つのファイルがあります。
- API(Api.bas)
- ゲーム専用APIモジュール
- frmMain(frmMain.frm)
- メイン画面専用フォーム
- frmPic(frmPic.frm)
- ゲーム画像専用フォーム
- mdlMain(mdlMain.bas)
- メインプログラム専用モジュール
API(Api.bas)については、ゲーム専用モジュールをご参照下さい。
frmMainがゲームのメイン画面になります。
キャラクターやマップチップはfrmPicにあります。
mdlMainが、ゲームのメインプログラムになります。
メインプログラム
まず初めに実行されるのがSub Main()です。
ここからプログラムがスタートし、各種データを読み込み、
Do〜Loop間でゲームの処理を行っています。
mdlMainのプロシージャを簡単にご説明します。
- Sub CharaDraw()
- 主人公キャラの描画
- Sub CharaMove(Key As Integer)
- 主人公を動かす
- Sub CharaSetPosition(SetX As Integer, SetY As Integer, Dir As Integer)
- 主人公を画面中央に配置
- Sub EnemyDraw()
- 敵を描画
- Sub FileLoad()
- 各種データの読み込み
- Sub FileSave()
- 各種データの保存
- Function Hit_Percent(Per As Integer) As Boolean
- 30%など、発生したらTrueを返す関数
- Sub KeyJudge()
- キーの検出
- Sub Main()
- ここから始まる
- Sub MapDraw()
- メインマップを描画
- Sub MapLoad(FileName As String)
- マップファイルを読み込む
- Sub MapMove()
- マップをスクロールする
- Sub MapMoveEffect()
- マップ切り替え時のエフェクト
- Sub MessageWindowCerate(cx As Integer, cy As Integer)
- メッセージウインドウを作成
- Sub PersonDraw()
- 町の人を描画
- Sub SetData()
- ちょっとした設定
- Sub Timer()
- タイマー処理をする