HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1207
MNIGHTスクリプトの分割?4解決


MNIGHT

リンク

2011/12/7(Wed) 17:14:24|NO.43564

ゲームを作っていたのですが、3000行を超えてしまいそろそろ見辛くなってきました。
端的に申し上げますと、見やすくする方法ってありますか?
例えば、まとまりごとに別の.hspに分けてメインの.hspから呼び出す等。

あと長いプログラムを組む時のセオリーみたいなものを教えてくださると幸いです。



この記事に返信する


HSP6

リンク

2011/12/7(Wed) 17:17:17|NO.43565

「#include」でできた気がします。
ヘルプで検索してみてください。



MNIGHT

リンク

2011/12/7(Wed) 17:31:18|NO.43566

良いタイムスタンプ

返信ありがとうございます。
そうか#includeね・・・
今までヘルプを見て必要を迫られた時に形式的に使っていただけなので知りませんでした。

あともう1つ聞いても良いでしょうか。
onの分岐先が30を超えてとても見辛いです。(パラメータでキャラクタの「種類」を判別してサブルーチンジャンプさせています。)
「onを使いつつスクリプトエディタで見やすくする」または「別の手法(できればセオリー通りのやり方)できれいに書く」
方法を教えてください。



いなえ

リンク

2011/12/7(Wed) 18:17:00|NO.43568

サブルーチンを使うなら個人的には以下のような使い方が好みです。

#enum CHARACTER_HERO =0 #enum CHARACTER_WIZARD #enum CHARACTER_THIEF #enum CHARACTER_GAMBLER #enum CHARACTER_NUMBER characterRoutine(CHARACTER_HERO)=*routineHero characterRoutine(CHARACTER_WIZARD)=*routineWizard characterRoutine(CHARACTER_THIEF)=*routineThief characterRoutine(CHARACTER_GAMBLER)=*routineGambler randomize myCharacter=rnd(CHARACTER_NUMBER) gosub characterRoutine(myCharacter) stop *routineHero mes "I'm hero." return *routineWizard mes "I'm wizard." return *routineThief mes "I'm thief." return *routineGambler mes "Zzz..." return



MNIGHT

リンク

2011/12/7(Wed) 18:54:11|NO.43569

返信ありがとうございます。

非常にお恥ずかしい話なのですが、ラベル名を変数の値のように扱えると知りませんでした;;
前に何かで実行した時にエラーになった気がしたんだけどな・・・。

アイディアありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.