SRC質問掲示板Mk2
(現在 過去ログ41 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■7689 / inTopicNo.1)  フォー 〜 ネクスト間のイベントを実行する際
  
□投稿者/ むねたけ -(2003/03/27(Thu) 23:47:54)
http://typemp-ct.hp.infoseek.co.jp/
     失礼いたします。
     以下のスクリプトのミスをご指摘願いたいと思います。

    >スタート:

    >For i = 1 To 4

    >設定:
    >Switch Random(1)

    >Case 1
    > If 1 = On Then
    > GoTo 設定
    > Else
    > Ask ? 連続表示
    > A
    > B
    > End
    > Switch 選択
    > Case 1
    > Incr A
    > Case 2
    > Incr B
    > EndSw
    > Incr i
    > 1 = On
    > EndIf

    >Case 2
    > If 2 = On Then
    > GoTo 世界設定
    > Else
    > Ask ? 連続表示
    > A
    > D
    > End
    > Switch 選択
    > Case 1
    > Incr A
    > Case 2
    > Incr D
    > EndSw
    > Incr i
    > 2 = On
    > EndIf
    >〜〜〜〜〜中略〜〜〜〜〜
    >EndSw

    >Next

     省略部についてはケース1・2とほぼ変わりありません。
     この下にもいくらか続いているのですが、イグジットで切っても動作が変わらないことから問題は無いと思っています。
     エラー内容の方なのですが、起動直後にSRC自体がビジー状態となって完全に停止してしまいました。
     重すぎるかと思いPC本体のメモリをあけたり、フォー〜ネクスト内のスイッチの数を減らしたりもしましたが、エラーは一切改善されませんでした。
     長くなりました、すいません。



引用返信/返信 削除キー/
■7690 / inTopicNo.2)  Re[1]: フォー 〜 ネクスト間のイベントを実行する際
□投稿者/ 通りすがれ -(2003/03/27(Thu) 23:59:27)
    全体を見ないことには判らないのですが、同じ様な書式はサブルーチンにして
    Call ラベルで呼び出すようにしましょう。
    その方が見やすくバグ修正もしやすくなります。

    あと、Goto文はラベル〜ラベルの移動だけに使うようにした方がいいです。
    何かの処理の途中にGotoで違うラベルに飛ばすと色々と不都合が出る
    可能性が高くなります
    なるべくCall returnを使うようにしましょう
引用返信/返信 削除キー/
■7691 / inTopicNo.3)  Re[1]: フォー 〜 ネクスト間のイベントを実行する際
□投稿者/ レッド・ハムスター -(2003/03/28(Fri) 00:05:42)
    >Switch Random(1)

    の部分ですが、入れる数字は1では無く、その後にあるCaseの数(要するにCase 6 まであるならRandom(6)、Case 8 まであるならRandom(8))に変える必要があるでしょう。
    起動直後にビジーというのは謎ですが、今の書式のまま処理していけば、一度目の選択肢に答えた後、無限ループするように見えます。

    それでは〜。
引用返信/返信 削除キー/
■7692 / inTopicNo.4)  Re[1]: フォー 〜 ネクスト間のイベントを実行する際
□投稿者/ 幻魔の公子 -(2003/03/28(Fri) 00:12:20)
     幻魔の公子です。

     えーと、見た感じ、無限ループに陥りそうです。

     まず、Random(1)は1〜1までですから、必ず1になりますよね?
     Case 1を見ると、変数「1」がOnでない場合は選択肢を選ばせて、「1」をOnになると。
     そして、iがこの時点で4には達していないので、Forに戻る。

     で、やっぱり最初のSwitchが1にしかならずCase 1が実行され、こんどは変数「1」がOnなのでIf文が実行されてラベル「設定」に移動。
     設定に飛んだ後のSwitchはやっぱり1になるのでまたCase 1が実行され……

     という流れにならないでしょうか。

     無限ループにならないようにイベントの内容を調整すれば直るかもしれません。

     それでは。

引用返信/返信 削除キー/
■7693 / inTopicNo.5)  Re[1]: フォー 〜 ネクスト間のイベントを実行する際
□投稿者/ むねたけ -(2003/03/28(Fri) 02:14:14)
http://typemp-ct.hp.infoseek.co.jp/
     早い回答を頂いたのに遅くなりまして申し訳在りません。

     皆さんから指摘されているランダムの数値なのですが、

    >フォー〜ネクスト内のスイッチの数を減らしたりもしましたが、

    の時に1度きりでも動かないかどうか調べるために一度そのようにしたのをそのままにしていたせいです。

     実際はその数値が適切(ケース数と同一)でもエラーとなっています。

     で、そのエラーなのですが、SRCの普通(?)のエラーのように注意書きや間違い箇所が表示されるわけではなく、単にそのまま停止してしまうのです。

     ∞ループに辿り着く前に最初の質問表示すら出てこない状況なのです。

     通りすがれさんの言うようにコールでどうにかする方法も考えてみますが、このエラーに関しても詳しく知りたいのでぜひ協力をお願いします。
引用返信/返信 削除キー/
■7695 / inTopicNo.6)  Re[1]: フォー 〜 ネクスト間のイベントを実行する際
□投稿者/ ヒロキ -(2003/03/28(Fri) 03:00:08)
    こんばんは、ヒロキです。

    >設定:
    >Switch Random(1)

    >Case 1
    > If 1 = On Then
    > GoTo 設定

    なぜだか一回目からIfの条件が真と判定されちゃって
    「設定:」から「GoTo 設定」の間ぐるぐる無限ループしちゃってるよーな
    気がします

    試しに

    スタート:
    If 1 = On Then
    Talk

    End
    EndIf

    とかやってみたらTalkウィンドウに「わ」とか表示されちゃいましたし
    んで、変数「1」を「スイッチ」とかに変えてみたら表示されませんでした。

    とりあえず、たとえ全角といえど変数名に数字使うのはやめた方がいいと思いました。

    それでは

引用返信/返信 削除キー/
■7701 / inTopicNo.7)  Re[2]: 了解しました
□投稿者/ むねたけ -(2003/03/28(Fri) 23:19:09)
http://typemp-ct.hp.infoseek.co.jp/
     遅いレスになりました、すいません。

     そうですか数字を使ったところに原因がありましたか・・・

     教えてくださってありがとうございます。

     怪しい部分もありますがとりあえず稼動しているようなので、大丈夫だと思います。

     度々の協力を感謝いたします。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -