renamed turnouts, worked on route discovery

This commit is contained in:
Stephan Richter
2020-09-16 19:29:05 +02:00
parent 4ee75d0a53
commit 3c5d1161a7
45 changed files with 370 additions and 310 deletions

View File

@@ -1,21 +1,22 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class ContactH extends Contact {
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+1,y,from));
return Map.of(new Connector(x+1,y,from),State.UNDEF);
case EAST:
return List.of(new Connector(x-1,y,from));
return Map.of(new Connector(x-1,y,from),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class ContactV extends Contact {
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+1,from));
return Map.of(new Connector(x,y+1,from),State.UNDEF);
case SOUTH:
return List.of(new Connector(x,y-1,from));
return Map.of(new Connector(x,y-1,from),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
}

View File

@@ -1,10 +1,10 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public abstract class Cross extends Tile {
public abstract List<Connector> offsetConnections(Direction from);
public abstract Map<Connector,Turnout.State> offsetConnections(Direction from);
}

View File

@@ -1,25 +1,25 @@
package de.srsoftware.web4rail.tiles;
import java.io.IOException;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class CrossH extends Cross{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x+1,y+1,Direction.NORTH));
return Map.of(new Connector(x+1,y+1,Direction.NORTH),State.UNDEF);
case SOUTH:
return List.of(new Connector(x+1,y-1,Direction.SOUTH));
return Map.of(new Connector(x+1,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
@@ -29,14 +29,14 @@ public class CrossH extends Cross{
}
@Override
public List<Connector> offsetConnections(Direction from) {
public Map<Connector,State> offsetConnections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH));
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
case SOUTH:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.tiles;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class CrossV extends Cross{
@@ -16,7 +16,7 @@ public class CrossV extends Cross{
}
@Override
public List<Connector> offsetConnections(Direction from) {
public Map<Connector, State> offsetConnections(Direction from) {
return null;
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class DiagES extends Tile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case SOUTH:
return List.of(new Connector(x+1,y,Direction.WEST));
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
case EAST:
return List.of(new Connector(x,y+1,Direction.NORTH));
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
default:
return new Vector<Connector>();
return new HashMap<>();
}
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class DiagNE extends Tile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x+1,y,Direction.WEST));
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
case EAST:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
}

View File

@@ -1,21 +1,22 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class DiagSW extends Tile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case SOUTH:
return List.of(new Connector(x-1,y,Direction.EAST));
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
case WEST:
return List.of(new Connector(x,y+1,Direction.NORTH));
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class DiagWN extends Tile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x-1,y,Direction.EAST));
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
case WEST:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}
}

View File

@@ -1,16 +1,17 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class Shadow extends Tile{
private Tile overlay;
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
if (overlay instanceof StretchableTile) return overlay.connections(from);
if (overlay instanceof Cross) return ((Cross)overlay).offsetConnections(from);
return super.connections(from);

View File

@@ -1,21 +1,22 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalE extends Signal{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST));
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
case EAST:
return List.of(new Connector(x-1,y,Direction.EAST));
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalN extends Signal {
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH));
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
case SOUTH:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalS extends Signal{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH));
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
case SOUTH:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,21 +1,22 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalW extends Signal{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST));
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
case EAST:
return List.of(new Connector(x-1,y,Direction.EAST));
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class StraightH extends StretchableTile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+len(),y,Direction.WEST));
return Map.of(new Connector(x+len(),y,Direction.WEST),State.UNDEF);
case EAST:
return List.of(new Connector(x-1,y,Direction.EAST));
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -1,22 +1,23 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
public class StraightV extends StretchableTile{
@Override
public List<Connector> connections(Direction from) {
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+height(),Direction.NORTH));
return Map.of(new Connector(x,y+height(),Direction.NORTH),State.UNDEF);
case SOUTH:
return List.of(new Connector(x,y-1,Direction.SOUTH));
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.UNDEF);
default:
return new Vector<>();
return new HashMap<>();
}
}

View File

