|
 |
|
2020/1/7(Tue) 23:08:15|NO.89196
丁度 作業していたpcが不調になり
自宅で動作確認していませんが 職場では
player(pl,0,"0" ,1,0,0,0)
ここで 文法エラーでとまってしまいます
サンプルプログラムをコピーして ちょっと改変しただけなので
よくわかっていません すません
なぜ エラーになってしまうのか 教えていただきたく お願い申し上げます
#include "hspda.as" ;拡張DLL vload等 使用可能宣言
#runtime "hsp3cl"
screen 0, 800,600 ;デバック画面 データ増やしたらYを増やすのだ
#define giobal ctype player(%1,%2=0,%3,%4,%5) \
%1_name(%2)=%3 :\
%1_baller(%2)=%4 :\
%1_role(%2)=%5 :\
%1_ypos(%2)=%6 :\
%1_xpos(%2)=%7
#module
#define global ctype parameter(%1,%2) \
mes "["+%1_name.%2+"]" :\
mes strf("BALL:%%3d ROLE:%%3d Y:%%3d X:%%3d",%1_boller(%2),%1_role(%2),%1_ypos(%2),%1_xpos(%2) :\
mes ""
#global
player(pl,0,"0" ,1,0,0,0)
player(pl,1,"1 ",1,0,0,0)
player(pl,2,"2 ",0,0,0,0)
player(pl,3,"3 ",0,0,0,0)
player(pl,4,"4 ",0,0,0,0)
player(pl,5,"5 ",0,0,0,0)
player(pl,6,"6 ",0,0,0,0)
player(pl,11,"10 ",0,0,0,0)
player(pl,12,"11 ",0,0,0,0)
player(pl,13,"12 ",0,0,0,0)
player(pl,14,"13 ",0,0,0,0)
player(pl,15,"14 ",0,0,0,0)
player(pl,16,"15 ",0,0,0,0)
foreach pl_name
palameter(pl,cnt)
loop
stop
|
|
2020/1/8(Wed) 01:05:12|NO.89197
#defineの使い方が違うような……
やりたい事がよくわかりませんが、#defineは複数行で書くことはできません。
処理の内容的に#defcfuncを使った方が良いかと思います。
そして、行末に:\を多用していますが(おそらくこの行が続いているという意味でしょうが)
HSPではこれは意味をなさないので削除した方が良いかと思います。
|
|
2020/1/8(Wed) 05:46:39|NO.89198
globalがgiobalになってたりparameterがpalameterになってたりballerがbollerになってるのと
playerの引数が5個しか定義されてないのとstrfのカッコが閉じられていないのと
hsp3clでscreenを使っているのが原因ですね。
>#defineは複数行で書くことはできません。
#define等プリプロセス命令は最後に\を置くことで複数行に分けて書けます。
プリプロセス命令意外には使えませんが。
#include "hspda.as" ;拡張DLL vload等 使用可能宣言
#runtime "hsp3cl"
;screen 0, 800,600 ;デバック画面 データ増やしたらYを増やすのだ
#define global ctype player(%1,%2=0,%3,%4,%5,%6,%7) \
%1_name(%2)=%3 :\
%1_baller(%2)=%4 :\
%1_role(%2)=%5 :\
%1_ypos(%2)=%6 :\
%1_xpos(%2)=%7
#module
#define global ctype parameter(%1,%2) \
mes "["+%1_name.%2+"]" :\
mes strf("BALL:%%3d ROLE:%%3d Y:%%3d X:%%3d",%1_baller(%2),%1_role(%2),%1_ypos(%2),%1_xpos(%2)) :\
mes ""
#global
player(pl,0,"0",1,0,0,0)
player(pl,1,"1 ",1,0,0,0)
player(pl,2,"2 ",0,0,0,0)
player(pl,3,"3 ",0,0,0,0)
player(pl,4,"4 ",0,0,0,0)
player(pl,5,"5 ",0,0,0,0)
player(pl,6,"6 ",0,0,0,0)
player(pl,11,"10 ",0,0,0,0)
player(pl,12,"11 ",0,0,0,0)
player(pl,13,"12 ",0,0,0,0)
player(pl,14,"13 ",0,0,0,0)
player(pl,15,"14 ",0,0,0,0)
player(pl,16,"15 ",0,0,0,0)
foreach pl_name
parameter(pl,cnt)
loop
stop

| |
|
2020/1/8(Wed) 13:43:15|NO.89200
有り難う御座いました
余りに 見る場所が違いすぎて 近視眼になりすぎていました
本当に有り難う御座いましたm(_ _)m
|
|
2020/1/8(Wed) 18:30:09|NO.89201
>#define等プリプロセス命令は最後に\を置くことで複数行に分けて書けます。
>プリプロセス命令意外には使えませんが。
勉強不足でした、失礼いたしました。
rewさんありがとうございます。
|
|