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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1010
adc変数の最大値について2解決


adc

リンク

2023/10/10(Tue) 12:19:40|NO.100181

aにdを入力して最大値を入力したいですが
どうしても

if a<ac : a=d if a>ac : a=d
のところでエラーが発生します。
以下が変数です
a=インプット
b=カウント
c=合計
d=最大値

screen 0,1280,650,0,0,0 onkey gosub*jump *start q=0 w=q+20 repeat circle q,180,-60,180-w circle 480,-60,480-w,q circle q,420,-60,420-w circle 870,-60,870-w,q color 0,0,0 q=q+200 if q>2000{ break} await loop objsize 100 pos 0,623 a = "" : input a if c>999{ z=20 if c>9999{ z+20 if c>99999{ z+20}}} font "MS Pゴシック", 180-z, 1 pos 500-(z/2),200 mes c if c>0 and b>0{ pos 500-(z/3),440 mes c/b} if c<=0 and b<=0{ pos 500,440 mes 0} pos 900,200 mes b pos 900-(z/2),440 mes d stop *jump if wparam=27 and e=0 and b>=1{ dialog"戻しますか?",3 if stat=6{ b=b-1 c=c-ac e=e+1 cls goto*start}} if wparam=13 { objsel -1 b=b+1 ac=a c=c+a e=0 cls goto*start} return



この記事に返信する


沢渡

リンク

2023/10/10(Tue) 18:55:30|NO.100185

そのエラーとは「サポートされない機能を選択しました」でしょうか?
その場合ですと、

a = "" : input a
この部分において「a=""」として変数aを文字列変数にしてしまっているせいで、
「文字列の大小を比較する」などという意味不明なことをしたことになって
エラーになっているのだと思われます。
以下のように直したら上手くいくでしょうか?

a = 0 : input a


それと、今回の質問とは関係ないことですが、
onkey gosubで飛んだサブルーチンから「goto *start」で戻るのは
不味いです。(サブルーチンからはreturnで戻るのが鉄則)

今回のケースでは、onkey gosubではなく単なるonkeyで飛び、
「*jump」の部分の最後のreturnはstopに変えるか、
もしくは、私だったら以下のようにawaitを挟んだ無限ループで待ち、
フラグが立ったらループを脱出するようにします。
どちらかお好みな方で。

screen 0,1280,650,0,0,0 onkey gosub *jump *start q=0 w=q+20 repeat circle q,180,-60,180-w circle 480,-60,480-w,q circle q,420,-60,420-w circle 870,-60,870-w,q color 0,0,0 q=q+200 if q>2000 { break } //await //←いらない loop objsize 100 pos 0,623 a = "" : input a if c>999{ z=20 if c>9999{ z+20 if c>99999{ z+20 } } } font "MS Pゴシック", 180-z, 1 pos 500-(z/2),200 mes c if c>0 and b>0{ pos 500-(z/3),440 mes c/b } if c<=0 and b<=0 { pos 500,440 mes 0 } pos 900,200 mes b pos 900-(z/2),440 mes d exit_flag=0 repeat if exit_flag : break await 33 loop goto *start *jump if wparam=27 and e=0 and b>=1{ dialog"戻しますか?",3 if stat=6 { b=b-1 c=c-ac e=e+1 cls exit_flag=1 } } if wparam=13 { objsel -1 b=b+1 ac=a c=c+a e=0 cls exit_flag=1 } return



adc

リンク

2023/10/11(Wed) 22:58:33|NO.100198

goto*startの指摘までしてくれてありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100181への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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