wip: create proper board analyzer for ai

This commit is contained in:
2021-06-05 20:52:15 +02:00
parent b183f623d6
commit 220136af55
5 changed files with 93 additions and 12 deletions

View File

@ -0,0 +1,30 @@
package uulm.teamname.marvelous.gamelibrary.ai;
import uulm.teamname.marvelous.gamelibrary.IntVector2;
import uulm.teamname.marvelous.gamelibrary.config.CharacterConfig;
import uulm.teamname.marvelous.gamelibrary.config.PartyConfig;
import uulm.teamname.marvelous.gamelibrary.config.ScenarioConfig;
import uulm.teamname.marvelous.gamelibrary.entities.EntityType;
import uulm.teamname.marvelous.gamelibrary.gamelogic.GameStateView;
import java.util.ArrayList;
import java.util.HashMap;
class BoardAnalyzer {
private final Board origin;
private final EntityType player;
private final HashMap<Integer, Integer> cache = new HashMap<>();
public BoardAnalyzer(GameStateView state, EntityType player) {
this.origin = Board.generate(state, player);
this.player = player;
}
public Action analyze(IntVector2 position, EntityType turn, PartyConfig partyConfig, CharacterConfig characterConfig, ScenarioConfig scenarioConfig) {
ArrayList<Action> actions = origin.generateActions();
//TODO: create minimax tree
return new Action(ActionType.None);
}
}