“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

172.HSPでゲームを作ろう:培養臼Ex その13

ここまで2周目に関連する処理を追加、変更してきたのだが、一度でも1周目をクリアしないと、2周目(ハードモード)に難易度の変更ができない。
ハチャメチャな感じに仕上げる予定の2周目を遊んでもらえないのはさみしいので、隠しコマンドを仕込むことにした。

タイトル画面で、あるコマンドを入力すれば、一時的にオールクリアフラグを立てて、オプション画面でハードモードに変更できるようにした。
本当にクリアしていないので、DBのオールクリアフラグの更新はしない。毎回起動するたびに入力してもらうことにした。

コマンド入力の判定は、それほど難しくない。
キー入力があったら、押したキーを表す文字を、バッファに追加。
追加したバッファの文字数分、正解のコマンド文字列の先頭から比較、間違っていれば、バッファをクリアする。
全ての文字が一致したら、オールクリアフラグを立てて、バッファをクリアする。
コマンドが有効になったかは、音を鳴らすようにしてみた。
判定処理はこんな感じで。

;隠しコマンド入力判定
if leftstr(secretcmd,strlen(inputcmd))=inputcmd {
  if strlen(secretcmd)=strlen(inputcmd) and cmdon=0 {
    logmes "Good!"
    u_acflg=1
    cmdon=1
    inputcmd=""
    if sesoundflg=1 : mmvol SE_SEC,-1000+u_sevol*10 : mmplay SE_SEC
  }
} else {
  inputcmd=""
}

※注:leftstrは私が定義した関数で、HSP3標準関数ではありません。

cmdonという変数を用意したのは、オプション画面で、ハードモードに変更したときにDBを更新しないようにするため。
そうしないと、ノーマルモードに戻せないww

隠しコマンドのヒントは、このブログだけで公開。(誰が見てるのかww)
このゲームのネタ元であるグラディウスIII。このゲームには知っている人は知っている、うまーな魔法のワードがあります。
そのワードにちなんだコマンドを入力してください。