HSPを あきらめた訳(わけ)
構造体が無ければ、enumと 配列を 駆使し、
さらに、
文字列型 で宣言して、型変換して データを取り出してまで、
使い続けたHSPだけど、
どうしても超えられない 問題 が起きた。
それは「プロトタイプ宣言」
全部グローバル変数 というのは気持ち悪く、
テンポラリーな 変数 が使いたくて、モジュールを導入したけど、
それからが 苦労の連続だった。
ラベル(ジャンプ先)が モジュール内/外で独立なので、
呼び出すときに モジュール名を付けてやら無くては ならなくなり、
命令とか、関数という物を使い始めた。
local 指定子を使って、
テンポラリーな 変数も使えるようになったし、
定数、APIなど 一部の参照は、
global 指定子か、globalスコープの場所で宣言して
@マークを付けて呼び出すかすれば、
簡単にモジュールの壁を越えられた。
だけど… 循環参照の問題だけは 解決しなかった…
HSPには プロトタイプ宣言が無いので、
必ず 使うより前で宣言しなくてはならず、
ラベルを一時的に経由するという、
小細工を考えたけど、コーディング量が 増える一方だった。
もう一つ、こっちは小さな問題だけど、
アクションゲームを作っているとき、
キャラクター毎の 動きのバリエーションを増やしていったら、
seitch〜caseで、剣山みたいな見た目になった。
もうちょっとスマートな 方法は無いかと検索しているうちに、
C#やJAVA、そしてC++の事を知り、
HSPを断念するに至った。
(実際には 「ラベル」を変数に入れて呼び出す 方法があるのだけど、
そこだけ ポインタ的な要素が入るのが 邪道な気がするのと、
それほど使いやすくも無いのが 理由で使いませんでした)