-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRingue.php
52 lines (42 loc) · 1.11 KB
/
Ringue.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
require_once 'Lutador.php';
class Ringue
{
private $azul;
private $vermelho;
public function __construct(Lutador $vermelho, Lutador $azul)
{
$this->vermelho = $vermelho;
$this->azul = $azul;
}
public function decidirIniciativa(){
return (rand(0, 1)) ? 'vermelho' : 'azul';
}
public function lutarAteMorrer() {
$v = $this->getVermelho();
$a = $this->getAzul();
$primeiro = $this->decidirIniciativa();
$i = 0;
do {
if ($i%2 == 0 && $primeiro == 'vermelho') {
$ataque = $v->atacar();
$a->calcularDano($ataque);
} else {
$ataque = $a->atacar();
$v->calcularDano($ataque);
}
$i++;
} while ($v->getResistencia() > 0 && $a->getResistencia() > 0);
if ($v->getResistencia() == 0) {
return $v;
}
return $a;
}
public function getAzul() {
return $this->azul;
}
public function getVermelho() {
return $this->vermelho;
}
}
?>