@@ -42,8 +42,8 @@ public abstract class Tile {
return new JSONObject();
}
public List<Connector> connections(Direction from){
return new Vector<>();
public Map<Connector,Turnout.State> connections(Direction from){
return new HashMap<>();
}

View File

@@ -1,7 +1,9 @@
package de.srsoftware.web4rail.tiles;
public abstract class Turnout extends Tile {
public enum State{
LEFT,STRAIGHT,RIGHT,UNDEF;
}
private boolean straight = true;
public boolean toggle() {

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutEN extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case EAST:
return List.of(new Connector(x,y-1,Direction.SOUTH),new Connector(x-1, y, Direction.EAST));
case NORTH:
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST));
default:
return new Vector<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutES extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case EAST:
return List.of(new Connector(x,y+1,Direction.NORTH),new Connector(x-1, y, Direction.EAST));
case SOUTH:
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST));
default:
return new Vector<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutLE extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case EAST:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.LEFT,new Connector(x-1, y, Direction.EAST),State.STRAIGHT);
case SOUTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.LEFT);
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutLN extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.STRAIGHT,new Connector(x+1, y, Direction.WEST),State.LEFT);
case SOUTH:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.STRAIGHT);
case EAST:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.LEFT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutLS extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case SOUTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.LEFT,new Connector(x, y-1, Direction.SOUTH),State.STRAIGHT);
case WEST:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.LEFT);
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutLW extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT,new Connector(x, y-1, Direction.SOUTH),State.LEFT);
case EAST:
return Map.of(new Connector(x-1,y,Direction.EAST),State.STRAIGHT);
case NORTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.LEFT);
default:
return new HashMap<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutNE extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH),new Connector(x+1, y, Direction.WEST));
case SOUTH:
case EAST:
return List.of(new Connector(x,y-1,Direction.SOUTH));
default:
return new Vector<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutNW extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case NORTH:
return List.of(new Connector(x-1,y,Direction.EAST),new Connector(x, y+1, Direction.NORTH));
case WEST:
case SOUTH:
return List.of(new Connector(x,y-1,Direction.SOUTH));
default:
return new Vector<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutRE extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case EAST:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.RIGHT,new Connector(x-1, y, Direction.EAST),State.STRAIGHT);
case NORTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.RIGHT);
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutRN extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case NORTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.RIGHT,new Connector(x, y+1, Direction.NORTH),State.STRAIGHT);
case WEST:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.RIGHT);
case SOUTH:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutRS extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case SOUTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.RIGHT,new Connector(x, y-1, Direction.SOUTH),State.STRAIGHT);
case EAST:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.RIGHT);
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutRW extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT,new Connector(x, y+1, Direction.NORTH),State.RIGHT);
case EAST:
return Map.of(new Connector(x-1,y,Direction.EAST),State.STRAIGHT);
case SOUTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.RIGHT);
default:
return new HashMap<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutSE extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case SOUTH:
return List.of(new Connector(x+1,y,Direction.WEST),new Connector(x, y-1, Direction.SOUTH));
case EAST:
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH));
default:
return new Vector<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutSW extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case SOUTH:
return List.of(new Connector(x-1,y,Direction.EAST),new Connector(x, y-1, Direction.SOUTH));
case WEST:
case NORTH:
return List.of(new Connector(x,y+1,Direction.NORTH));
default:
return new Vector<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutWN extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST),new Connector(x, y-1, Direction.SOUTH));
case EAST:
case NORTH:
return List.of(new Connector(x-1,y,Direction.EAST));
default:
return new Vector<>();
}
}
}

View File

@@ -1,23 +0,0 @@
package de.srsoftware.web4rail.tiles;
import java.util.List;
import java.util.Vector;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class TurnoutWS extends Turnout{
@Override
public List<Connector> connections(Direction from) {
switch (from) {
case WEST:
return List.of(new Connector(x+1,y,Direction.WEST),new Connector(x, y+1, Direction.NORTH));
case EAST:
case SOUTH:
return List.of(new Connector(x-1,y,Direction.EAST));
default:
return new Vector<>();
}
}
}