×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

ゲームを作ろう! テキストアドベンチャーその2 隠しパラメータでフラグ管理


前回は「鍵を持っている」ことを隠しパラメータにする前提でテキストアドベンチャーゲームを作りましたが、実際のゲームなら「持っているアイテム」はプレイヤーがチェックできたりします。
これをできるようにしてみましょう。
一番簡単なのは、アイテム欄を常時表示しておいて、鍵を手に入れたらその後はずっと「鍵」と表示しておくことです。
今のゲーム画面のレイアウトなら、アイテム欄を常時表示でも特に困ることはありませんね。

しかしアイテムがひとつではつまらないので、「金色の鍵」「銀色の鍵」のふたつを入手して、扉の前でどっちを使うか選ぶようにしましょうか。
間違った鍵を使うとゲームオーバーになるとか。
その為のヒントもどこかに提示するとか。
……どうしたら良いかな?

勇者の前に、扉A、扉B、扉Cがある。

扉A→部屋Aに入る。
宝箱Aを発見した。中には、金色の鍵が入っていた。
この部屋をもう少し探索する?
探索する:宝箱の蓋の裏に、「銀は地の底深く落ちる」と書いてある。どういうことだろうか。他には何もないので扉の前に戻ろう。
探索しない:扉の前に戻ろう。

扉B→部屋Bに入る。
宝箱Bを発見した。中には、銀色の鍵が入っていた。
この部屋をもう少し探索する?
探索する:宝箱の蓋の裏に、「黄金は先の道を開く」と書いてある。どういうことだろうか。他には何もないので扉の前に戻ろう。
探索しない:扉の前に戻ろう。

扉C→部屋Cに入る。
中には、鍵がかかった扉があった。
鍵がないと先に進めないので扉の前に戻る。
部屋AかBで鍵を取っていたら、鍵を使うかどうか選択肢が出る。部屋を出る選択肢も出る。
金色の鍵を使うとクリア。
銀色の鍵を使うと落とし穴に落ちてゲームオーバー。

複雑になってきましたね。
フラグ管理(ゲーム進行状況の管理)をするために、前回の「Key」の他にも隠しパラメータを作る必要がありそうです。

それと、アイテム欄を作る場合、予め表示場所を決めておけば楽なのですが……

rpg

