Изчисляване на damage за онлайн игра

freshbg

Registered
Здравейте, някой може ли да ми помогне със изчисляването на damage-то и това колко кръв да взима даден играч на друг при атака. Ето как стоят нещата: Имам атака да речем 400, а противникът ми е на 100 кръв със 250 защита, колко кръв ще му взема? Някой може ли да ми помогне със някоя формулка която да прави всичките изчисления по атаките автоматично ? Благодаря предварително.
 
Атаката на единия играч минус защитата на другия и после можеш да го разделиш на две, три, четири и така нататък.
Код:
$damage=($attack - $defence) / 2 // Или 3,4 и т.н.
 
Ако приемем, че защитата като сила = кръвта ще стане така:
<?php
$kruv=$row['kruv']; //tova e kruvta na teb
$defence=$row['defence']; //zashtitata ti
$protivnikpower=$row['power']; //silata na protivnika
$final=$protivnikpower-($kruv+$defence); //ostanalata kruv + zashtita
$two=$kruv+$defence;
if($final > 0){
$blood=$final/2;
$defence1=$final-$blood;
echo "Остана му $blood кръв и $defence1 защита; }
elseif($final < 1){
echo "Убихте го"; }
else "Вече е убит от друг"; } //ako sled atakata ima po-malko ot 1 kruv shte izpishe, che e murtuv, ako ne e - kolko mu ostava

?>
Сега съм разделил крайният резултат на две - демек след атаката ще му остане по равно кръв и защита.
Полето ти с кръвта ти
Полето с защитата ти
 
Засега на DeathGuard_ горе долу ми харесва, но до утре ще го мисля че това ще е за постоянно и е най-важното във играта.

@Dizasterr - а това как го определяме дали да дели на 2,3,4,5,6,7,8 то има също значение ?
 
Можеш да го определиш с променлива:

Код:
$difference=$attack - $defence;
if($difference <= 50) {
$damage=$difference / 2;
}
if($difference <= 200) {
$damage=$difference / 4;
}
if($difference <= 400) {
$damage=$difference / 6;
}
if($difference <= 100) {
$damage=$difference / 3;
}
if($difference <= 800) {
$damage=$difference / 8;
}
 

Back
Горе