Merhaba,
Ö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) } }