この問題もどうにかしたいです。
Ifで分岐させれば、表示場所の変更はできそうですが、大変ですね。
……大変なことばかりです。w
だからゲームを作る専用ソフトを使った方が(以下省略

そういえば、前回のプログラムを実際にプレイして思ったのですが、「今いる部屋の名前」が常に表示されていると親切で良いかなぁ、と。
あと、マウスを押した時(メッセージ送りの時など)にクリック音があるといいかな?
これらもなんとかして加えたいです。

さて、アイテム表示位置の問題をまず片付けましょう。
アイテム表示位置の座標を、予め決めます。

1つ目のアイテム表示位置……座標(item1X, item1Y)
2つ目のアイテム表示位置……座標(item2X, item2Y)

また、アイテムを入手したら「アイテム所持数」という隠しパラメータの数を増やしていくことにしましょう。
アイテム所持数は初期が0で、以降、アイテムを入手するたびに1ずつ増えます。

アイテム所持数=0ならば、座標(item1X, item1Y)に新しいアイテム名を記入。
アイテム所持数=1ならば、座標(item2X, item2Y)に新しいアイテム名を記入……

を繰り返せば、アイテム欄の上から順に、入手アイテムが埋まっていくはずです。

ということで、隠しパラメータが増えました。
以下のようにしましょう。

Goldkey:アイテム「金色の鍵」をもっているかどうか。初期は0、持っていたら1
Silberkey:アイテム「銀色の鍵」をもっているかどうか。初期は0、持っていたら1
itemnumber:所持しているアイテムの数。初期は0、最大2
hidaritakara:左の部屋の宝箱の裏を見たかどうか。初期は0、見たら1
chuotakara:中央の部屋の宝箱の裏を見たかどうか。初期は0、見たら1

プログラム冒頭を作り直してみます。最初の画面のレイアウトは、こんな感じに。

rpg

見ての通り、最初の扉の背景だけ作りました。w
適当感にあふれています。
アイテムは本来、開始時には表示されないはずですが、表示位置のテストとして表示させました。
それと、以降ではフォントを「メイリオ」で統一します。
表示位置決定に、フォントは重要です。フォントによって幅が変化するからです。
Windows Vista以降のWindowsパソコンには「メイリオ」が標準で搭載されているはずです。
一応このプログラムは、「Windows 7」以降のWindowsパソコンで動かすことを想定していますので……もしメイリオを搭載していないパソコンでプレイする時は、ソースコードから
「GraphicsWindow.FontName = "メイリオ"」
の「メイリオ」部分を変更するとかしてください。

あと、上の画像を撮った後に、「Wingdings 3」というフォントで「u」と表示すると、
rpg
と表示されることを知ったので、クリックボタンを全部変更しました。
お使いのパソコンに「Wingdings 3」がインストールされている環境だと、「u」という文字で斜めの三角形が表示されるはずですが、それ以外の環境では「u」が表示されると思います。「Wingdings 3」はWindowsパソコンなら標準でインストールされています。

例によって長いよ!

GraphicsWindow.Title = "勇者VS魔王 魔王城探索"
GraphicsWindow.Width = 600
GraphicsWindow.Height = 400
GraphicsWindow.BackgroundColor = haikeicolor

haikeicolor = "black"
mojicolor = "white"

'メッセージ表示位置
massagewindowX = 130 'メッセージウィンドウのX座標
massagewindowY = 280 'メッセージウィンドウのY座標

GraphicsWindow.FontName = "メイリオ"

'メッセージウィンドウの枠
GraphicsWindow.PenColor = mojicolor
GraphicsWindow.DrawRectangle(massagewindowX - 2, massagewindowY - 2, 365, 100)

'アイテムウィンドウの枠
itemwindowX = 370
itemwindowY = 10
GraphicsWindow.PenColor = mojicolor
GraphicsWindow.DrawRectangle(itemwindowX - 2, itemwindowY - 2, 200, 80)
GraphicsWindow.BrushColor = "DarkSlateGray"
GraphicsWindow.FillRectangle(itemwindowX - 5, itemwindowY - 5, 80, 18)
GraphicsWindow.BrushColor = mojicolor
GraphicsWindow.DrawText(itemwindowX + 11, itemwindowY - 4, "アイテム")

'居場所ウィンドウの枠
basyowindowX = 10
basyowindowY = 10
GraphicsWindow.DrawRectangle(basyowindowX - 2, basyowindowY - 2, 150, 80)
GraphicsWindow.BrushColor = "DarkSlateGray"
GraphicsWindow.FillRectangle(basyowindowX - 5, basyowindowY - 5, 80, 18)
GraphicsWindow.BrushColor = mojicolor
GraphicsWindow.DrawText(basyowindowX + 14, basyowindowY - 4, "現在地")

'背景用座標設定
haikeiX = 0
haikeiY = 90
haikeisizeX = 600
haikeisizeY = 183

'ボタン設定
GraphicsWindow.FontSize = 18
GraphicsWindow.BrushColor = "black"
tobira1 = Controls.AddButton("左の扉", 500, 280)
tobira2 = Controls.AddButton("中央の扉", 500, 320)
tobira3 = Controls.AddButton("右の扉", 500, 360)

GraphicsWindow.FontName = "Wingdings 3"
For i = 1 to 10 'ここから、それぞれの部屋の会話用ボタン
  heya1[i] = Controls.AddButton("u", 520, 360)
EndFor
For i = 1 to 10
  heya2[i] = Controls.AddButton("u", 520, 360)
EndFor
For i = 1 to 10
  heya3[i] = Controls.AddButton("u", 520, 360)
EndFor

GraphicsWindow.FontName = "メイリオ"
'左の部屋探索用
hidari1Yes = Controls.AddButton("探索する", 500, 280)
hidari1No = Controls.AddButton("戻る", 500, 320)
hidari2Yes = Controls.AddButton("探索する", 500, 280)
hidari2No = Controls.AddButton("戻る", 500, 320)
'中央の部屋探索用
chuou1Yes = Controls.AddButton("探索する", 500, 280)
chuou1No = Controls.AddButton("戻る", 500, 320)
chuou2Yes = Controls.AddButton("探索する", 500, 280)
chuou2No = Controls.AddButton("戻る", 500, 320)
'右の部屋探索用
migigoldYes = Controls.AddButton("使う", 500, 280)
migisilYes = Controls.AddButton("使う", 500, 280)
migiNo1 = Controls.AddButton("戻る", 500, 320)
migiNo2 = Controls.AddButton("戻る", 500, 360)
migi2goldYes = Controls.AddButton("金色の鍵", 500, 280)
migi2silYes = Controls.AddButton("銀色の鍵", 500, 320)

'ボタン初期表示設定。tobira1-3だけ表示したままで他は隠す
For i = 1 to 10
  Controls.HideControl(heya1[i])
EndFor
For i = 1 to 10
  Controls.HideControl(heya2[i])
EndFor
For i = 1 to 10
  Controls.HideControl(heya3[i])
EndFor
Controls.HideControl(hidari1Yes)
Controls.HideControl(hidari1No)
Controls.HideControl(hidari2Yes)
Controls.HideControl(hidari2No)
Controls.HideControl(chuou1Yes)
Controls.HideControl(chuou1No)
Controls.HideControl(chuou2Yes)
Controls.HideControl(chuou2No)
Controls.HideControl(migigoldYes)
Controls.HideControl(migisilYes)
Controls.HideControl(migiNo1)
Controls.HideControl(migiNo2)
Controls.HideControl(migi2goldYes)
Controls.HideControl(migi2silYes)

'フラグ設定用の変数
Goldkey = 0 'アイテム「金色の鍵」をもっているかどうか
Silverkey = 0 'アイテム「銀色の鍵」をもっているかどうか
itemnumber = 0 '所持しているアイテムの数
hidaritakara = 0 '左の部屋の宝箱の裏を見たかどうか
chuotakara = 0 '中央の部屋の宝箱の裏を見たかどうか

'アイテム表示位置
item1X = itemwindowX + 11 '1つ目のアイテム表示位置X座標
item1Y = itemwindowY + 15 '1つ目のアイテム表示位置Y座標
item2X = itemwindowX + 11 '2つ目のアイテム表示位置X座標
item2Y = itemwindowY + 40 '2つ目のアイテム表示位置Y座標

'勇者のメッセージウィンドウ横顔グラフィック。開始時に勇者の顔を表示
yuusyakaoimage1 = "http://farm3.staticflickr.com/2861/34019110651_b5d2da3fb4_b.jpg"
GraphicsWindow.DrawImage(yuusyakaoimage1, massagewindowX - 110, massagewindowY)

'開始時のメッセージウィンドウ内セリフ
GraphicsWindow.FontSize = 17
GraphicsWindow.BrushColor = mojicolor
GraphicsWindow.DrawText(massagewindowX, massagewindowY, "目の前に、三つの扉がある。")
GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")

'開始時の背景
tobiraheyabg = "https://farm3.staticflickr.com/2934/33405150203_0b19e43e55_b.jpg"
GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示

'開始時の場所
GraphicsWindow.BrushColor = mojicolor
basyohyoujiwindowX = basyowindowX + 8
basyohyoujiwindowY = basyowindowY + 15
GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")

Controls.ButtonClicked = OnClick

'左の扉に入った かつ 「金色の鍵」を持っていない
Sub OnClick
  If Controls.LastClickedButton = tobira1 And Goldkey = 0 And hidaritakara = 0 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は左の扉に入った。")
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "左の部屋")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(heya1[1])
  ElseIf Controls.LastClickedButton = heya1[1]Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は宝箱を見つけた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "宝箱を開いた。")
    Controls.HideControl(heya1[1])
    Controls.ShowControl(heya1[2])
  ElseIf Controls.LastClickedButton = heya1[2] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は「金色の鍵」を見つけた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「金色の鍵」を手に入れた。")
    Goldkey = Goldkey + 1 '変数Goldkeyを1にすることで金色の鍵を持っていることにする
    Controls.HideControl(heya1[2])
    Controls.ShowControl(heya1[3])
    If itemnumber = 0 Then
      GraphicsWindow.BrushColor = mojicolor
      GraphicsWindow.DrawText(item1X, item1Y, "金色の鍵")
      itemnumber = itemnumber + 1
    ElseIf itemnumber = 1 Then
      GraphicsWindow.BrushColor = mojicolor
      GraphicsWindow.DrawText(item2X, item2Y, "金色の鍵")
      itemnumber = itemnumber + 1
    EndIf
  ElseIf Controls.LastClickedButton = heya1[3] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "この部屋をもう少し探索する?")
    Controls.HideControl(heya1[3])
    Controls.ShowControl(hidari1Yes)
    Controls.ShowControl(hidari1No)
  ElseIf Controls.LastClickedButton = hidari1Yes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "宝箱の蓋の裏に、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「銀は地の底深く落ちる」と書いてある。")
    hidaritakara = hidaritakara + 1
    Controls.HideControl(hidari1Yes)
    Controls.HideControl(hidari1No)
    Controls.ShowControl(heya1[4])
  ElseIf Controls.LastClickedButton = heya1[4] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "どういうことだろうか。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他には何もないので扉の前に戻ろう。")
    Controls.HideControl(heya1[4])
    Controls.ShowControl(heya1[5])
  ElseIf Controls.LastClickedButton = hidari1No Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "扉の前に戻ろう。")
    Controls.HideControl(hidari1Yes)
    Controls.HideControl(hidari1No)
    Controls.ShowControl(heya1[6])
  ElseIf Controls.LastClickedButton = heya1[5] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya1[5])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  ElseIf Controls.LastClickedButton = heya1[6] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya1[6])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf

