プログラミング初心者のゲーム創作過程の記録です。ソースも載せるかも…
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ゲームのストーリーは鼎さんに任せようと思うんよね。
あ!! 今度、鼎さんとこのリンク貼っておかないと。
そーなるとテキストファイルとかにストーリーを書いて読み込む方が断然楽だよね。
それに別にファイルを作ってそれを読み込ませてゲームのステージを構成させる方が拡張もさせやすいかな。
ってことでファイルの読み込み用のスクリプト。
あ!! 今度、鼎さんとこのリンク貼っておかないと。
そーなるとテキストファイルとかにストーリーを書いて読み込む方が断然楽だよね。
それに別にファイルを作ってそれを読み込ませてゲームのステージを構成させる方が拡張もさせやすいかな。
ってことでファイルの読み込み用のスクリプト。
;--------------------変数の初期化------------------
sdim w, 128
sdim prm, 128
sdim msg, 256
sdim texbf, 32000
bload TXT_FILE, texbf
notesel texbf
lin = 0
row = 0
(省略)
;--------------------ファイル読み込み------------------
*read_file
row = 0
noteget w, lin
getstr cmd, w, , ' ' : row += strsize
switch cmd
case "CHA_SET"
;キャラクターの登録
lin++
gosub *read_file
swbreak
case "CHA_DRW"
;キャラクターの描画
lin++
gosub *read_file
swbreak
case "CHA_DEL"
;指定キャラクターの破棄
lin++
gosub *read_file
swbreak
case "TURN"
;キャラクターの反転
lin++
gosub *read_file
swbreak
case "MOVE"
;キャラクターの移動
lin++
gosub *read_file
swbreak
case "PSE"
;読み込みを一時中断
;メッセージの全更新
lin++
swbreak
case "END"
;ストーリーファイル読み込み終了
;登録キャラクター全破棄
lin++
swbreak
default
;表示するメッセージの記憶
msg = msg + cmd + "\n"
lin++
gosub *read_file
swbreak
swend
return
繁雑になるからあちこち省略。
基本的な流れは
最初に「noteget w ,lin」でファイルの(lin)行目の文章を(w)に読み込む。
「getstr cmd, w, , ' '」で(w)から(cmd)に文頭から最初の半角スペースまで読み込む。
以降switch構文で順次コマンドを照らし合わせてどのコマンドとも違ったらメッセージと扱う。
以下繰り返し。
かな。
メッセージも「MSG」コマンドが見つかればメッセージ読み込みにしても良かったんだけど、それだとファイルを作る側が度々MSGを書かないといけないから一個だけ省略できそうだし、省略してみただけ。
後、完全な実装まではいくつかコマンドを加えないとダメかな。
基本的なストーリーファイルは
CHA_SET (パラメーター)
CHA_DRW (パラメーター)
(キャラクターの移動などのエフェクト処理コマンド)
(メッセージ)
PSE
(キャラクターの移動などのエフェクト処理コマンド)
(メッセージ)
PSE
・
・
・
END
ってなるはず。
あとは各コマンドの処理の中にパラメーターの読み込みの処理を含めれば完成。
ちなみに文頭からじゃなくて途中から読み込みたいときは
「getstr prm, w, row, ',' : row += strsize」
ってしたらOK。
要するに
(lin)行から(w)に読み込んだ文章の(row)列目から区切り文字(,)までを読み込む。
そうすると、コマンドの構文が
CMD p1,p2,p3…
って感じでいけます。
PR
Comment