HSPを あきらめた訳(わけ)

構造体が無ければ、enumと 配列を 駆使し、
さらに、
文字列型 で宣言して、型変換して データを取り出してまで、
使い続けたHSPだけど、

どうしても超えられない 問題 が起きた。

それは「プロトタイプ宣言」

全部グローバル変数 というのは気持ち悪く、
テンポラリーな 変数 が使いたくて、モジュールを導入したけど、
それからが 苦労の連続だった。

ラベル(ジャンプ先)が モジュール内/外で独立なので、
呼び出すときに モジュール名を付けてやら無くては ならなくなり、
命令とか、関数という物を使い始めた。

local 指定子を使って、
テンポラリーな 変数も使えるようになったし、

定数、APIなど 一部の参照は、
global 指定子か、globalスコープの場所で宣言して
@マークを付けて呼び出すかすれば、
簡単にモジュールの壁を越えられた。

だけど… 循環参照の問題だけは 解決しなかった…

HSPには プロトタイプ宣言が無いので、
必ず 使うより前で宣言しなくてはならず、

ラベルを一時的に経由するという、
小細工を考えたけど、コーディング量が 増える一方だった。


もう一つ、こっちは小さな問題だけど、

アクションゲームを作っているとき、
キャラクター毎の 動きのバリエーションを増やしていったら、
seitch〜caseで、剣山みたいな見た目になった。

もうちょっとスマートな 方法は無いかと検索しているうちに、
C#JAVA、そしてC++の事を知り、
HSPを断念するに至った。

(実際には 「ラベル」を変数に入れて呼び出す 方法があるのだけど、
 そこだけ ポインタ的な要素が入るのが 邪道な気がするのと、
 それほど使いやすくも無いのが 理由で使いませんでした)