'左の扉に入った かつ 「金色の鍵」を持っている かつ 宝箱裏を見ていない
If Controls.LastClickedButton = tobira1 And Goldkey = 1 And hidaritakara = 0 Then
   Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "左の部屋")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "左の部屋の宝箱は開けたが、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "もっと探索してみるか?")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(hidari2Yes)
    Controls.ShowControl(hidari2No)
  ElseIf Controls.LastClickedButton = hidari2Yes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "宝箱の蓋の裏に、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「銀は地の底深く落ちる」と書いてある。")
    hidaritakara = hidaritakara + 1
    Controls.HideControl(hidari2Yes)
    Controls.HideControl(hidari2No)
    Controls.ShowControl(heya1[7])
  ElseIf Controls.LastClickedButton = heya1[7] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "どういうことだろうか。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他には何もないので扉の前に戻ろう。")
    Controls.HideControl(heya1[7])
    Controls.ShowControl(heya1[8])
  ElseIf Controls.LastClickedButton = hidari2No Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "扉の前に戻ろう。")
    Controls.HideControl(hidari2Yes)
    Controls.HideControl(hidari2No)
    Controls.ShowControl(heya1[8])
  ElseIf Controls.LastClickedButton = heya1[8] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya1[8])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf

'左の扉に入った かつ 「金色の鍵」を持っている かつ 宝箱裏を見た
  If Controls.LastClickedButton = tobira1 And Goldkey = 1 And hidaritakara = 1 Then
   Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "この部屋の探索は済ませている。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他の部屋を探索しよう。")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(heya1[9])
  ElseIf Controls.LastClickedButton = heya1[9] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya1[9])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf
    
