package shootergame.entity; import java.util.Random; import shootergame.Main; import shootergame.display.Camera; import shootergame.init.Textures; import shootergame.util.math.random.OpenSimplexNoise; import shootergame.util.math.vec.Vec2d; import shootergame.world.chunk.Chunk; import shootergame.world.layer.Layer; public class EntityZombie extends EntityVertical { private Random rand; private OpenSimplexNoise noise; private double time; public EntityZombie() { super(Textures.ENTITY_ZOMBIE, 1); rand = new Random(); noise = new OpenSimplexNoise(rand.nextLong()); time = 0; } @Override public void tick(Chunk chunk, Layer layer) { super.tick(chunk, layer); double angle = Math.atan2(pos.x - Main.player.pos.x, pos.y - Main.player.pos.y); this.angle = Math.toDegrees(angle) + 180; this.angle += noise.eval(time, 0)*60; time += 0.001; this.moveForward(0.05); } }