【 #@(SharpAt) Language -Sample Program- 】

#@サンプルプログラム

<1〜10までを足し算>
a=0 c=10 [a+c c-1 c] // a0にc0の値を足していく Da; // a0の値を表示 // #@言語は、スペースや改行無しでも動作する。例えば、 a=0c=10[a+cc-1c]Da; // この状態でも上記と同じ処理

<G0.png(16x16ピクセル)で画面(640x480)を塗りつぶす処理>
y=480 [x=640 y-16 [x-16 G0,x,y; x] y] GF; // G0.pngで画面を塗りつぶし、最後にFlip

<配列を構造体的に使い、1キャラのデータ(HP、ATK、DEF)を設定する処理>
// キャラ構造体は cメモリを使う s=3 // 構造体のサイズ n=1 // 構造体開始位置(0番は汎用的に使うので開けておく) @:c(n @=100 @(1=20 @(2=10 n+s // 1キャラ分のデータ(HP=100, ATK=20, DEF=10)を設定。最後にnを次の構造体位置へ @:c(n @=120 @(1=22 @(2=15 n+s // HP=120, ATK=22, DEF=15 @:c(n @=110 @(1=30 @(2=8 n+s // HP=110, ATK=30, DEF=8 // これで、1キャラ目がc1〜c3メモリに。2キャラ目がc4〜c6メモリに。3キャラ目がc7〜c9メモリに設定された

<上記のキャラ構造体を使い、1キャラ目が2キャラ目に攻撃する関数>
// 攻撃関数 //IN : aに攻撃側のキャラ番号、bに受け側のキャラ番号 #0{ a*3 a-1 b*3 b-2 // キャラ番号を構造体の先頭番号に変換(攻撃側はATKしか使わないのでその位置にする) @:c(b // 受け側の先頭を@ポインタに設定 p=c(a p-@(2 // ダメージ値 = ATK - DEF a=p a<0 a[.] // ダメージ値がマイナスなら何もせず戻る @-p // 受け側のHPからダメージ値を引く a=@ a<0 a[@=0] // HPがマイナスになったら、0にする } // 攻撃関数を実行 a=1 b=3 #0

<最初のバージョンに入れたサンプルプログラム>
#@のソースファイルを表示
実行後の画面を表示
 




[ StudioGIW TOPページ ]