continued class PathFinderStrategy

This commit is contained in:
Leonardo Brandenberger 2022-03-20 16:33:03 +01:00
parent 0b423b759e
commit 7c841abfc6
1 changed files with 11 additions and 2 deletions

View File

@ -21,6 +21,7 @@ public class PathFinderStrategy implements MoveStrategy{
private void test(){ private void test(){
ArrayList<tryOutPaths> temporary = new ArrayList<>(); ArrayList<tryOutPaths> temporary = new ArrayList<>();
Iterator<tryOutPaths> it = possiblePaths.iterator(); Iterator<tryOutPaths> it = possiblePaths.iterator();
while(it.hasNext()) { while(it.hasNext()) {
tryOutPaths current = it.next(); tryOutPaths current = it.next();
if (!current.isFeasible()) { if (!current.isFeasible()) {
@ -29,7 +30,9 @@ public class PathFinderStrategy implements MoveStrategy{
else { else {
for (PositionVector.Direction direction : directions) { for (PositionVector.Direction direction : directions) {
temporary.add(current); temporary.add(current);
temporary.get(temporary.size() - 1).takeDirection(direction); if (temporary.get(temporary.size() - 1).takeDirection(direction)){
break;
}
} }
} }
} }
@ -49,6 +52,7 @@ public class PathFinderStrategy implements MoveStrategy{
public PositionVector.Direction nextMove() { public PositionVector.Direction nextMove() {
return null; return null;
} }
public class tryOutPaths { public class tryOutPaths {
ArrayList<PositionVector.Direction> directionsTaken = new ArrayList<>(); ArrayList<PositionVector.Direction> directionsTaken = new ArrayList<>();
PositionVector currentPosition; PositionVector currentPosition;
@ -58,18 +62,23 @@ public class PathFinderStrategy implements MoveStrategy{
public tryOutPaths(Track track){ public tryOutPaths(Track track){
this.track = track; this.track = track;
} }
public boolean isFeasible(){ public boolean isFeasible(){
return feasible; return feasible;
} }
public void takeDirection(PositionVector.Direction direction) {
public boolean takeDirection(PositionVector.Direction direction) {
if(directionsTaken.size() >= 50){ if(directionsTaken.size() >= 50){
feasible = false; feasible = false;
return false;
} }
else if(finished){ else if(finished){
return true;
} }
else { else {
//check if possible eventuell hier?? //check if possible eventuell hier??
directionsTaken.add(direction); directionsTaken.add(direction);
return false;
} }
} }
} }