Skip to content

Commit

Permalink
Reuse jchess-uci-client
Browse files Browse the repository at this point in the history
  • Loading branch information
fathzer committed May 8, 2024
1 parent bf71ae9 commit 90b9574
Show file tree
Hide file tree
Showing 16 changed files with 43 additions and 733 deletions.
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@
<artifactId>jchess-uci</artifactId>
<version>2.0.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.fathzer</groupId>
<artifactId>jchess-uci-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.fathzer</groupId>
<artifactId>plugin-loader</artifactId>
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/fathzer/jchess/bot/Engine.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import com.fathzer.games.clock.CountDownState;
import com.fathzer.jchess.settings.Settings.Variant;
import com.fathzer.uci.client.Option;

public interface Engine extends Closeable {
String getName();
Expand Down
36 changes: 0 additions & 36 deletions src/main/java/com/fathzer/jchess/bot/Option.java

This file was deleted.

30 changes: 0 additions & 30 deletions src/main/java/com/fathzer/jchess/bot/options/ButtonOption.java

This file was deleted.

24 changes: 0 additions & 24 deletions src/main/java/com/fathzer/jchess/bot/options/CheckOption.java

This file was deleted.

36 changes: 0 additions & 36 deletions src/main/java/com/fathzer/jchess/bot/options/ComboOption.java

This file was deleted.

40 changes: 0 additions & 40 deletions src/main/java/com/fathzer/jchess/bot/options/SpinOption.java

This file was deleted.

27 changes: 0 additions & 27 deletions src/main/java/com/fathzer/jchess/bot/options/StringOption.java

This file was deleted.

23 changes: 14 additions & 9 deletions src/main/java/com/fathzer/jchess/bot/uci/EngineLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;

import org.json.JSONException;
import org.json.JSONObject;

import com.fathzer.jchess.bot.Engine;
import com.fathzer.jchess.bot.Option;
import com.fathzer.jchess.internal.InternalEngine;
import com.fathzer.uci.client.Option;
import com.fathzer.util.TinyJackson;
import com.fathzer.util.TinyJackson.JsonIgnore;
import com.fathzer.util.TinyJackson.JsonOptional;
Expand Down Expand Up @@ -143,14 +144,7 @@ public boolean start() throws IOException {
if (command!=null) {
engine = new UCIEngine(this);
if (options!=null) {
for (String optionName : options.keySet()) {
final Optional<Option<?>> option = engine.getOptions().stream().filter(o -> o.getName().equals(optionName)).findAny();
if (option.isEmpty()) {
throw new IOException("Engine "+name+" has no "+optionName+" option");
}
final Option<?> theOption = option.get();
setValue(theOption, options.get(optionName));
}
applyOptions();
}
} else {
engine = new InternalEngine();
Expand All @@ -159,6 +153,17 @@ public boolean start() throws IOException {
}
return false;
}

private void applyOptions() throws IOException {
for (Entry<String, String> entry : options.entrySet()) {
final Optional<Option<?>> option = engine.getOptions().stream().filter(o -> o.getName().equals(entry.getKey())).findAny();
if (option.isEmpty()) {
throw new IOException("Engine "+name+" has no "+entry.getKey()+" option");
}
final Option<?> theOption = option.get();
setValue(theOption, entry.getValue());
}
}

private <T> void setValue(Option<T> option, String value) {
option.setValue(option.toValue(value));
Expand Down
93 changes: 0 additions & 93 deletions src/main/java/com/fathzer/jchess/bot/uci/OptionParser.java

This file was deleted.

Loading

0 comments on commit 90b9574

Please sign in to comment.