Skip to content

Commit

Permalink
Merge branch 'release-0.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
Zomis committed Oct 22, 2014
2 parents 49dca66 + aeedc7f commit 34b7dd6
Show file tree
Hide file tree
Showing 201 changed files with 4,225 additions and 1,494 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*.class
.settings/
.metadata/
*/bin/**
*/target/**
dependency-reduced-pom.xml
Expand Down Expand Up @@ -47,3 +48,11 @@ atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml

# Unignore test resources folders
!cardshifter-core/src/test/resources/**




# Cardshifter files
*.deck
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ language: java

jdk:
- oraclejdk8

before_install:
- sudo apt-get update -qq
- sudo apt-get install oracle-java8-installer

notifications:
webhooks:
Expand All @@ -16,8 +20,8 @@ deploy:
api-key:
secure: "CJyVgIoL/G0a233WuqPi14eOAk8JlWdErxqbJZYawGmCt5CBJW9l5+4CO4mJqho+EKHmpr+OgGVFq5HV4zQVqVJNFhL86yEucY52v3uQqqT26UmyJwLEtNOpHzVw0pXKvE5LbBOQdl+/8nNhakd6VwGE3qs05F+0ZYyu9LXaal4="
file:
- "target/cardshifter-fx-0.3.jar"
- "target/cardshifter-server-0.3.jar"
- "target/cardshifter-fx-0.4.jar"
- "target/cardshifter-server-0.4.jar"
skip_cleanup: true
on:
tags: true
Expand Down
2 changes: 1 addition & 1 deletion cardshifter-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.cardshifter</groupId>
<artifactId>cardshifter</artifactId>
<version>0.3</version>
<version>0.4</version>
</parent>

<artifactId>cardshifter-api</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
package com.cardshifter.api.both;

import com.cardshifter.api.messages.Message;
import com.fasterxml.jackson.annotation.JsonCreator;

public class InviteRequest extends Message {

private final int id;
private final String name;
private final String gameType;

@JsonCreator
InviteRequest() {
this(0, "");
this(0, "", "");
}
public InviteRequest(int id, String name) {
public InviteRequest(int id, String name, String gameType) {
super("inviteRequest");
this.id = id;
this.name = name;
this.gameType = gameType;
}

public int getId() {
Expand All @@ -23,5 +27,9 @@ public int getId() {
public String getName() {
return name;
}

public String getGameType() {
return gameType;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.cardshifter.api.both;

import java.util.HashMap;
import java.util.Map;

import com.cardshifter.api.messages.Message;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;

public class PlayerConfigMessage extends Message {

@JsonTypeInfo(include = As.PROPERTY, use = Id.NAME, property = "_type")
private final Map<String, Object> configs;

private final int gameId;

PlayerConfigMessage() {
this(0, null);
}

public PlayerConfigMessage(int gameId, Map<String, Object> configs) {
super("playerconfig");
this.gameId = gameId;
this.configs = configs;
}

public Map<String, Object> getConfigs() {
return new HashMap<>(configs);
}

public int getGameId() {
return gameId;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
import com.cardshifter.api.both.ChatMessage;
import com.cardshifter.api.both.InviteRequest;
import com.cardshifter.api.both.InviteResponse;
import com.cardshifter.api.both.PlayerConfigMessage;
import com.cardshifter.api.incoming.LoginMessage;
import com.cardshifter.api.incoming.RequestTargetsMessage;
import com.cardshifter.api.incoming.ServerQueryMessage;
import com.cardshifter.api.incoming.StartGameRequest;
import com.cardshifter.api.incoming.UseAbilityMessage;
import com.cardshifter.api.outgoing.AvailableModsMessage;
import com.cardshifter.api.outgoing.AvailableTargetsMessage;
import com.cardshifter.api.outgoing.CardInfoMessage;
import com.cardshifter.api.outgoing.ClientDisconnectedMessage;
Expand Down Expand Up @@ -59,13 +61,14 @@ public class MessageTypeIdResolver implements TypeIdResolver {
clazzes.put("update", UpdateMessage.class);
clazzes.put("useable", UseableActionMessage.class);
clazzes.put("targets", AvailableTargetsMessage.class);
clazzes.put("availableMods", AvailableModsMessage.class);

clazzes.put("inviteRequest", InviteRequest.class);
clazzes.put("inviteResponse", InviteResponse.class);
clazzes.put("error", ServerErrorMessage.class);
clazzes.put("userstatus", UserStatusMessage.class);
clazzes.put("query", ServerQueryMessage.class);

clazzes.put("playerconfig", PlayerConfigMessage.class);
}

private JavaType mBaseType;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.cardshifter.api.outgoing;

import java.util.Arrays;

import com.cardshifter.api.messages.Message;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

public class AvailableModsMessage extends Message {

private final String[] mods;

@JsonCreator
public AvailableModsMessage(@JsonProperty("mods") String[] mods) {
super("availableMods");
this.mods = Arrays.copyOf(mods, mods.length);
}

public String[] getMods() {
return Arrays.copyOf(mods, mods.length);
}

}
7 changes: 1 addition & 6 deletions cardshifter-console/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.cardshifter</groupId>
<artifactId>cardshifter</artifactId>
<version>0.3</version>
<version>0.4</version>
</parent>

<artifactId>cardshifter-console</artifactId>
Expand Down Expand Up @@ -52,11 +52,6 @@
<artifactId>cardshifter-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.cardshifter</groupId>
<artifactId>cardshifter-mod</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package net.zomis.cardshifter.ecs.main;
package com.cardshifter.console;

import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
Expand All @@ -8,16 +8,18 @@
import java.util.Scanner;
import java.util.stream.Collectors;

import net.zomis.cardshifter.ecs.actions.Actions;
import net.zomis.cardshifter.ecs.actions.ECSAction;
import net.zomis.cardshifter.ecs.actions.TargetSet;
import net.zomis.cardshifter.ecs.base.Component;
import net.zomis.cardshifter.ecs.base.ComponentRetriever;
import net.zomis.cardshifter.ecs.base.ECSGame;
import net.zomis.cardshifter.ecs.base.Entity;
import net.zomis.cardshifter.ecs.cards.ZoneComponent;
import net.zomis.cardshifter.ecs.components.PlayerComponent;
import net.zomis.cardshifter.ecs.phase.PhaseController;
import com.cardshifter.modapi.actions.Actions;
import com.cardshifter.modapi.actions.ECSAction;
import com.cardshifter.modapi.actions.TargetSet;
import com.cardshifter.modapi.base.Component;
import com.cardshifter.modapi.base.ComponentRetriever;
import com.cardshifter.modapi.base.ECSGame;
import com.cardshifter.modapi.base.ECSMod;
import com.cardshifter.modapi.base.Entity;
import com.cardshifter.modapi.base.PlayerComponent;
import com.cardshifter.modapi.cards.ZoneComponent;
import com.cardshifter.modapi.phase.PhaseController;

import net.zomis.cardshifter.ecs.usage.PhrancisGame;

public class ConsoleControllerECS {
Expand Down Expand Up @@ -155,6 +157,10 @@ private String indent(final int amount) {
}

public static void main(String[] args) {
new ConsoleControllerECS(PhrancisGame.createGame(new ECSGame())).play(new Scanner(System.in, StandardCharsets.UTF_8.name()));
ECSMod mod = new PhrancisGame();
ECSGame newgame = new ECSGame();
mod.declareConfiguration(newgame);
mod.setupGame(newgame);
new ConsoleControllerECS(newgame).play(new Scanner(System.in, StandardCharsets.UTF_8.name()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

import net.zomis.cardshifter.ecs.base.ECSGame;
import net.zomis.cardshifter.ecs.main.ConsoleControllerECS;
import net.zomis.cardshifter.ecs.usage.PhrancisGame;

import org.apache.log4j.PropertyConfigurator;

import com.beust.jcommander.JCommander;
import com.beust.jcommander.ParameterException;
import com.cardshifter.core.Game;
import com.cardshifter.modapi.base.ECSGame;
import com.cardshifter.modapi.base.ECSMod;

public class Main {

Expand All @@ -43,7 +43,11 @@ else if (options.isLua()) {
startLuaGame(options);
}
else {
new ConsoleControllerECS(PhrancisGame.createGame(new ECSGame())).play(input);
ECSMod mod = new PhrancisGame();
ECSGame newgame = new ECSGame();
mod.declareConfiguration(newgame);
mod.setupGame(newgame);
new ConsoleControllerECS(newgame).play(input);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;

import net.zomis.cardshifter.ecs.usage.CardshifterIO;

import com.cardshifter.api.CardshifterConstants;
import com.cardshifter.api.incoming.LoginMessage;
import com.cardshifter.api.incoming.RequestTargetsMessage;
Expand All @@ -39,7 +41,7 @@ public class NetworkConsoleController {
private final Socket socket;
private final InputStream in;
private final OutputStream out;
private final ObjectMapper mapper = new ObjectMapper();
private final ObjectMapper mapper = CardshifterIO.mapper();
private final BlockingQueue<Message> messages = new LinkedBlockingQueue<>();
private final List<UseableActionMessage> actions = Collections.synchronizedList(new ArrayList<>());
private int gameId;
Expand Down
9 changes: 7 additions & 2 deletions cardshifter-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.cardshifter</groupId>
<artifactId>cardshifter</artifactId>
<version>0.3</version>
<version>0.4</version>
</parent>

<artifactId>cardshifter-core</artifactId>
Expand All @@ -30,7 +30,7 @@
</repository>
</repositories>

<build>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
Expand All @@ -45,6 +45,11 @@
<artifactId>cardshifter-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.cardshifter</groupId>
<artifactId>cardshifter-modapi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.luaj</groupId>
<artifactId>luaj-jse</artifactId>
Expand Down
24 changes: 20 additions & 4 deletions cardshifter-core/src/main/java/com/cardshifter/ai/AIs.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package com.cardshifter.ai;

import net.zomis.aiscores.FScorer;
import net.zomis.aiscores.ScoreConfigFactory;
import net.zomis.aiscores.scorers.PredicateScorer;
import net.zomis.aiscores.scorers.Scorers;
import net.zomis.aiscores.scorers.SimpleScorer;
import net.zomis.cardshifter.ecs.actions.ECSAction;
import net.zomis.cardshifter.ecs.base.Entity;
import net.zomis.cardshifter.ecs.usage.PhrancisGame;

import com.cardshifter.ai.phrancis.AttackAnalyze;
import com.cardshifter.ai.phrancis.ScrapAnalyze;
import com.cardshifter.modapi.actions.ECSAction;
import com.cardshifter.modapi.base.Entity;

public class AIs {

private static FScorer<Entity, ECSAction> playActionScorer = new PredicateScorer<>(action -> action.getName().equals(PhrancisGame.PLAY_ACTION));

public static ScoreConfigFactory<Entity, ECSAction> loser() {
ScoreConfigFactory<Entity, ECSAction> config = new ScoreConfigFactory<>();
config.withScorer(new PredicateScorer<>(action -> action.getName().equals(PhrancisGame.END_TURN_ACTION)));
Expand All @@ -26,8 +29,21 @@ public static ScoreConfigFactory<Entity, ECSAction> medium() {
ScoreConfigFactory<Entity, ECSAction> config = new ScoreConfigFactory<>();
config.withScorer(new PredicateScorer<>(action -> action.getName().equals(PhrancisGame.PLAY_ACTION)), 10);
config.withScorer(new PredicateScorer<>(action -> action.getName().equals(PhrancisGame.ENCHANT_ACTION)), -10); // this AI does not enchant
config.withScorer(new SimpleScorer<>(ScrapAnalyze::scrapScore));
config.withScorer(new SimpleScorer<>(AttackAnalyze::scrapScore));
config.withScorer(new SimpleScorer<>(AttackAnalyze::attackScore));
return config;
}

public static ScoreConfigFactory<Entity, ECSAction> fighter() {
ScoreConfigFactory<Entity, ECSAction> config = new ScoreConfigFactory<>();
config.withScorer(Scorers.multiplication(playActionScorer, new SimpleScorer<>(AttackAnalyze::health)), 10);
config.withScorer(Scorers.multiplication(playActionScorer, new SimpleScorer<>(AttackAnalyze::attack)), 2);
config.withScorer(new PredicateScorer<>(action -> action.getName().equals(PhrancisGame.SCRAP_ACTION)), -1);
config.withScorer(Scorers.multiplication(new SimpleScorer<>(AttackAnalyze::scrapNeeded),
new SimpleScorer<>(AttackAnalyze::scrapIfCanGetKilled)));
// config.withScorer(new SimpleScorer<>(AttackAnalyze::scrapScore));
config.withScorer(new SimpleScorer<>(AttackAnalyze::attackScore));
config.withScorer(new SimpleScorer<>(AttackAnalyze::enchantScore));
return config;
}

Expand Down

This file was deleted.

0 comments on commit 34b7dd6

Please sign in to comment.