Initial commit
This commit is contained in:
54
src/main/java/gg/malloc/defense/games/LinearGame.java
Normal file
54
src/main/java/gg/malloc/defense/games/LinearGame.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package gg.malloc.defense.games;
|
||||
|
||||
import gg.malloc.defense.model.Wave;
|
||||
import gg.malloc.defense.model.Game;
|
||||
import gg.malloc.defense.model.Spawner;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
||||
public class LinearGame implements Game {
|
||||
private class ZombieWave implements Wave {
|
||||
int m_batches;
|
||||
int m_zombiesPerBatch;
|
||||
|
||||
public ZombieWave(int zombiesPerBatch, int batches) {
|
||||
m_batches = batches;
|
||||
m_zombiesPerBatch = zombiesPerBatch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int totalMobCount() {
|
||||
int ret = 0;
|
||||
for(int i = 1; i <= m_batches; i++) {
|
||||
ret += i * m_zombiesPerBatch;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int batchCount() {
|
||||
return m_batches;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void spawnBatch(Spawner spawner, int batch) {
|
||||
int zombiesToSpawn = batch * m_zombiesPerBatch;
|
||||
for(int i = 0; i < zombiesToSpawn; i++) {
|
||||
Entity newMob = spawner.spawnMob(EntityType.ZOMBIE);
|
||||
newMob.setCustomName("Zombie " + i + "/" + zombiesToSpawn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWaveCount() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Wave getWave(int waveNumber) {
|
||||
return new ZombieWave(waveNumber, 2);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user