'中央の扉に入った かつ 「銀色の鍵」を持っていない
  If Controls.LastClickedButton = tobira2 And Silverkey = 0 And chuotakara = 0 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は中央の扉に入った。")
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "中央の部屋")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(heya2[1])
  ElseIf Controls.LastClickedButton = heya2[1] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は宝箱を見つけた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "宝箱を開いた。")
    Controls.HideControl(heya2[1])
    Controls.ShowControl(heya2[2])
  ElseIf Controls.LastClickedButton = heya2[2] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "勇者は「銀色の鍵」を見つけた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「銀色の鍵」を手に入れた。")
    Silverkey = Silverkey + 1 '変数Silverkeyを1にすることで銀色の鍵を持っていることにする
    If itemnumber = 0 Then
      GraphicsWindow.BrushColor = mojicolor
      GraphicsWindow.DrawText(item1X, item1Y, "銀色の鍵")
      itemnumber = itemnumber + 1
    ElseIf itemnumber = 1 Then
      GraphicsWindow.BrushColor = mojicolor
      GraphicsWindow.DrawText(item2X, item2Y, "銀色の鍵")
      itemnumber = itemnumber + 1
    EndIf
    Controls.HideControl(heya2[2])
    Controls.ShowControl(heya2[3])
  ElseIf Controls.LastClickedButton = heya2[3] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "この部屋をもう少し探索する?")
    Controls.HideControl(heya2[3])
    Controls.ShowControl(chuou1Yes)
    Controls.ShowControl(chuou1No)
  ElseIf Controls.LastClickedButton = chuou1Yes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "宝箱の蓋の裏に、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「黄金は先の道を開く」と書いてある。")
    chuotakara = chuotakara + 1
    Controls.HideControl(chuou1Yes)
    Controls.HideControl(chuou1No)
    Controls.ShowControl(heya2[4])
  ElseIf Controls.LastClickedButton = heya2[4] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "どういうことだろうか。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他には何もないので扉の前に戻ろう。")
    Controls.HideControl(heya2[4])
    Controls.ShowControl(heya2[5])
  ElseIf Controls.LastClickedButton = chuou1No Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "扉の前に戻ろう。")
    Controls.HideControl(chuou1Yes)
    Controls.HideControl(chuou1No)
    Controls.ShowControl(heya2[5])
  ElseIf Controls.LastClickedButton = heya2[5] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya2[5])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf

