コメント
このコメントは、【トピック】キーボードでのパスワード入力についての質問です><へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
スクリプトを記載するときは
を使ってもらえると分かりやすくなります
さて、整理しなおしたものを拝見すると
まず、スクリプトは上から順に処理されます
パスワードがあっていたときの処理の中で
フラグ変数「answer」が変更されていますね
次に、if文でフラグ変数「"A"」の状態を元に
処理が分岐されています
フラグ変数「"A"」は
ここまで何も設定されていないので
スルーされてif文を抜けます
つまり、goEnding関数は絶対に処理されない
流れになっているわけです
次にフラグ変数「answer」の状態を元に
処理が分岐されています
ここでspeak関数で表示がされるか分岐した後
if文が終了しています
最後にif文などで分岐されていない場所に
goBadEnding関数がきているので
必ずゲームオーバーに移動します
まずはこのように、順を追って
処理がどうなっているか
確認する必要があります
それから、どこに何の処理を入れるべきか
まずはコメントなどで準備をしておき
その後、実際にスクリプトを入れるように
してみましょう
{{{code
}}}
を使ってもらえると分かりやすくなります
さて、整理しなおしたものを拝見すると
#////////////////////////////////////////////
if K == 1
if i == 0
#パスワード1に合っていたときの処理
answer = true
elsif i == 1
#パスワード2に合っていたときの処理
answer = true
elsif i == 1
#パスワード3に合っていたときの処理
answer = true
end
end
if getFlag("A")
goEnding()
#////////////////////////////////////////////
if pasyu == 5
i = i + 1
end
i = i + 1
end
if !answer
speak("パスワードが違います。\n入力:",p)
end
hideImage()
goBadEnding()
setFlag("A", true)
end
まず、スクリプトは上から順に処理されます
パスワードがあっていたときの処理の中で
フラグ変数「answer」が変更されていますね
次に、if文でフラグ変数「"A"」の状態を元に
処理が分岐されています
フラグ変数「"A"」は
ここまで何も設定されていないので
スルーされてif文を抜けます
つまり、goEnding関数は絶対に処理されない
流れになっているわけです
次にフラグ変数「answer」の状態を元に
処理が分岐されています
ここでspeak関数で表示がされるか分岐した後
if文が終了しています
最後にif文などで分岐されていない場所に
goBadEnding関数がきているので
必ずゲームオーバーに移動します
まずはこのように、順を追って
処理がどうなっているか
確認する必要があります
それから、どこに何の処理を入れるべきか
まずはコメントなどで準備をしておき
その後、実際にスクリプトを入れるように
してみましょう
{{{code }}}を使ってもらえると分かりやすくなります
さて、整理しなおしたものを拝見すると
#//////////////////////////////////////////// if K == 1 if i == 0 #パスワード1に合っていたときの処理 answer = true elsif i == 1 #パスワード2に合っていたときの処理 answer = true elsif i == 1 #パスワード3に合っていたときの処理 answer = true end end if getFlag("A") goEnding() #//////////////////////////////////////////// if pasyu == 5 i = i + 1 end i = i + 1 end if !answer speak("パスワードが違います。\n入力:",p) end hideImage() goBadEnding() setFlag("A", true) endまず、スクリプトは上から順に処理されます
パスワードがあっていたときの処理の中で
フラグ変数「answer」が変更されていますね
次に、if文でフラグ変数「"A"」の状態を元に
処理が分岐されています
フラグ変数「"A"」は
ここまで何も設定されていないので
スルーされてif文を抜けます
つまり、goEnding関数は絶対に処理されない
流れになっているわけです
次にフラグ変数「answer」の状態を元に
処理が分岐されています
ここでspeak関数で表示がされるか分岐した後
if文が終了しています
最後にif文などで分岐されていない場所に
goBadEnding関数がきているので
必ずゲームオーバーに移動します
まずはこのように、順を追って
処理がどうなっているか
確認する必要があります
それから、どこに何の処理を入れるべきか
まずはコメントなどで準備をしておき
その後、実際にスクリプトを入れるように
してみましょう