Örnek basit bir kod ekledim, formüller değiştirilebilir, şans eklenebilir, kritik olasılık eklenebilir, vb. Ancak basit mantıkla bu şekilde yapılabilir.
Not: PHP bilgim fazla yok, genelde C# kullanıyorum, o yüzden kod kalitesi pek iyi olmayabilir.
class Player {
public $Name, $Hp, $Attack, $Defence;
}
class WarHelper{
public static function AttackToPlayer($from, $to){
//Birinci oyunucunun vereceği hasar
$fromDamage = $from->Attack - $to->Defence;
//Bu formülde birinci oyuncunun defansı 5, kullanıcının saldırısı da 5 bu yüzden hasar almayacak
//İkinci oyuncunun vereceği hasar
$toDamage = $to->Attack - $from->Defence;
//Hasar veriliyor
$from->Hp -= $toDamage;
$to->Hp -= $fromDamage;
//İki oyuncunun bilgileri geri dönüyor
return array($from, $to);
}
}
//Birinci oyuncu yaratılıyor
$player1 = new Player();
$player1->Name = "Aist";
$player1->Hp = 70;
$player1->Attack = 10;
$player1->Defence = 5;
//Birinci oyuncu yaratılıyor
$player2 = new Player();
$player2->Name = "Kyzaghan";
$player2->Hp = 100;
$player2->Attack = 5;
$player2->Defence = 2;
$result = WarHelper::AttackToPlayer($player1, $player2);
var_dump($result);
?>
Çıktı
array(2) { [0]=> object(Player)#1 (4) { ["Name"]=> string(4) "Aist" ["Hp"]=> int(70) ["Attack"]=> int(10) ["Defence"]=> int(5) } [1]=> object(Player)#2 (4) { ["Name"]=> string(8) "Kyzaghan" ["Hp"]=> int(92) ["Attack"]=> int(5) ["Defence"]=> int(2) } }