caseで文字列を・・・(質問掲示板)
投稿:
闇さん
投稿:2012/07/08 17:13:08(最新:2012/07/08 20:43:08)
通信機でさまざまなキャラクターから情報を得るゲームを作ろうとして
開始スクリプトにメニューカスタマイズで『通信機』を増やし
その中身か↓です
通信機の周波数が小数点以下七桁目はランダムですが
ceseではg(1+2+3+4+5+6)で調べています
000000と選択しても闇龍神という表示が出ず
番号を間違えた時のメッセージが出ます
エラー文はありません 何が間違っているのでしょう
ツイート
開始スクリプトにメニューカスタマイズで『通信機』を増やし
その中身か↓です
a=createArray()
while n<8
a[n]=" "
n=n+1
end
c=0
while c<7
case speakWithSelect(16,"0","1","2","3","4","5","6","7","8","9","α","β","γ","δ","ε","ζ",
"周波数を入力してください\n"+a[0]+a[1]+a[2]+"."+a[3]+a[4]+a[5]+a[6]+a[7])
when 0
a[c]="0"
when 1
a[c]="1"
when 2
a[c]="2"
when 3
a[c]="3"
when 4
a[c]="4"
when 5
a[c]="5"
when 6
a[c]="6"
when 7
a[c]="7"
when 8
a[c]="8"
when 9
a[c]="9"
when 10
a[c]="α"
when 11
a[c]="β"
when 12
a[c]="γ"
when 13
a[c]="δ"
when 14
a[c]="ε"
when 15
a[c]="ζ"
end
c=c+1
end
a[7]=a[rand(7)]
speak("・・・・・発信中・・・・・・・\n"+a[0]+a[1]+a[2]+"ー"+a[3]+a[4]+a[5]+a[6]+a[7])
setBaseTime()
k=0
w="てきとうな番号"
v=1
g=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]
g=toString(g)
case g
when "000000"
k=1
w="作者・闇龍神"
v=0
speak("てすと")
end
speak(g)
speak(w+"に連絡した")
speak(getVariable("通信機")[k])
通信機の周波数が小数点以下七桁目はランダムですが
ceseではg(1+2+3+4+5+6)で調べています
000000と選択しても闇龍神という表示が出ず
番号を間違えた時のメッセージが出ます
エラー文はありません 何が間違っているのでしょう
コメントする
コメントするには、ログインする必要があります。
凡ミス・・・
さすがに七桁は多すぎですかね?
ゲーム中で教えてもらった周波数を保存する場所が無いですし・・・
教えてもらったかどうかのフラグを管理しておき
フラグがオンの場合、
かけられる選択肢が増えていく
といった仕様が良いかも
演出でどうしてもこの方が良い
というなら別ですが
パスワード式の場合だとMGS3で出てきた
特定の周波数で開く扉等を作れるのでこれを使いました
MGS3だと選択肢と周波数を合わせるのが両方ありますが
さすがにそれは実力的に作れないので・・・