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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0711
イーグルシューティングゲームで・・・・4解決


イーグル

リンク

2006/7/11(Tue) 00:17:02|NO.1314

screen 0,500,650,0
randomize
max_x = 13 : max_y = 18
gamedot = 16
*mainlp
redraw 0
color 0, 0, 0 : boxf
gosub *move_ene
gosub *disp_ene
gosub *make_ene

redraw 1
await 50
goto *mainlp
*make_ene
if eneflag ! 0 : return
rnd enex , max_x
eney = 0 : eneflag = 1
return
*move_ene
if eneflag = 0 : return
eney ++
return
*disp_ene
if eneflag = 0 :return
if eney > max_y : eneflag = 0 : return
color 255,0,255
pos enex*gamedot,eney*gamedot
mes "■"
return


これを実行すると

   #Error 18 in line 16 (β.hsp)
   -->代入できない変数名をしていしています。

となります。
どこを直せば良いでしょうか?
自分は初心者なのでこれがわかる人にとっては、簡単なことかもしれませんが、
どうぞよろしくお願いします。



この記事に返信する


ありくい

リンク

2006/7/11(Tue) 01:09:21|NO.1315

>17行目
rnd enex , max_x

HSP3ではrndは関数として実装されています。

enex = rnd(max_x)

でいちおう動作します。 F1ヘルプも参考にしてください。 あと、ソースは<pre></pre>で括りましょう。



hiro

リンク

2006/7/11(Tue) 01:32:37|NO.1316

ありくいさんのレスに同意です。

イーグルさんのソースを実行すると言われた通りのエラーがでました。
もし今後同じ状況になった時に、エラーが出た場合怪しい箇所に例えば
dialog ""
とする事でどこでエラーが出たのか調べる事ができます。
もし、ダイアログが出ればその後ろでエラーが出てる事になります。
今回の場合は、rndの以前でダイアログが出て、それ以降では出ませんでした。

エラーを探すのも面白いですよ。(余裕があれば・・・)

以上、蛇足でした失礼。



osakana

リンク

2006/7/11(Tue) 03:57:25|NO.1317

HSP 3.1b3 から、命令の書き方で関数を使ってしまった時の
エラーメッセージが分かりやすくなったので
使ってみると同様の間違いを見つけやすいかも知れませんよ
ちなみに最新バージョンは、3.1b4 です。

3.1b4にてイーグルさんのスクリプトを
実行した時のエラーメッセージを参考に貼っておきます。

#Error 41 in line 17 (???)
-->関数を命令として記述しています。
(HSP2から関数化された名前を使用している可能性があります)



イーグル

リンク

2006/7/11(Tue) 17:04:30|NO.1323

この記事のご回答ありがとうございます。
HSP2のときはできたことをそのまま使ってしまったことが原因だと思います。
しっかりとHSP3に慣れなければと思います。



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