'中央の扉に入った かつ 「銀色の鍵」を持っている かつ 宝箱裏を見ていない
  If Controls.LastClickedButton = tobira2 And Silverkey = 1 And chuotakara = 0 Then
   Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "中央の部屋")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "中央の部屋の宝箱は開けたが、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "もっと探索してみるか?")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(chuou2Yes)
    Controls.ShowControl(chuou2No)
  ElseIf Controls.LastClickedButton = chuou2Yes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "宝箱の蓋の裏に、")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "「黄金は先の道を開く」と書いてある。")
    chuotakara = chuotakara + 1
    Controls.HideControl(chuou2Yes)
    Controls.HideControl(chuou2No)
    Controls.ShowControl(heya2[6])
  ElseIf Controls.LastClickedButton = heya2[6] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "どういうことだろうか。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他には何もないので扉の前に戻ろう。")
    Controls.HideControl(heya2[6])
    Controls.ShowControl(heya2[7])
  ElseIf Controls.LastClickedButton = chuou2No Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "扉の前に戻ろう。")
    Controls.HideControl(chuou2Yes)
    Controls.HideControl(chuou2No)
    Controls.ShowControl(heya2[7])
  ElseIf Controls.LastClickedButton = heya2[7] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya2[7])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf
  
'中央の扉に入った かつ 「銀色の鍵」を持っている かつ 宝箱裏を見た
  If Controls.LastClickedButton = tobira2 And Silverkey = 1 And chuotakara = 1 Then
   Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "この部屋の探索は済ませている。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "他の部屋を探索しよう。")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(heya2[8])
  ElseIf Controls.LastClickedButton = heya2[8] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya2[8])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf

'右の扉に入った かつ 鍵を持っていない
  If Controls.LastClickedButton = tobira3  And Goldkey = 0 And Silverkey = 0 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "右の部屋")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "部屋の中には、錠前で閉ざされた扉があった。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "鍵がないと、開きそうにない。")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(heya3[1])
  ElseIf Controls.LastClickedButton = heya3[1] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "鍵を探すために戻ろう。")
    Controls.HideControl(heya3[1])
    Controls.ShowControl(heya3[2])
  ElseIf Controls.LastClickedButton = heya3[2] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya3[2])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf
  
