enhance engines

This commit is contained in:
2026-07-11 15:26:55 +03:30
parent 2e71767311
commit da218c1134
6 changed files with 418 additions and 48 deletions
@@ -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;
}
}
}