罪と罰++二律背反


*特技のランダム攻撃回数・命中率 [#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS