diff --git a/src/main/java/com/fathzer/jchess/bot/Engine.java b/src/main/java/com/fathzer/jchess/bot/Engine.java new file mode 100644 index 0000000..e1c70ec --- /dev/null +++ b/src/main/java/com/fathzer/jchess/bot/Engine.java @@ -0,0 +1,11 @@ +package com.fathzer.jchess.bot; + +import java.util.List; + +public interface Engine { + String getName(); + List> getOptions(); + void newGame(); + void setPosition(String startpos, List moves); + Move play(PlayParameters params); +} diff --git a/src/main/java/com/fathzer/jchess/bot/Move.java b/src/main/java/com/fathzer/jchess/bot/Move.java new file mode 100644 index 0000000..e883879 --- /dev/null +++ b/src/main/java/com/fathzer/jchess/bot/Move.java @@ -0,0 +1,5 @@ +package com.fathzer.jchess.bot; + +public interface Move { + +} diff --git a/src/main/java/com/fathzer/jchess/bot/Option.java b/src/main/java/com/fathzer/jchess/bot/Option.java new file mode 100644 index 0000000..82113c0 --- /dev/null +++ b/src/main/java/com/fathzer/jchess/bot/Option.java @@ -0,0 +1,28 @@ +package com.fathzer.jchess.bot; + +public abstract class Option { + 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; + } +} diff --git a/src/main/java/com/fathzer/jchess/bot/PlayParameters.java b/src/main/java/com/fathzer/jchess/bot/PlayParameters.java new file mode 100644 index 0000000..747c899 --- /dev/null +++ b/src/main/java/com/fathzer/jchess/bot/PlayParameters.java @@ -0,0 +1,5 @@ +package com.fathzer.jchess.bot; + +public interface PlayParameters { + +}