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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1115
ookennこのプログラムのエラーについて3解決


ookenn

リンク

2009/11/15(Sun) 01:42:31|NO.28877

初心者でよくわからないのですが
タイピングゲームを作っていると
●のところで
ラベルは指定できませんと出ます
とエラーが表示されます
自分でもがんばってみたのですがよくわからず
ここにいたったのです
ちなみに1行目を消去してみたところ2行目でまた引っかかりました
2行とも消去したところ、そこまでは難なく進みました
でもここの部分なくなってもらっては困るので
どうにか解決策を探しております
なぜ、エラーが出るのか、解決法を教えていただきますと助かります

celload"1.bmp",1
celload"2.bmp",2
celload"3.bmp",3
cls
gradf ,,,,1,7646754786534,4654
color 0,250,250
width 11111,300
font msgothic,30
mes
mes " ルール説明"
mes
font msgothic,32
mes"ルールはいたって簡単、
mes"これから出題される"
mes"文字をタイピングするだけでよいのです。"
mes"ちなみに、このタイピングゲームでは"
mes"しはSI んはNN となっています"
mes"したには見本があり"
mes"これをみながらやれば間違えなし"
mes"ハイスコアを目指してがんばってください"
pos 240,400

button " OK ",*ll
stop

*ll
mmload"Blue_Sedan.wma",,1
mmplay
cls
; タイピングゲーム サンプル
;

title "タイピングゲーム"
randomize
gradf ,,,,1,384567876547,387578765478765
width 380,1200
pos 130,10
objsize 320,150
objimage 1,,,,,-5,-5
button"",*o1
objimage 2,,,,,-5,-5
button"",*o2
objimage 3,,,,,-5,-5
button"",*o3
stop
*o1
aaa=1
goto*omjj
stop
*o2
aaa=2
goto*omjj
stop
*o3
aaa=3
goto*omjj
stop
*omjj
cls
gradf ,,,,,465748384756748857,48754834945
font msgothic,120
pos 40,100
color 250,200,
mes"レディー?"
font msgothic,35
pos 180,300
color ,250,2500
mes "ENTERスタート"
repeat
getkey llk,13
if llk=1:goto,*a
await 300
loop
stop
*a
cls

width 1000,10000
*start
; ゲーム開始
score=0
*greset
; 問題の準備

cursor=0
timer=600
typemode=0
m=rnd(10)
if m=0 : mondai="KONNNITIWAYOITENNKIDESUNE":mondai2="こんにちわ良い天気ですね"
if m=1 : mondai="KYOUHANANNYOUBIDESUKA":mondai2="今日は何曜日ですか?"
if m=2 : mondai="WATASINOTOMODATIHAYAKYUUWOSITEIMASU":mondai2="わたしの友達は野球をしています"
if m=3 : mondai="WATASIHA100TENNWOTORIMASITA":mondai2="私は100点を取りました"
if m=4 : mondai="IMAHATORIKOMITYUUDESU":mondai2="今は取り込み中です"
if m=5 : mondai="NAZEKYOUHADOKONIMOIKANAINNDESUKA":mondai2="なぜ今日はどこにも行かないんですか?"
if m=6 : mondai="HARUNATUAKIHUYUTOKISETUHASUGIMASU":mondai2="春夏秋冬と季節は過ぎます"
if m=7 : mondai="KONOHIWOMATINOZONNDEIMASITA":mondai2="この日を待ち望んでいました"
if m=8 : mondai="1467NENNNIOUNINNNORANNGAARIMASITA":mondai2="1467年に応仁の乱がありました"
if m=9 : mondai="MUKASIMUKASIARUTOKORONIOZIISANGAORIMASITA":mondai2="昔々ある所にお爺さんがおりました"

onkey gosub,*typein
*main

redraw 0

gradf ,,,,,465748384756748857,48754834945
; ゲームメイン

color 192,192,192
font msgothic,16
color 0,250,0
pos 80,20:mes "残り時間:"+timer
pos 80,40:mes "スコア:"+score
font msgothic,30,1
color 250,1202,350
pos 50,198:mes mondai2
pos 50,238:mes mondai
pos 50,238:color ,244,:mes strmid(mondai,0,cursor)
redraw 1
await 50
if typemode>0 : onkey 0 : goto *greset
if timer<=0 : onkey 0 : goto *gameover
timer=timer-aaa
goto,*main
*gameover
mmload"taihou.wav"
mmplay
cls 3
gradf ,,,,,1453367898765445678907654332,23474567890965476578765432343679
onkey 0
font msgothic,70
color 250,50,70
pos 100,100
mes "ゲームオーバー"
mes "スコア"+score+""


pos 250,300
button"もう一度",*ll
button"終了",*en
stop
*en
end

*typein
; キーを押した時の処理
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
a=peek(mondai,cursor)
if a!=iparam : goto *typemiss
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
len=strlen(mondai)
cursor=cursor+1:if cursor<len:mmload "gatu.wav": await:mmplay:goto*main; ここ重要
goto,*win
*typemiss
; ミスタッチをした時
mmload"zasi.wav"
mmplay
return
*win
; タイピング成功
mmload"kyu.wav"
mmplay
aaa=aaa+1
typemode=1
score+=10
goto*main



この記事に返信する


窓口

リンク

2009/11/15(Sun) 02:39:10|NO.28878

75行目に a と言うラベルが有ることが原因です。
変数a あるいは ラベルa どちらかを別の名前に変えることで解決するはずです。
もしラベル名が多すぎて、整理がつかなくなったらHSPスクリプトエディター上部のメニューの
カーソル(L) → ラベル一覧(L)で 定義されているラベルを全貌出来ます。

覚えておくと便利だと思います。



あうあうあ

リンク

2009/11/15(Sun) 12:34:33|NO.28883

aという変数はラベル名として既に使用されてるので
変数名としては使用できません。
よってaという変数名を変更すれば解決されるかと思います。



ookenn

リンク

2009/11/15(Sun) 18:40:22|NO.28888

お二人ともありがとうございます
ラベルと変数も分けなきゃいけないんですね
ありがとうございました
これかも学ぶことはたくさんです



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