package models;
import java.util.*;
public class Algo {
private LoseB loseB;
private HandsB handsB;
private LoseA loseA;
private HandsA handsA;
private Deck deck;
public Algo() {
loseB = new LoseB();
handsB = new HandsB(loseB);
loseA = new LoseA();
handsA = new HandsA(loseA);
deck = new Deck();
deck.reset(11);
for(int i=0;i<2;i++){
handsA.getValue().add(deck.head());
handsB.getValue().add(deck.head());
}
getHandsA().sort(Comparator.comparing(Map.Entry<Integer, Boolean>::getKey));
getHandsB().sort(Comparator.comparing(Map.Entry<Integer, Boolean>::getKey));
}
public void drawA(int guess, int target) {
var b=getHandsB();
var d = getDeck();
this.handsA.drawA(guess, b, d, target);
this.handsB.drawA(guess, b, d, target);
this.deck.drawA(guess, b, d, target);
}
public void selectA(int guess, int attacker, int target) {
var b=getHandsB();
this.handsA.selectA(guess, attacker, b, target);
this.handsB.selectA(guess, attacker, b, target);
}
public void drawB(int guess, int target) {
var a=getHandsA();
var d = getDeck();
this.handsB.drawB(guess, a, d, target);
this.handsA.drawB(guess, a, d, target);
this.deck.drawB(guess, a, d, target);
}
public void selectB(int guess, int attacker, int target) {
var a=getHandsA();
this.handsB.selectB(guess, attacker, a, target);
this.handsA.selectB(guess, attacker, a, target);
}
public List<Map.Entry<Integer, Boolean>> getDeck() {
return deck.getValue();
}
public boolean getLoseA() {
return loseA.getValue();
}
public boolean getLoseB() {
return loseB.getValue();
}
public List<Map.Entry<Integer, Boolean>> getHandsB() {
return handsB.getValue();
}
public List<Map.Entry<Integer, Boolean>> getHandsA() {
return handsA.getValue();
}
}