HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0823
ジャガーたくさんある「if」を省略したい!4解決


ジャガー

リンク

2008/8/23(Sat) 00:40:56|NO.18635

自分は今、シューティングゲームを作っています。
プレイヤーが発射するミサイルの攻撃力を、レベルによって強くしようと思っています。
しかし、レベルの上限を20までぐらいにすると・・・

if lev=1 : att=20 ;levはレベル、attは攻撃力
if lev=2 : att=29
if lev=3 : att=45

これを20回繰り返すのですが、これをうまく省くことはできないでしょうか?

att=10+(lev*5)

・・・のように一定量で計算させることもできますが、自分的には細かい威力調整がしたくて・・・(汗

「att=20,29,45,・・・」のように書いてから、後でその数字を参照させればいいという
ウワサを聞いたのですが、そのやり方もよくわかりません。

いい解決法はないでしょうか?教えてくれたら本当にありがたいですm(_ _*)m



この記事に返信する


SYAM

リンク

2008/8/23(Sat) 00:49:47|NO.18636

その様子ですと、「配列変数」を習得していないのでしょうか。
まずはそれを習得してください。説明書とかWEBサイト検索して。
さもないと、説明してもらっても理解できないでしょう。


※そして習得したら説明してもらう必要なくなると思います。



inovia

リンク

2008/8/23(Sat) 00:57:09|NO.18638

//を外すと一覧が表示されます。
レベル10までしか定義してません。
面倒なのでレベル0のときも定義しています。
マニュアルの配列変数を読んでおくと分かると思います。


att=0,20,29,45,60,80,120,150,200,260,300 lev=1;←ここを変えてみるとか //repeat 10 //lev++ mes "レベル"+lev+":攻撃力"+att(lev) //loop



ジャガー

リンク

2008/8/23(Sat) 01:17:10|NO.18640

えっ!?「配列変数」?
一応ザコ敵は「 dimとforeachとenemy(cnt) 」で作っているのですが・・・

カタカタカタカタ・・・・(検索中)
(5分後)    
Σ(゜□゜;)なにぃ〜〜!

dim att,20 ; att(0)〜att(19)の配列変数
att=20,29,45,65・・・・・

こういうやり方もあったんですね・・・(汗
何か別の命令を使うのかと思ってました ○| ̄|_
というわけで・・・
nを現在のレベル、shotを現在の威力、attを参照する攻撃力として

if lev=n : shot=att(n-1)

こんな感じでやってみます!(無駄があったら教えてください・・・ガクリ)


すぐに教えてくれてありがとうございました。m(_ _*)m



ジャガー

リンク

2008/8/23(Sat) 01:24:09|NO.18641

ミスりましたww
もう、ifとかいらないですね。

shot=att(lev-1)

これでいきます!



ONION software Copyright 1997-2023(c) All rights reserved.