コメント

このコメントは、【トピック】リストの作り方へのコメントです。

コメントの内容

      mini shirosaboten(投稿日:2010/08/16 15:08/16/10)
rurun9さんのを参考にモンスターリスト考えてみました
#開始スクリプト
##リストを二次元配列にする
setVariable("monsterlist", createArray())
n = 0
while n < 10
  getVariable("monsterlist")[n] = createArray()
  n = n + 1
end

# getVariable("monsterlist")[n][m]
# n…リスト番号
# m : 0 …true か false
#   : 1 …モンスター名
#   : 2 …説明文

## m : 0 を全てfalseに
i = 0
while i < 5
 getVariable("monsterlist")[i][0] = "false"
 i = i + 1
end
## 各リスト番号のモンスター名と説明文設定
getVariable("monsterlist")[0][1] ="スライム"
getVariable("monsterlist")[0][2] ="スライム:とても弱い生き物"
getVariable("monsterlist")[1][1] ="緑ゼリー"
getVariable("monsterlist")[1][2] ="緑ゼリー:弱い生き物、緑"
getVariable("monsterlist")[2][1] ="青ゼリー"
getVariable("monsterlist")[2][2] ="青ゼリー:やや弱い生き物"
getVariable("monsterlist")[3][1] ="赤ゼリー"
getVariable("monsterlist")[3][2] ="赤ゼリー:あああああああ"
getVariable("monsterlist")[4][1] ="黒ゼリー:あああああああ"
getVariable("monsterlist")[4][2] ="黒ゼリー:あああああああ"

#敵モンスター倒したとき(m:0をtrueに)
## speakの部分を入れない場合は
## getVariable("monsterlist")[0][0] = "true" のみでもok

# スライムを倒したとき
if getVariable("monsterlist")[0][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
 getVariable("monsterlist")[0][0] = "true"
end

# 緑ゼリーを倒したとき
if getVariable("monsterlist")[1][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
   getVariable("monsterlist")[1][0] = "true"
end

# 青ゼリーを倒したとき
if getVariable("monsterlist")[2][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
 getVariable("monsterlist")[2][0] = "true"
end

#以下省略

#図鑑参照時
## 1.選択肢を作る(m:0 = trueの項目だけその名前を配列に入れる)
a = createArray()
i =0
while i < 5
 if getVariable("monsterlist")[i][0] == "true"
  pushArray(a, getVariable("monsterlist")[i][1])
 end
i = i +1
end
pushArray(a, "やめる") #やめるの項目も配列に追加

speak("図鑑を開いた")
close = 0 
while close == 0 #closeが0以外だと図鑑は閉じられる
  k = speakWithSelectArray(a, "参照したい項目を選んでね")
  i = 0 #選んだ項目の順番から名前を引き出し、リストを参照
  while i < 5
    if a[k] == getVariable("monsterlist")[i][1]
      speak(getVariable("monsterlist")[i][2])
    elsif a[k] == "やめる"
      close = 1 #やめるを選ぶとclose == 0が成立しなくなりループ終了
    end
  i = i +1
  end
end

ためしにゲームで動かしてみるとわかりやすいかと思います。
これだと、倒したモンスターだけ選択肢に出るし、順番も降順なので気分もよろしいかと。
モンスターの画像IDも配列に入れて一緒に呼び出したらより図鑑らしくなると思います。
rurun9さんの配列の記事かなり参考にしました。
まだ使いこなせないけど勉強になります。

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

      mini shirosaboten(投稿日:2010/08/16 15:08/16/10)
rurun9さんのを参考にモンスターリスト考えてみました
#開始スクリプト
##リストを二次元配列にする
setVariable("monsterlist", createArray())
n = 0
while n < 10
  getVariable("monsterlist")[n] = createArray()
  n = n + 1
end

# getVariable("monsterlist")[n][m]
# n…リスト番号
# m : 0 …true か false
#   : 1 …モンスター名
#   : 2 …説明文

## m : 0 を全てfalseに
i = 0
while i < 5
 getVariable("monsterlist")[i][0] = "false"
 i = i + 1
end
## 各リスト番号のモンスター名と説明文設定
getVariable("monsterlist")[0][1] ="スライム"
getVariable("monsterlist")[0][2] ="スライム:とても弱い生き物"
getVariable("monsterlist")[1][1] ="緑ゼリー"
getVariable("monsterlist")[1][2] ="緑ゼリー:弱い生き物、緑"
getVariable("monsterlist")[2][1] ="青ゼリー"
getVariable("monsterlist")[2][2] ="青ゼリー:やや弱い生き物"
getVariable("monsterlist")[3][1] ="赤ゼリー"
getVariable("monsterlist")[3][2] ="赤ゼリー:あああああああ"
getVariable("monsterlist")[4][1] ="黒ゼリー:あああああああ"
getVariable("monsterlist")[4][2] ="黒ゼリー:あああああああ"

#敵モンスター倒したとき(m:0をtrueに)
## speakの部分を入れない場合は
## getVariable("monsterlist")[0][0] = "true" のみでもok

# スライムを倒したとき
if getVariable("monsterlist")[0][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
 getVariable("monsterlist")[0][0] = "true"
end

# 緑ゼリーを倒したとき
if getVariable("monsterlist")[1][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
   getVariable("monsterlist")[1][0] = "true"
end

# 青ゼリーを倒したとき
if getVariable("monsterlist")[2][0] == "false"
 speak("モンスターリストに新たな項目が追加された")
 getVariable("monsterlist")[2][0] = "true"
end

#以下省略

#図鑑参照時
## 1.選択肢を作る(m:0 = trueの項目だけその名前を配列に入れる)
a = createArray()
i =0
while i < 5
 if getVariable("monsterlist")[i][0] == "true"
  pushArray(a, getVariable("monsterlist")[i][1])
 end
i = i +1
end
pushArray(a, "やめる") #やめるの項目も配列に追加

speak("図鑑を開いた")
close = 0 
while close == 0 #closeが0以外だと図鑑は閉じられる
  k = speakWithSelectArray(a, "参照したい項目を選んでね")
  i = 0 #選んだ項目の順番から名前を引き出し、リストを参照
  while i < 5
    if a[k] == getVariable("monsterlist")[i][1]
      speak(getVariable("monsterlist")[i][2])
    elsif a[k] == "やめる"
      close = 1 #やめるを選ぶとclose == 0が成立しなくなりループ終了
    end
  i = i +1
  end
end

ためしにゲームで動かしてみるとわかりやすいかと思います。
これだと、倒したモンスターだけ選択肢に出るし、順番も降順なので気分もよろしいかと。
モンスターの画像IDも配列に入れて一緒に呼び出したらより図鑑らしくなると思います。
rurun9さんの配列の記事かなり参考にしました。
まだ使いこなせないけど勉強になります。