add lab3 report

This commit is contained in:
2024-11-24 23:52:17 +02:00
parent 99f49f365d
commit cb5f9daa27
4 changed files with 133 additions and 0 deletions

View File

@@ -42,5 +42,9 @@ public class EnemyEntity extends Entity {
update();
render(0, 0);
}
public void setBehavior(Behaviors behavior, float param1, float param2, float param3) {
this.behavior = behavior.createBehavior(param1, param2, param3);
}
}

View File

@@ -1,6 +1,7 @@
package org.lumijiez.bugger.handlers;
import org.lumijiez.bugger.entities.enemies.EnemyEntity;
import org.lumijiez.bugger.entities.enemies.behaviors.Behaviors;
import java.util.ArrayList;
import java.util.List;
@@ -34,4 +35,11 @@ public class EnemyHandler {
public List<EnemyEntity> getEnemies() {
return enemies;
}
public void overrideBehaviorForExisting(Behaviors behavior) {
switch(behavior) {
case FOLLOW -> enemies.forEach(enemy -> enemy.setBehavior(Behaviors.FOLLOW, 10, 10, 10));
case DEFENSIVE -> enemies.forEach(enemy -> enemy.setBehavior(Behaviors.DEFENSIVE, 150, 10, 1));
}
}
}

View File

@@ -3,6 +3,7 @@ package org.lumijiez.bugger.handlers;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.math.Vector2;
import org.lumijiez.bugger.entities.enemies.behaviors.Behaviors;
import org.lumijiez.bugger.entities.player.Player;
public class InputHandler {
@@ -30,6 +31,14 @@ public class InputHandler {
Gdx.app.exit();
}
if (Gdx.input.isKeyJustPressed(Input.Keys.I)) {
EnemyHandler.getInstance().overrideBehaviorForExisting(Behaviors.DEFENSIVE);
}
if (Gdx.input.isKeyJustPressed(Input.Keys.F)) {
EnemyHandler.getInstance().overrideBehaviorForExisting(Behaviors.FOLLOW);
}
if (Gdx.input.isButtonJustPressed(Input.Buttons.RIGHT)) {
float numRays = 8;
float radius = 0.5f;