プログラミング共通事項
repeat/if/breakは一緒に覚える
- repeat 命令の基本的な使い方
; 1〜Nまでの合計を計算する
#define N 10
repeat N,1
sum=sum+cnt ; 丁寧な書き方で
loop
mes sum
stop
; Nの階乗を求める
#define N,4
sum=1 ; 初期化しないとゼロに何を掛けても0になっちゃうよ
repeat N,1
sum=sum*cnt
loop
mes sum
stop
; 捕捉
; Nの階乗というのは1*2*3*...Nという計算のことね>分からない人へ
- if 命令の基本的な使い方
; 1〜Nまでの合計を計算するのを途中で止める
#define N 10
repeat N,1
if cnt=5 : break ; 1〜4までしか計算されないよ。
sum=sum+cnt
loop
mes sum
stop
- repeat 〜 loop 間で無限ループが発生するような場合 wait を使用する(案外忘れがちだったりする
repeat
wait 3
if cnt >= 1000 { break }
title "count: "+cnt
loop
- 変数のつかいかた
- [宣言]
- [確保]
- [変数]
;HSP2.61ver de run
#define VAR_DATA 0xff ; プリプロセッサ(前処理)#define で定数VAR_DATEを定義(0xff) VAR_DATEはそれ以降 0xff の値として扱われる(置換え)
var = VAR_DATA ; 変数 var を 宣言(数値型)
view = "" ; 変数 view を 宣言(文字列型)
tmp = var ; 変数 tmp を宣言し var を代入
str tmp,16 ; tmp を 16進数に変換
view = "var : "+var+" | 0x"+tmp ; 変数 view に 値(文字列リテラル) "var: "+var+" | 0x"+tmp を代入
print view ; print(mes) で 画面に view の内容 を 出力
while (CtrlKey & QuitKey) != 1 ; CtrlKey と QuitKey が 1 ではない 場合(0 false) 以下の処理 を 続ける
wait 3 :count++ ; wait 3 = 0.03秒 0.03秒後 count を インクリメント (+1) する
getkey CtrlKey,17 ; getkey で キーコード17(Ctrl)をチェック 状態を 変数 CtrlKey に代入
getkey QuitKey,'Q' ; getkey で キーコード81('Q')をチェック 状態を 変数 QuitKey に代入
getkey ViewKey,'V' ; getkey で キーコード86('V')をチェック 状態を 変数 ViewKey に代入
if ViewKey { dialog view,0,"view data" } ; ViewKey が 1 である場合(Keyが押されている場合) dialog で view の内容を ダイアログボックス に 出力
title "Count: "+count ; title で "Count: "+count を 表示
wend ; while と対を成す
end ; end
HSPHelp:define
HSPHelp:str
HSPHelp:print
HSPHelp:title
HSPHelp:if
HSPHelp:while
HSPHelp:wend
HSPHelp:getkey
HSPHelp:wait
HSPHelp:end
|