started to implement route search
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Route;
|
||||
import de.srsoftware.web4rail.tiles.StretchableTile;
|
||||
|
||||
public abstract class Block extends StretchableTile{
|
||||
public abstract Set<Route> routes();
|
||||
|
||||
public abstract List<Connector> startPoints();
|
||||
}
|
||||
|
||||
@@ -2,12 +2,15 @@ package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
import de.srsoftware.web4rail.Route;
|
||||
|
||||
public class BlockH extends Block{
|
||||
@@ -45,10 +48,15 @@ public class BlockH extends Block{
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Route> routes() {
|
||||
public Set<Route> routes() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Connector> startPoints() {
|
||||
return List.of(new Connector(x-1, y, Plan.EAST),new Connector(x+len(), y, Plan.WEST));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag tag(Map<String, Object> replacements) throws IOException {
|
||||
if (replacements == null) replacements = new HashMap<String, Object>();
|
||||
|
||||
@@ -2,12 +2,15 @@ package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
import de.srsoftware.web4rail.Route;
|
||||
|
||||
public class BlockV extends Block{
|
||||
@@ -49,6 +52,11 @@ public class BlockV extends Block{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Connector> startPoints() {
|
||||
return List.of(new Connector(x,y-1,Plan.SOUTH),new Connector(x,y+height(),Plan.NORTH));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag tag(Map<String, Object> replacements) throws IOException {
|
||||
if (replacements == null) replacements = new HashMap<String, Object>();
|
||||
|
||||
@@ -1,6 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class DiagES extends Tile{
|
||||
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.SOUTH:
|
||||
return List.of(new Connector(x+1,y,Plan.WEST));
|
||||
case Plan.EAST:
|
||||
return List.of(new Connector(x,y+1,Plan.NORTH));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class DiagWN extends Tile{
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x-1,y,Plan.EAST));
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x,y-1,Plan.SOUTH));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,24 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class StraightH extends StretchableTile{
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x+len(),y,from));
|
||||
case Plan.EAST:
|
||||
return List.of(new Connector(x-1,y,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int len() {
|
||||
return length;
|
||||
|
||||
@@ -5,9 +5,11 @@ import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Scanner;
|
||||
import java.util.Vector;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
@@ -16,6 +18,7 @@ import org.slf4j.LoggerFactory;
|
||||
import de.keawe.tools.translations.Translation;
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.Application;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Window;
|
||||
|
||||
public abstract class Tile {
|
||||
@@ -32,6 +35,11 @@ public abstract class Tile {
|
||||
public JSONObject config() {
|
||||
return new JSONObject();
|
||||
}
|
||||
|
||||
public List<Connector> connections(String from){
|
||||
return new Vector<>();
|
||||
}
|
||||
|
||||
|
||||
public void configure(JSONObject config) {}
|
||||
|
||||
|
||||
@@ -1,7 +1,22 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class TurnoutWN extends Turnout{
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x+1,y,from),new Connector(x, y-1, Plan.SOUTH));
|
||||
case Plan.EAST:
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x-1,y,Plan.EAST));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user