'右の扉に入った かつ 1つだけ鍵を持っている
  If Controls.LastClickedButton = tobira3 And itemnumber = 1 Then '「itemnumber = 1」で、鍵を1つだけ持っていると判定する
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "右の部屋")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "部屋の中には、錠前で閉ざされた扉があった。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "持っている鍵を使う? それとも探索に戻る?")
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
    Controls.ShowControl(migiNo1)
    If Goldkey = 1 And Silverkey = 0 Then 'ここで「金の鍵」または「銀の鍵」を表示する分岐
      Controls.ShowControl(migigoldYes)
    ElseIf Goldkey = 0 And Silverkey = 1 Then
      Controls.ShowControl(migisilYes)
      EndIf
  ElseIf Controls.LastClickedButton = migigoldYes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "解錠することができた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "扉を開き、先に進もう。(おわり)")
    Controls.HideControl(migiNo1)
    Controls.HideControl(migigoldYes)
  ElseIf Controls.LastClickedButton = migisilYes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "なんと、落とし穴が開き勇者は奈落の底へ!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "銀色の鍵は罠だった……。 BAD END")
    Controls.HideControl(migiNo1)
    Controls.HideControl(migisilYes)
  ElseIf Controls.LastClickedButton = migiNo1 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻ろう。")
    Controls.HideControl(migiNo1)
    Controls.HideControl(migigoldYes)
    Controls.ShowControl(heya3[3])
  ElseIf Controls.LastClickedButton = heya3[3] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya3[3])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf

'右の扉に入った かつ 2つ鍵を持っている
  If Controls.LastClickedButton = tobira3 And itemnumber = 2 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(haikeiX, haikeiY, haikeisizeX, haikeisizeY) '背景消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "右の部屋")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "部屋の中には、錠前で閉ざされた扉があった。")
    If hidaritakara = 1 And chuotakara = 1 Then '両方の宝箱の裏を見ていたらどちらの鍵を使うかのみ選択
      GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの鍵を使おうか?")
    Else '両方の宝箱の裏を見ていない場合は戻るかどうか表示
      GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "持っている鍵を使う? それとも探索に戻る?")
      Controls.ShowControl(migiNo2)
    EndIf
    Controls.ShowControl(migi2goldYes)
    Controls.ShowControl(migi2silYes)
    Controls.HideControl(tobira1)
    Controls.HideControl(tobira2)
    Controls.HideControl(tobira3)
  ElseIf Controls.LastClickedButton = migi2goldYes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "解錠することができた!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "扉を開き、先に進もう。(おわり)")
    Controls.HideControl(migi2goldYes)
    Controls.HideControl(migi2silYes)
  ElseIf Controls.LastClickedButton = migi2silYes Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "なんと、落とし穴が開き勇者は奈落の底へ!")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "銀色の鍵は罠だった……。 BAD END")
    Controls.HideControl(migi2goldYes)
    Controls.HideControl(migi2silYes)
  ElseIf Controls.LastClickedButton = migiNo2 Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻ろう。")
    Controls.HideControl(migiNo2)
    Controls.HideControl(migi2goldYes)
    Controls.HideControl(migi2silYes)
    Controls.ShowControl(heya3[4])
  ElseIf Controls.LastClickedButton = heya3[4] Then
    Sound.PlayClick()
    GraphicsWindow.BrushColor = haikeicolor
    GraphicsWindow.FillRectangle(massagewindowX, massagewindowY, 360, 90) 'メッセージウィンドウ台詞消去用
    GraphicsWindow.FillRectangle(basyohyoujiwindowX, basyohyoujiwindowY, 135, 20) '場所消去用
    GraphicsWindow.DrawImage(tobiraheyabg, haikeiX, haikeiY) '扉の部屋背景表示
    GraphicsWindow.BrushColor = mojicolor
    GraphicsWindow.DrawText(basyohyoujiwindowX, basyohyoujiwindowY, "三つの扉の前")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY, "三つの扉の前に戻った。")
    GraphicsWindow.DrawText(massagewindowX, massagewindowY + 30, "どの扉に入る?")
    Controls.HideControl(heya3[4])
    Controls.ShowControl(tobira1)
    Controls.ShowControl(tobira2)
    Controls.ShowControl(tobira3)
  EndIf
EndSub


rpg

rpg

rpg

rpg

rpg

左上に現在地が表示、アイテム名も取得順で変化するようになりました。
その他、隠しパラメータを使ってフラグを分岐させています。


▲TOPへ戻る