経験値(質問掲示板

投稿: 000 1  mini naoki 投稿:2010/07/23 22:02:23(最新:2010/09/07 14:14:07)
いろいろ考えたんですが、経験値をゲットして、一定の経験値を
超えるとレベルアップ!と言うのがわかりません!

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Nyan mini rurun9(投稿日:2010/09/07 14:14, 履歴)
いや、だから配列で管理するだけ。

仮に、ゲーム開始から終わりまでパーティが固定3人のままならexpだけあれば良いでしょ?
だって戦闘で経験値を得る際に、勝負は常に一緒なんだから。
でもメンバーが途中参加だったり、「HPが0で戦闘終了した人だけ経験値が入らない」ようにするには、パーティメンバー各自のexpも変数を用意するわけ。

exp[0]がプレイヤーキャラ
exp[1]がパーティメンバー1
exp[2]がパーティメンバー2
とか自分だけわかるように決めておけばいいの。
プレイヤーキャラとメンバーでは扱いが異なる(レベルアップさせる関数が違う)ので、expcheck()のメンバー用を別に作るとかの工夫は必要だけど、構造自体は一緒ですやん。

んで戦闘勝利後の処理に、HP=0の人にはexp追加とexpcheck()をしなければ完成と。


最早、実現したい内容が「コピペしたらよくワカランけどできた」などという世界ではないので、自分で考えてプログラムを組み立てるしかないんですよぉ
000 1  mini naoki(投稿日:2010/09/06 21:30, 履歴)
ありがとうございました!
パーティメンバーの経験値の方法が
(文章を見ても)分かりません!
教えてください!
Nyan mini rurun9(投稿日:2010/08/04 18:35, 履歴)
変数を用意して管理するという点では
お金も経験値も一緒ですね。

表示方法については
既に2通りの方法が確立されているようです。
・カスタムメニューとして項目を増やす方法
・常時、画面上にテキスト配置してしまう方法
これらについては
wiki スクリプト/カスタムメニュー
wiki スクリプト/コツ/お店の作り方
wiki スクリプト/コツ/敵を倒すとお金が手に入る
を見ると詳しく書かれています。
特に掲示板での議論の跡が参考になるかと。
常時表示する方は、自由な位置にテキストを配置する、も理解してないといけませんね。


次にレベルアップですが
関数はココにあるのを組み合わせてつくります。
wiki 仕様/ゲーム内レベルアップ
例として
wiki スクリプト/ゲーム内レベルアップ
が用意されています。
こちらは倒した敵の種類と数から計算しているもので、複雑ながらバランスが崩壊しないように考えられた、凄いヤツです。
複雑過ぎて解読に激しく時間がかかるのはご愛嬌。

でもせっかく変数で経験値expをカウントしているのなら、
expが一定値を超えたらレベルが上がる、で充分ですよね?
つまり使う関数は levelUp() と levelUpPartyMember(キャラID) だけ。
ならばそれを実現する処理を、開始スクリプトにユーザー定義関数でつ
くっちゃいましょー。
#開始スクリプトに追加する

setVariable("exp",0) #プレイヤーの経験値
setVariable("nextexp",10) #次のレベルアップまでに必要な経験値

def expcheck()
 if getVariable("nextexp") <= getVariable("exp")
   levelUp()
   setVariable("nextexp", 2*getVariable("nextexp") )
   setVariable("exp",0)
 end
end

これで戦闘勝利後に、exp を増やした後に
expcheck()
と書くだけで済みます。

プレイヤーキャラの分しか書いてないけど、こんな感じで。
次に必要な値を2倍にする必要性もないけど、そこは敵に割り振るexpやゲーム全体の調整次第。
敵が配置型なのかランダムエンカウントなのか、ゲームによっても違いますし…
レベルアップ毎にexpを0に戻しているので、累積的な経験値の表示がしたいなら、別の変数に入れておく必要もありますね。
パーティメンバーがある程度固定なら、expを配列にしておくと、繰り返しでくくるだけで、複数人のレベルアップにも対応できると思います。
000 1  mini naoki(投稿日:2010/08/04 11:10, 履歴)
はい。返信が遅くなってすみません。
「経験値の初期設定」と「経験値の増やし方」は、分かりました。
分からないのは、「経験値が一定数を超えるとレベルアップ」と、
「現在の経験値の表示の仕方」です。
応用すると、お金も作れるかなー。
Nyan mini rurun9(投稿日:2010/07/25 12:47, 履歴)
えーと、変数は使えていますか?

とりあえず wiki変数 を読んでみて、何がわからないのか、を伝えて下さい