随筆・ザの人

随筆prototype

主に各種Web技術, Windows, ソフトウェア, ドラクエ, globe, エレキゲーム制作の話題を扱っている。

最近のカテゴリ
思想[13]
misc[51]
game[22]
MQ[29]
JS[24]
DQ[72]
HSP[5]
Category:HSP
⇒掲示板のHSP,その随筆一覧

07/09/15(Sat)

Category:HSP

#define の使い方@HSP 2.61

ctime: 07/09/15(Sat) 8:53
誰がこうしろとか言ったわけではないので、変な癖かもしれないけど、たとえば、色の名前。color命令で同じ色をよく使うんであれば、こういうふうにすると早く書ける。

#define BLACK color 0, 0, 0
#define WHITE color 255, 255, 255
#define RED color 255, 0, 0

コロンを使って複数の命令を書いたやつにも置き換えることができるので、boxf命令と組み合わせて画面を赤く塗りつぶすなんてのも一単語で書けるようになる。

#define RED color 255, 0, 0 : boxf

以下は getkey命令で全部のキーの状態を取得するようなやつ。このぐらい長くなると #deffunc を使う方がよいかもしれない。結果を allkeys という配列に代入する。ほんとうは他言語の関数っぽく戻り値とかがあればいいんだけど。

#const KEY_LENGTH 121
#define GET_ALLKEYS repeat KEY_LENGTH@, 1 : getkey allkeys@.cnt, cnt : loop
dim allkeys, (KEY_LENGTH + 1)

さらに、キーの名前を。if命令と一緒に使う。

#const TRUE 1
#define KEY_ENTER allkeys@.13 == TRUE@
#define KEY_SHIFT allkeys@.16 == TRUE@

06/06/12(Mon)

Category:HSP

HSP2.6の変数のスコープ

ctime: 06/06/12(Mon) 4:09
;HSP 2.61
 dim sequence, 5
 #define LAST_NUMBER sequence.4

 #module
 #deffunc myFunc
  gosub *fibonacci@
  mes LAST_NUMBER@ ; 0 と出る。
 return
 #global

 myFunc
 stop

*fibonacci
 sequence = 1, 2, 3, 5, 8
 return
[EOF]
モジュール内の mes LAST_NUMBER@ で 8 と表示したくて、色々やってみて、#defineのところの sequence.4 を sequence@.4 と書けばうまくいくことが分かった。理由を説明することができません。

アットマークをつけるのは、たしか
http://yokohama.cool.ne.jp/chokuto/urawaza/module2.html
で知りました。
Category:HSP

HSP逆コンパイラ

ctime: 06/02/12(Sun) 22:32
http://www.vector.co.jp/soft/dl/win95/prog/se390297.html

ソースコードを紛失して困っていたものが一つあったので、試してみたら見事に復旧。変数名やラベル名が、var_mとかlabel_nみたいな感じになるので、読みにくいですが……。

05/10/30(Sun)

Category:HSP

カテゴリ:HSP@2005-04-01〜2005-09-26T00:44

05/09/26(Mon)

Category:HSP

2004年度のHSPに関する記事の一覧

recent 《   》 past
thebbs.jp