• ベストアンサー

HSPについて

HSP初心者ですが↓のスクリプトは暗記ゲームなんですが、同じようなことを何度も繰り返しています。省略する方法はないのでしょうか。それとinput命令で最初にある0を消してから入力しなければいけませんが、最初を空白にする方法も教えてください。 randomize cls *q1 cls s=0 q+=1 a1=rnd(9)+1 mes ""+a1+"" wait 100 cls input s,100,20,q button "判定",*h1 a=a1 stop *h1 cls if a=s : wait 100 : else :mes "不正解" : wait 100 : end *q2 cls s=0 q+=1 a1=rnd(9)+1 : a2=rnd(9)+1 mes ""+a1+""+a2+"" wait 100 cls input s,100,20,q a=a1*10+a2 button "判定",*h2 stop *h2 cls if a=s : wait 100 : else :mes "不正解" : wait 100 : end *q3 cls s=0 q+=1 a1=rnd(9)+1 : a2=rnd(9)+1 : a3=rnd(9)+1 mes ""+a1+""+a2+""+a3+"" wait 100 cls input s,100,20,q a=a1*100+a2*10+a3 button "判定",*h3 stop *h3 cls if a=s : wait 100 : else :mes "不正解" : wait 100 : end *q4 ・ ・ ・

質問者が選んだベストアンサー

  • ベストアンサー
  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.3

>1問ごとに1桁ずつ増やしたいのですが、どうすればいいでしょう。 -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- randomize *start cls y=0:c=1:t=0:num=10:adj=1 *h0 a=rnd(num-adj)+adj pos 0,y mes " " pos 0,y mes ""+a+"" wait 100 pos 0,y s="" input s,100,20 pos 100,y button "判定",*h1 stop *h1 pos 100,y if a=s : mes "正解" : t=t+1: else :mes "不正解" y=y+25:c=c+1:num=num*10:adj=adj*10 clrobj if c <= 6 : goto *h0 pos 0,y mes"5問中"+""+t+""+"問正解" button "続ける",*start button "終わる",*finish stop *finish end

その他の回答 (2)

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

HSPを今はじめて触ったのですが面白いですね。 -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- randomize *h0 cls s="" a=rnd(9)+1 mes ""+a+"" wait 100 cls input s,100,20 button "判定",*h1 stop *h1 cls if a=s : mes "正解": else :mes "不正解" : wait 100 goto *h0

adojanaiyo
質問者

お礼

ありがとうございます。 1問ごとに1桁ずつ増やしたいのですが、どうすればいいでしょう。

回答No.1

HSPについては詳しくありませんが、このような場合は、「関数」を使って組んだほうがよいかと思います。