Skip to content

Commit

Permalink
Prepare work to better engine management (time, option and UCI support)
Browse files Browse the repository at this point in the history
  • Loading branch information
fathzer committed Jan 25, 2024
1 parent ea0e95b commit 40777a8
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/main/java/com/fathzer/jchess/bot/Engine.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.fathzer.jchess.bot;

import java.util.List;

public interface Engine {
String getName();
List<Option<?>> getOptions();
void newGame();
void setPosition(String startpos, List<Move> moves);
Move play(PlayParameters params);
}
5 changes: 5 additions & 0 deletions src/main/java/com/fathzer/jchess/bot/Move.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.fathzer.jchess.bot;

public interface Move {

}
28 changes: 28 additions & 0 deletions src/main/java/com/fathzer/jchess/bot/Option.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.fathzer.jchess.bot;

public abstract class Option<T> {
enum Type {
CHECK, SPIN, COMBO, BUTTON, STRING
}

private final String name;
private T defaultValue;

Option(String name, T defaultValue) {
if (name==null || defaultValue==null) {
throw new IllegalArgumentException();
}
this.name = name;
this.defaultValue = defaultValue;
}

public String getName() {
return name;
}

abstract Type getType();

public T getDefaultValue() {
return defaultValue;
}
}
5 changes: 5 additions & 0 deletions src/main/java/com/fathzer/jchess/bot/PlayParameters.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.fathzer.jchess.bot;

public interface PlayParameters {

}

0 comments on commit 40777a8

Please sign in to comment.