HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0423
補給タンクプログラムの内容がうまく理解できません…3解決


補給タンク

リンク

2017/4/23(Sun) 14:16:55|NO.79234

こんにちは。
下記サイトでプログラムを勉強しているのですが、
最初からプログラムの意味が理解できず、躓いています。

特に冒頭部分の define や winx の辺りから既に理解が追いつかず、
何故このプログラムを実行するとこの結果になるのか、が分からないのです。

恐縮なのですが、どなたか教えていただけないでしょうか?

url ; http://masudahp.web.fc2.com/hsp3/game/hspg210.html


#define winx 50 #define winy 60 #define mm 8 ;間隔 #define xcls0 color 0, 0, 0 : boxf 0, 0, winx * mm - 1, winy * mm - 1 #define xcls1 color 0, 30, 50 : boxf winx * mm, 0 ;初期設定 ----- ;配列宣言 ;画像読み込み ;メインウィンドウ ;スタート ----- *start ;げーむMain ----- *restart ;ゲーム開始前の設定 repeat redraw 0 xcls0 ;敵機の処理 ;自機移動 ;キー入力 ;自玉移動 ;自玉と敵機の当たり判定・敵機消去・得点加算表示 ;自機と敵機の当たり判定・自機消去・残機減算表示 redraw 1 await 80 loop ;ゲームオーバー判定 end



この記事に返信する


沢渡

リンク

2017/4/23(Sun) 14:28:51|NO.79235

HSP3プログラミングマニュアルを開いて、「4.7. #defineマクロについて」を読んでみてはどうかと。



スペース

リンク

2017/4/23(Sun) 14:41:12|NO.79236

HSPスクリプトエディタでF1を押すと、各命令の説明を検索できるHSP Document Library(通称HDL)が起動するのはご存知でしょうか。
(#defineの説明には"初心者向きではない"と書いているので、最初はわからなくても無理はないかと)
#defineとは置換する命令で、
置換前 置換後 の順番で書きます。

#define メッセージ mes "てすと" メッセージ
↑このソースコードは内部では、

mes "てすと"
と同じ解釈です。

補給タンクさんが貼ったソースコードは、内部では以下のように解釈されています。

#define xcls1 color 0, 30, 50 : boxf winx * mm, 0;これは現時点では使っていない。 ;初期設定 ----- ;配列宣言 ;画像読み込み ;メインウィンドウ ;スタート ----- *start ;げーむMain ----- *restart ;ゲーム開始前の設定 repeat redraw 0 color 0, 0, 0 : boxf 0, 0, 50 * 8 - 1, 60 * 8 - 1 ;敵機の処理 ;自機移動 ;キー入力 ;自玉移動 ;自玉と敵機の当たり判定・敵機消去・得点加算表示 ;自機と敵機の当たり判定・自機消去・残機減算表示 redraw 1 await 80 loop ;ゲームオーバー判定 end



補給タンク

リンク

2017/4/23(Sun) 15:42:15|NO.79237

>沢渡さん、スペースさん
 素早い回答ありがとうございます。
 一応、F1キーでライブラリが開けることは知っていたのですが、
 そこを見ても、ネットで検索してもさっぱりだったので…
 今回このような助言をいただけて本当に助かっています。
 ありがとうございます!



ONION software Copyright 1997-2018(c) All rights reserved.