*特技のランダム攻撃回数・命中率 [#b906f8af]
-ページ: [[罪罰改造板2]]
-投稿者: [[アザル]]
-優先順位: 普通
-状態: 完了
-カテゴリー: こんなのが欲しい♪
-投稿日: 2005-03-11 (金) 18:26:25
-バージョン:
**内容 [#tabc0b36]
特技で攻撃回数が1〜数回のランダムで、それぞれに命中率を指定したいと思うのですが、どうすればいいか悩んでいます。
----
攻撃回数自体は
$dh =int(rand(2));
if($dh == 0){
$log .="連続攻撃!!<br>\n";
$v = $ua;
$thp -= $v;
$log .="一撃目!! $v のダメージ!<br>\n";
elsif($dh == 2){
$log .="連続攻撃!!<br>\n";
$v = $ua;
$thp -= $v;
$log .="一撃目!! $v のダメージ!<br>\n";
$vv = $ua;
$thp -= $vv;
$log .="二撃目!! $vv のダメージ!<br>\n";
}
のようにして出来るのですが、各々に命中率を設定するにはどうすればよいでしょうか。
-if{ }elsif{構文使うしか… -- [[7744]] &new{2005-03-11 (金) 18:44:52};
-$dh = int(rand(100))にして、$dh<10なら通常、$dh<30なら連続攻撃、以外なら外れとか -- [[あくあ]] &new{2005-03-11 (金) 23:35:33};
-if{ }elsif{ で試してみたのですが、どうもうまくいかなかったのですが、ステータス上昇の辺りを見て閃いてこのようにしたところ、概ね望む形にすることが出来ました。 -- [[アザル]] &new{2005-03-12 (土) 01:02:38};
$log .="連続攻撃!!<br>\n";
$dh =int(rand(2));
if($dh == 0){
$s1 = int(rand(3));
$v = $ua if($s1==0);
$v = 1 if($v<1 && $s1==0);
$thp -= $v if($s1==0);
$log .="命中!! $v のダメージ!<br>\n" if($s1==0);
$log .="失中!<br>\n" if($s1>=1);
elsif($dh == 2){
$s1 = int(rand(3));
$v = $ua if($s1==0);
$v = 1 if($v<1 && $s1==0);
$thp -= $v if($s1==0);
$log .="命中!! $v のダメージ!<br>\n" if($s1==0);
$log .="失中!<br>\n" if($s1>=1);
$s2 = int(rand(3));
$v = $ua if($s2==0);
$v = 1 if($v<1 && $s2==0);
$thp -= $v if($s2==0);
$log .="命中!! $v のダメージ!<br>\n" if($s2==0);
$log .="失中!<br>\n" if($s2>=1);
}
-動作はちゃんとしてるのですが、もしおかしなところとかあればご指摘ください。[[アザル]]
-ちょっと気になるのは elsif($dh == 2){ のところに } が無いですよね?あとは、問題なく動作すると思います -- [[あくあ]] &new{2005-03-13 (日) 12:50:41};
#comment