Only auto aim and healthbars
This commit is contained in:
1 parent
54c6327ac7
commit
a914bd74fe
14 files changed
+95
-89
No files matched your search
@@ -59,7 +59,7 @@ final class GameEngineTest extends TestCase
|
||||
'health' => 1,
|
||||
]);
|
||||
$room->addPlayer($player);
|
||||
$zombie = new Zombie(944.4, 540.0, $room->entities, $room, ['emergeTime' => 0.0]);
|
||||
$zombie = new Zombie(944.4, 540.0, $room->entities, $room, ['emergeTime' => 0.0, 'health' => 20]);
|
||||
$zombie->target = $player;
|
||||
$room->entities->append($zombie);
|
||||
$engine->tick(1.0 / 60.0);
|
||||
|
||||
@@ -69,6 +69,18 @@ final class GameSimulatorTest extends TestCase
|
||||
$this->assertSame(['p1' => true, 'p2' => false], $hosts);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function lobby_snapshots_have_monotonic_seq(): void
|
||||
{
|
||||
$sim = $this->makeSimulator();
|
||||
$sim->applyControl('room-a', ['type' => 'create', 'id' => 'p1', 'name' => 'A']);
|
||||
$firstSeq = $sim->room('room-a')->seq;
|
||||
|
||||
$sim->applyControl('room-a', ['type' => 'join', 'id' => 'p2', 'name' => 'B']);
|
||||
|
||||
$this->assertGreaterThan($firstSeq, $sim->room('room-a')->seq);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function start_transitions_to_playing(): void
|
||||
{
|
||||
@@ -190,7 +202,7 @@ final class GameSimulatorTest extends TestCase
|
||||
$sim = $this->makeSimulator();
|
||||
$sim->applyControl('room-a', ['type' => 'create', 'id' => 'p1', 'name' => 'A']);
|
||||
$sim->applyControl('room-a', ['type' => 'start', 'id' => 'p1']);
|
||||
$sim->applyInput('room-a', ['id' => 'p1', 'keys' => [], 'aim' => ['x' => 1.0, 'y' => 0.0], 'fire' => true, 'autoAim' => true]);
|
||||
$sim->applyInput('room-a', ['id' => 'p1', 'keys' => [], 'aim' => ['x' => 1.0, 'y' => 0.0], 'fire' => true]);
|
||||
$sawZombie = false;
|
||||
for ($i = 0; $i < 600; $i++) {
|
||||
$sim->tick(1.0 / 60.0);
|
||||
@@ -337,7 +349,7 @@ final class GameSimulatorTest extends TestCase
|
||||
$zombie = new Zombie($player->pos->x + 40.0, $player->pos->y, $room->entities, $room, ['emergeTime' => 0.0]);
|
||||
$room->entities->append($zombie);
|
||||
|
||||
$sim->applyInput('room-a', ['id' => 'p1', 'keys' => [], 'aim' => ['x' => 1.0, 'y' => 0.0], 'fire' => true, 'autoAim' => false]);
|
||||
$sim->applyInput('room-a', ['id' => 'p1', 'keys' => [], 'aim' => ['x' => 1.0, 'y' => 0.0], 'fire' => true]);
|
||||
|
||||
$hit = false;
|
||||
$kills = false;
|
||||
|
||||
@@ -52,7 +52,7 @@ final class PlayerTest extends TestCase
|
||||
{
|
||||
$room = new Room('test');
|
||||
$room->state = Room::STATE_PLAYING;
|
||||
$input = new InputState(fire: false, autoAim: true);
|
||||
$input = new InputState(fire: false);
|
||||
$player = new Player('p1', 'Tester', $input, $room->entities, $room, ['x' => 100.0, 'y' => 100.0]);
|
||||
$room->addPlayer($player);
|
||||
$zombie = new Zombie(300.0, 100.0, $room->entities, $room, ['emergeTime' => 0.0]);
|
||||
@@ -69,7 +69,7 @@ final class PlayerTest extends TestCase
|
||||
public function auto_aim_does_not_fire_without_target(): void
|
||||
{
|
||||
$room = new Room('test');
|
||||
$input = new InputState(fire: false, autoAim: true);
|
||||
$input = new InputState(fire: false);
|
||||
$player = new Player('p1', 'Tester', $input, $room->entities, $room, ['x' => 100.0, 'y' => 100.0]);
|
||||
$room->addPlayer($player);
|
||||
$player->update(1.0 / 60.0);
|
||||
@@ -163,7 +163,7 @@ final class PlayerTest extends TestCase
|
||||
public function auto_aim_tracks_nearest_zombie(): void
|
||||
{
|
||||
$room = new Room('test');
|
||||
$input = new InputState(fire: true, autoAim: true);
|
||||
$input = new InputState(fire: true);
|
||||
$player = new Player('p1', 'Tester', $input, $room->entities, $room, ['x' => 100.0, 'y' => 100.0]);
|
||||
$room->addPlayer($player);
|
||||
$zombie = new Zombie(200.0, 100.0, $room->entities, $room, ['emergeTime' => 0.0]);
|
||||
|
||||
Reference in new issue
Block a user