enhance engines
This commit is contained in:
@@ -1,4 +1,55 @@
|
||||
package org.project.engine;
|
||||
|
||||
public class SinglePlayerBattleEngine {
|
||||
import org.project.constants.appConstants.TextColor;
|
||||
import org.project.constants.gameConstant.EntityState;
|
||||
import org.project.constants.gameConstant.FightMoves;
|
||||
import org.project.entity.enemies.Enemy;
|
||||
import org.project.entity.players.Player;
|
||||
|
||||
public class SinglePlayerBattleEngine extends BattleEngine {
|
||||
private Player player;
|
||||
private Enemy enemy;
|
||||
public SinglePlayerBattleEngine(Player player, Enemy enemy) {
|
||||
super(player, enemy);
|
||||
player = (Player) Player1;
|
||||
enemy = (Enemy) Player2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void StartBattle() {
|
||||
Player playerPast = player;
|
||||
Enemy enemyPast = enemy;
|
||||
|
||||
while (true) {
|
||||
if (enemyPast.GetState() == EntityState.FROZEN) {
|
||||
enemy.SetState(EntityState.ALIVE);
|
||||
}
|
||||
if (playerPast.GetState() == EntityState.FROZEN) {
|
||||
player.SetState(EntityState.ALIVE);
|
||||
}
|
||||
|
||||
// TODO: get diffs
|
||||
|
||||
// TODO: player round
|
||||
|
||||
// TODO: show players stats
|
||||
|
||||
// TODO: bot move
|
||||
FightMoves botMove = enemy.PlayRound(player);
|
||||
switch (botMove)
|
||||
|
||||
if (enemy.GetState() == EntityState.DEAD) {
|
||||
enemy.DropLoot(player);
|
||||
player.AddLevelProgress(enemy.LevelProgressAmount);
|
||||
System.out.println(TextColor.Green + player.Name + " WON!" + TextColor.Reset);
|
||||
return;
|
||||
}
|
||||
else if (player.GetState() == EntityState.DEAD) {
|
||||
return;
|
||||
}
|
||||
|
||||
playerPast = player;
|
||||
enemyPast = enemy;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user