コメント

このコメントは、【トピック】キーボードでのパスワード入力についての質問です><へのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/07/05 00:07/05/12)
スクリプトを記載するときは
{{{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関数がきているので
必ずゲームオーバーに移動します


まずはこのように、順を追って
処理がどうなっているか
確認する必要があります

それから、どこに何の処理を入れるべきか
まずはコメントなどで準備をしておき
その後、実際にスクリプトを入れるように
してみましょう

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/07/05 00:07/05/12)
スクリプトを記載するときは
{{{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関数がきているので
必ずゲームオーバーに移動します


まずはこのように、順を追って
処理がどうなっているか
確認する必要があります

それから、どこに何の処理を入れるべきか
まずはコメントなどで準備をしておき
その後、実際にスクリプトを入れるように
してみましょう