Add way to see whose turn it is, add player chooser

update3
Julius de Jeu 2017-03-23 22:10:31 +01:00
parent 3026e1c370
commit 06ff4957cd
7 changed files with 386 additions and 257 deletions

View File

@ -4,8 +4,6 @@ import javafx.event.EventHandler;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Pane; import javafx.scene.layout.Pane;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import javafx.scene.shape.Circle; import javafx.scene.shape.Circle;
@ -22,11 +20,8 @@ import java.util.HashMap;
public class Game extends Pane { public class Game extends Pane {
public static int[][] locations;
public static final HashMap<Integer, Integer> specials = new HashMap<>(); public static final HashMap<Integer, Integer> specials = new HashMap<>();
public static int[][] locations;
public static ArrayList<Player> players = new ArrayList<>(); public static ArrayList<Player> players = new ArrayList<>();
public Game() { public Game() {
@ -35,9 +30,9 @@ public class Game extends Pane {
ImageView view = new ImageView(bord); ImageView view = new ImageView(bord);
view.setPreserveRatio(true); view.setPreserveRatio(true);
view.setFitHeight(500); view.setFitHeight(800);
view.setX(150); view.setX(150);
view.setY(135); view.setY(0);
this.getChildren().add(view); this.getChildren().add(view);
for (int i = 0, locationsLength = locations.length; i < locationsLength; i++) { for (int i = 0, locationsLength = locations.length; i < locationsLength; i++) {
@ -45,32 +40,41 @@ public class Game extends Pane {
getChildren().add(new Circle(k[0], k[1], 5, Color.RED)); getChildren().add(new Circle(k[0], k[1], 5, Color.RED));
getChildren().add(new Text(k[0], k[1], String.valueOf(i))); getChildren().add(new Text(k[0], k[1], String.valueOf(i)));
} }
//System.out.print("{");
this.setOnMouseClicked(new EventHandler<MouseEvent>() { this.setOnMouseClicked(new EventHandler<MouseEvent>() {
int i = 0; int i = 0;
@Override @Override
public void handle(MouseEvent event) { public void handle(MouseEvent event) {
System.out.printf("%d: %d,%d,%n", i++, (int) event.getSceneX(), (int) event.getSceneY()); //System.out.printf("%d: %d,%d%n", i++, (int) event.getSceneX(), (int) event.getSceneY());
} }
}); });
specials.put(5, 10); ImageView playerTurn = new ImageView();
specials.put(15, 7); playerTurn.setX(1000);
playerTurn.setY(50);
playerTurn.setPreserveRatio(true);
playerTurn.setFitWidth(100);
this.getChildren().add(playerTurn);
Dice dice = new Dice(1100, 700); Dice dice = new Dice(1100, 700);
this.getChildren().add(dice); this.getChildren().add(dice);
this.getChildren().add(Menu.createButton("Roll", 1100, 650, e -> { this.getChildren().add(Menu.createButton("Gooi", 1100, 650, e -> {
Player p = players.get(Player.getNextActive()); Player p = players.get(Player.getNextActive());
int roll = dice.roll(); int roll = dice.roll();
p.move(roll); p.move(roll);
if (roll == 6) Player.six(); if (roll == 6) Player.six();
playerTurn.setImage(Menu.images[players.get(Player.getNextActive()).getCh()]);
Player.six();
})); }));
this.setBackground(new Background(new BackgroundFill(Color.RED, null, null))); //this.setBackground(new Background(new BackgroundFill(Color.RED, null, null)));
for (Player p : players) { for (Player p : players) {
this.getChildren().add(p.getImageView()); this.getChildren().add(p.getImageView());
} }
playerTurn.setImage(Menu.images[players.get(1).getCh()]);
} }
} }

View File

@ -14,19 +14,6 @@ import java.util.Properties;
public class Main extends Application { public class Main extends Application {
public static Scene scene; public static Scene scene;
@Override
public void start(Stage primaryStage) throws Exception {
SvgImageLoaderFactory.install();
primaryStage.setTitle("Het spectaculaire tuinavontuur");
scene = new Scene(new Menu(), 1200, 800);
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.show();
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
Properties properties = new Properties(); Properties properties = new Properties();
@ -45,7 +32,26 @@ public class Main extends Application {
} }
} }
properties = new Properties();
properties.load(Main.class.getResourceAsStream("/text/specials.properties"));
for (Object s : properties.keySet()) {
Game.specials.put(Integer.parseInt((String) s), Integer.parseInt((String) properties.get(s)));
}
launch(args); launch(args);
} }
@Override
public void start(Stage primaryStage) throws Exception {
SvgImageLoaderFactory.install();
primaryStage.setTitle("Het spectaculaire tuinavontuur");
scene = new Scene(new Menu(), 1200, 800);
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.show();
}
} }

View File

@ -4,6 +4,8 @@ import javafx.event.EventHandler;
import javafx.scene.Group; import javafx.scene.Group;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
@ -27,8 +29,11 @@ import java.util.Random;
public class Menu extends Group { public class Menu extends Group {
public static Image[] images;
private static Random random = new Random(System.currentTimeMillis()); private static Random random = new Random(System.currentTimeMillis());
private final Image[] images; private int hoeveel = -1;
private ArrayList<Integer> chosen = new ArrayList<>();
public Menu() throws URISyntaxException, MalformedURLException { public Menu() throws URISyntaxException, MalformedURLException {
ArrayList<Node> nodes = new ArrayList<>(); ArrayList<Node> nodes = new ArrayList<>();
@ -52,11 +57,11 @@ public class Menu extends Group {
menuplayer.play(); menuplayer.play();
menuplayer.play(); menuplayer.play();
menuplayer.stop();
nodes.add(view); nodes.add(view);
nodes.add(createButton("2 players", 100, 100, event -> {
System.out.println("2 players");
}));
nodes.add(createButton("3 players", 100, 150, event -> System.out.println("3 players")));
int imagewidth = 100; int imagewidth = 100;
images = new Image[]{ images = new Image[]{
new Image("/svg/p1.svg", imagewidth, 0, true, false), new Image("/svg/p1.svg", imagewidth, 0, true, false),
@ -75,21 +80,55 @@ public class Menu extends Group {
y += 150; y += 150;
x = -70; x = -70;
} }
final int ch = i1;
iv.setOnMouseClicked(e -> {
if (chosen.contains(ch)) {
new Alert(Alert.AlertType.ERROR, "Sorry, dit karakter is al door iemand anders gekozen...").show();
return;
}
if (hoeveel < 0) {
Alert alert = new Alert(Alert.AlertType.ERROR, "Je moet eerst kiezen hoe veel spelers je wilt!\nDruk links op de juiste hoeveelheid kaboutertjes!", ButtonType.OK);
alert.show();
} else {
Image image = new Image(i.impl_getUrl(), 0, 50, true, false);
Game.players.add(new Player(image, ch));
hoeveel--;
if (hoeveel == 0) {
Main.scene.setRoot(new Game());
} else {
String een = "Er moet nog 1 persoon kiezen!";
String meer = String.format("Er moeten nog %d mensen kiezen!", hoeveel);
Alert alert = new Alert(Alert.AlertType.NONE, hoeveel > 1 ? meer : een, ButtonType.OK);
alert.show();
}
}
chosen.add(ch);
});
nodes.add(iv); nodes.add(iv);
} }
int x2 = 30, y2 = 50; int x2 = 30, y2 = 50;
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
if (i==0) continue; if (i == 0) continue;
int number = 1 + i; int number = 1 + i;
int locy = (int) (y2 + 150 * i + 10); int locy = y2 + 150 * i + 10;
for (int e = 0; e < number; e++) { for (int e = 0; e < number; e++) {
ImageView view1 = new ImageView(new Image("/svg/p1.svg", 75, 0, true, false)); ImageView view1 = new ImageView(new Image("/svg/p1.svg", 75, 0, true, false));
view1.setX(x2 + 85 * e + 10 * e); view1.setX(x2 + 85 * e + 10 * e);
view1.setY(locy); view1.setY(locy);
nodes.add(view1); nodes.add(view1);
} }
Rectangle clickable = new Rectangle(x2 - 10, locy + 125, 95 + i * 95, 150);
clickable.setFill(Color.TRANSPARENT);
clickable.setStroke(Color.BLACK);
final int s = i + 1;
clickable.setOnMouseClicked(e -> {
hoeveel = s;
new Alert(Alert.AlertType.INFORMATION, "Alle " + hoeveel + " spelers kunnen nu een karakter kiezen. \nAls iemand de verkeerde kiest kan je opnieuw \nop de knop drukken om opnieuw te beginnen.").show();
});
nodes.add(clickable);
} }
getChildren().addAll(nodes); getChildren().addAll(nodes);

View File

@ -7,7 +7,6 @@ import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.util.Duration; import javafx.util.Duration;
import java.util.Arrays;
import java.util.Random; import java.util.Random;
/** /**
@ -16,30 +15,51 @@ import java.util.Random;
*/ */
public class Player { public class Player {
private static int who = 0;
private final Image image; private final Image image;
private final ImageView view; private final ImageView view;
private final int ch;
private final int[] add;
private int plaats = 0; private int plaats = 0;
private int[] coords = Game.locations[plaats]; private int[] coords = Game.locations[plaats];
private final int[] add;
private static int who = 0;
public Player(Image image) { public Player(Image image, int ch) {
this.ch = ch;
Random r = new Random(System.currentTimeMillis()); Random r = new Random(System.currentTimeMillis());
this.image = image; this.image = image;
this.view = new ImageView(this.image); this.view = new ImageView(this.image);
this.add = new int[]{r.nextInt(10) - 5 - image.widthProperty().intValue() / 2, r.nextInt(10) - 5 - image.heightProperty().intValue() / 2};// new int[]{r.nextInt(10) - 5, r.nextInt(10) - 5}; this.add = new int[]{r.nextInt(10) - 5 - image.widthProperty().intValue() / 2, r.nextInt(10) - 5 - image.heightProperty().intValue() / 2};// new int[]{r.nextInt(10) - 5, r.nextInt(10) - 5};
coords = new int[]{coords[0] + add[0], coords[1] + add[1]}; coords = new int[]{coords[0] + add[0], coords[1] + add[1]};
System.out.println(Arrays.toString(coords));
getImageView().setTranslateX(coords[0]); getImageView().setTranslateX(coords[0]);
getImageView().setTranslateY(coords[1]); getImageView().setTranslateY(coords[1]);
} }
public static int getNextActive() {
who++;
if (who >= Game.players.size()) {
return who = 0;
}
return who;
}
public static void six() {
who -= 1;
}
public ImageView getImageView() { public ImageView getImageView() {
return view; return view;
} }
public Image getImage() {
return image;
}
public int getCh() {
return ch;
}
public void move(int roll) { public void move(int roll) {
Alert alert = new Alert(Alert.AlertType.NONE, "Je hebt " + roll + " gegooid!", ButtonType.OK); Alert alert = new Alert(Alert.AlertType.NONE, "Je hebt " + roll + " gegooid!", ButtonType.OK);
if (roll == 6) alert.contentTextProperty().setValue("Je hebt " + roll + " gegooid!\nJe mag dus nog een keer!"); if (roll == 6) alert.contentTextProperty().setValue("Je hebt " + roll + " gegooid!\nJe mag dus nog een keer!");
@ -95,17 +115,4 @@ public class Player {
} }
} }
public static int getNextActive() {
who++;
if (who >= Game.players.size()) {
return who = 0;
}
return who;
}
public static void six() {
who -= 1;
}
} }

View File

@ -1,107 +1,180 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
width="250px" height="250px" viewBox="0 0 250 250" enable-background="new 0 0 250 250" xml:space="preserve"> width="1592px" height="1936px" viewBox="-690.5 -830.5 1592 1936" enable-background="new -690.5 -830.5 1592 1936"
<polygon fill="#FFFFFF" stroke="#000000" points="150,0 160,6 160,20 150,26 140,20 140,6 "/> xml:space="preserve">
<polygon fill="#FFFFFF" stroke="#000000" points="130,0 140,6 140,20 130,26 120,20 120,6 "/> <g>
<polygon fill="#FFFFFF" stroke="#000000" points="110,0 120,6 120,20 110,26 100,20 100,6 "/> <polygon fill="none" stroke="#000000" points="390,-798.008 460.004,-756.008 460.004,-658.008 390,-616.008 320,-658.008
<polygon fill="#FFFFFF" stroke="#000000" points="90,0 100,6 100,20 90,26 80,20 80,6 "/> 320,-756.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,0 80,6 80,20 70,26 60,20 60,6 "/> <polygon fill="none" stroke="#000000" points="250,-798.008 320,-756.008 320,-658.008 250,-616.008 180,-658.008 180,-756.008
<polygon fill="#FFFFFF" stroke="#000000" points="60,20 70,26 70,40 60,46 50,40 50,26 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="80,20 90,26 90,40 80,46 70,40 70,26 "/> <polygon fill="none" stroke="#000000" points="110,-798.008 180,-756.008 180,-658.008 110,-616.008 39.996,-658.008
<polygon fill="#FFFFFF" stroke="#000000" points="100,20 110,26 110,40 100,46 90,40 90,26 "/> 39.996,-756.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="120,20 130,26 130,40 120,46 110,40 110,26 "/> <polygon fill="none" stroke="#000000" points="-30.004,-798.008 39.996,-756.008 39.996,-658.008 -30.004,-616.008
<polygon fill="#FFFFFF" stroke="#000000" points="140,20 150,26 150,40 140,46 130,40 130,26 "/> -100.004,-658.008 -100.004,-756.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="160,20 170,26 170,40 160,46 150,40 150,26 "/> <polygon fill="none" stroke="#000000" points="-170.004,-798.008 -100.004,-756.008 -100.004,-658.008 -170.004,-616.008
<polygon fill="#FFFFFF" stroke="#000000" points="170,40 180,46 180,60 170,66 160,60 160,46 "/> -240.004,-658.008 -240.004,-756.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="150,40 160,46 160,60 150,66 140,60 140,46 "/> <polygon fill="none" stroke="#000000" points="-240.004,-658.008 -170.004,-616.008 -170.004,-518.008 -240.004,-476.008
<polygon fill="#FFFFFF" stroke="#000000" points="130,40 140,46 140,60 130,66 120,60 120,46 "/> -310.008,-518.008 -310.008,-616.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,40 120,46 120,60 110,66 100,60 100,46 "/> <polygon fill="none" stroke="#000000" points="-100.004,-658.008 -30.004,-616.008 -30.004,-518.008 -100.004,-476.008
<polygon fill="#FFFFFF" stroke="#000000" points="90,40 100,46 100,60 90,66 80,60 80,46 "/> -170.004,-518.008 -170.004,-616.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,40 80,46 80,60 70,66 60,60 60,46 "/> <polygon fill="none" stroke="#000000" points="39.996,-658.008 110,-616.008 110,-518.008 39.996,-476.008 -30.004,-518.008
<polygon fill="#FFFFFF" stroke="#000000" points="50,40 60,46 60,60 50,66 40,60 40,46 "/> -30.004,-616.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="40,60 50,66 50,80 40,86 30,80 30,66 "/> <polygon fill="none" stroke="#000000" points="180,-658.008 250,-616.008 250,-518.008 180,-476.008 110,-518.008 110,-616.008
<polygon fill="#FFFFFF" stroke="#000000" points="60,60 70,66 70,80 60,86 50,80 50,66 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="80,60 90,66 90,80 80,86 70,80 70,66 "/> <polygon fill="none" stroke="#000000" points="320,-658.008 390,-616.008 390,-518.008 320,-476.008 250,-518.008 250,-616.008
<polygon fill="#FFFFFF" stroke="#000000" points="100,60 110,66 110,80 100,86 90,80 90,66 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="120,60 130,66 130,80 120,86 110,80 110,66 "/> <polygon fill="none" stroke="#000000" points="460.004,-658.008 530.004,-616.008 530.004,-518.008 460.004,-476.008 390,-518.008
<polygon fill="#FFFFFF" stroke="#000000" points="140,60 150,66 150,80 140,86 130,80 130,66 "/> 390,-616.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="160,60 170,66 170,80 160,86 150,80 150,66 "/> <polygon fill="none" stroke="#000000" points="530.004,-518.008 600.004,-476.008 600.004,-378.004 530.004,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="180,60 190,66 190,80 180,86 170,80 170,66 "/> 460.004,-378.004 460.004,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="190,80 200,86 200,100 190,106 180,100 180,86 "/> <polygon fill="none" stroke="#000000" points="390,-518.008 460.004,-476.008 460.004,-378.004 390,-336.004 320,-378.004
<polygon fill="#FFFFFF" stroke="#000000" points="170,80 180,86 180,100 170,106 160,100 160,86 "/> 320,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="150,80 160,86 160,100 150,106 140,100 140,86 "/> <polygon fill="none" stroke="#000000" points="250,-518.008 320,-476.008 320,-378.004 250,-336.004 180,-378.004 180,-476.008
<polygon fill="#FFFFFF" stroke="#000000" points="130,80 140,86 140,100 130,106 120,100 120,86 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,80 120,86 120,100 110,106 100,100 100,86 "/> <polygon fill="none" stroke="#000000" points="110,-518.008 180,-476.008 180,-378.004 110,-336.004 39.996,-378.004
<polygon fill="#FFFFFF" stroke="#000000" points="90,80 100,86 100,100 90,106 80,100 80,86 "/> 39.996,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,80 80,86 80,100 70,106 60,100 60,86 "/> <polygon fill="none" stroke="#000000" points="-30.004,-518.008 39.996,-476.008 39.996,-378.004 -30.004,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="50,80 60,86 60,100 50,106 40,100 40,86 "/> -100.004,-378.004 -100.004,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="30,80 40,86 40,100 30,106 20,100 20,86 "/> <polygon fill="none" stroke="#000000" points="-170.004,-518.008 -100.004,-476.008 -100.004,-378.004 -170.004,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="20,100 30,106 30,120 20,126 10,120 10,106 "/> -240.004,-378.004 -240.004,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="40,100 50,106 50,120 40,126 30,120 30,106 "/> <polygon fill="none" stroke="#000000" points="-310.008,-518.008 -240.004,-476.008 -240.004,-378.004 -310.008,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="60,100 70,106 70,120 60,126 50,120 50,106 "/> -380.008,-378.004 -380.008,-476.008 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="80,100 90,106 90,120 80,126 70,120 70,106 "/> <polygon fill="none" stroke="#000000" points="-380.008,-378.004 -310.008,-336.004 -310.008,-238.004 -380.008,-196.004
<polygon fill="#FFFFFF" stroke="#000000" points="100,100 110,106 110,120 100,126 90,120 90,106 "/> -450.008,-238.004 -450.008,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="120,100 130,106 130,120 120,126 110,120 110,106 "/> <polygon fill="none" stroke="#000000" points="-240.004,-378.004 -170.004,-336.004 -170.004,-238.004 -240.004,-196.004
<polygon fill="#FFFFFF" stroke="#000000" points="140,100 150,106 150,120 140,126 130,120 130,106 "/> -310.008,-238.004 -310.008,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="160,100 170,106 170,120 160,126 150,120 150,106 "/> <polygon fill="none" stroke="#000000" points="-100.004,-378.004 -30.004,-336.004 -30.004,-238.004 -100.004,-196.004
<polygon fill="#FFFFFF" stroke="#000000" points="180,100 190,106 190,120 180,126 170,120 170,106 "/> -170.004,-238.004 -170.004,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="200,100 210,106 210,120 200,126 190,120 190,106 "/> <polygon fill="none" stroke="#000000" points="39.996,-378.004 110,-336.004 110,-238.004 39.996,-196.004 -30.004,-238.004
<polygon fill="#FFFFFF" stroke="#000000" points="210,120 220,126 220,140 210,146 200,140 200,126 "/> -30.004,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="190,120 200,126 200,140 190,146 180,140 180,126 "/> <polygon fill="none" stroke="#000000" points="180,-378.004 250,-336.004 250,-238.004 180,-196.004 110,-238.004 110,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="170,120 180,126 180,140 170,146 160,140 160,126 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="150,120 160,126 160,140 150,146 140,140 140,126 "/> <polygon fill="none" stroke="#000000" points="320,-378.004 390,-336.004 390,-238.004 320,-196.004 250,-238.004 250,-336.004
<polygon fill="#FFFFFF" stroke="#000000" points="130,120 140,126 140,140 130,146 120,140 120,126 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,120 120,126 120,140 110,146 100,140 100,126 "/> <polygon fill="none" stroke="#000000" points="460.004,-378.004 530.004,-336.004 530.004,-238.004 460.004,-196.004 390,-238.004
<polygon fill="#FFFFFF" stroke="#000000" points="90,120 100,126 100,140 90,146 80,140 80,126 "/> 390,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,120 80,126 80,140 70,146 60,140 60,126 "/> <polygon fill="none" stroke="#000000" points="600.004,-378.004 670.004,-336.004 670.004,-238.004 600.004,-196.004
<polygon fill="#FFFFFF" stroke="#000000" points="50,120 60,126 60,140 50,146 40,140 40,126 "/> 530.004,-238.004 530.004,-336.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="30,120 40,126 40,140 30,146 20,140 20,126 "/> <polygon fill="none" stroke="#000000" points="670.004,-238.004 740.004,-196.004 740.004,-98.004 670.004,-56 600.004,-98.004
<polygon fill="#FFFFFF" stroke="#000000" points="10,120 20,126 20,140 10,146 0,140 0,126 "/> 600.004,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="140,260 140,246 150,240 160,246 160,260 150,266 "/> <polygon fill="none" stroke="#000000" points="530.004,-238.004 600.004,-196.004 600.004,-98.004 530.004,-56 460.004,-98.004
<polygon fill="#FFFFFF" stroke="#000000" points="120,260 120,246 130,240 140,246 140,260 130,266 "/> 460.004,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="100,260 100,246 110,240 120,246 120,260 110,266 "/> <polygon fill="none" stroke="#000000" points="390,-238.004 460.004,-196.004 460.004,-98.004 390,-56 320,-98.004 320,-196.004
<polygon fill="#FFFFFF" stroke="#000000" points="80,260 80,246 90,240 100,246 100,260 90,266 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="60,260 60,246 70,240 80,246 80,260 70,266 "/> <polygon fill="none" stroke="#000000" points="250,-238.004 320,-196.004 320,-98.004 250,-56 180,-98.004 180,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="50,240 50,226 60,220 70,226 70,240 60,246 "/> <polygon fill="none" stroke="#000000" points="110,-238.004 180,-196.004 180,-98.004 110,-56 39.996,-98.004 39.996,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,240 70,226 80,220 90,226 90,240 80,246 "/> <polygon fill="none" stroke="#000000" points="-30.004,-238.004 39.996,-196.004 39.996,-98.004 -30.004,-56 -100.004,-98.004
<polygon fill="#FFFFFF" stroke="#000000" points="90,240 90,226 100,220 110,226 110,240 100,246 "/> -100.004,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,240 110,226 120,220 130,226 130,240 120,246 "/> <polygon fill="none" stroke="#000000" points="-170.004,-238.004 -100.004,-196.004 -100.004,-98.004 -170.004,-56
<polygon fill="#FFFFFF" stroke="#000000" points="130,240 130,226 140,220 150,226 150,240 140,246 "/> -240.004,-98.004 -240.004,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="150,240 150,226 160,220 170,226 170,240 160,246 "/> <polygon fill="none" stroke="#000000" points="-310.008,-238.004 -240.004,-196.004 -240.004,-98.004 -310.008,-56
<polygon fill="#FFFFFF" stroke="#000000" points="160,220 160,206 170,200 180,206 180,220 170,226 "/> -380.008,-98.004 -380.008,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="140,220 140,206 150,200 160,206 160,220 150,226 "/> <polygon fill="none" stroke="#000000" points="-450.008,-238.004 -380.008,-196.004 -380.008,-98.004 -450.008,-56
<polygon fill="#FFFFFF" stroke="#000000" points="120,220 120,206 130,200 140,206 140,220 130,226 "/> -520.008,-98.004 -520.008,-196.004 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="100,220 100,206 110,200 120,206 120,220 110,226 "/> <polygon fill="none" stroke="#000000" points="-520.008,-98.004 -450.008,-56 -450.008,42 -520.008,84 -590.008,42 -590.008,-56
<polygon fill="#FFFFFF" stroke="#000000" points="80,220 80,206 90,200 100,206 100,220 90,226 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="60,220 60,206 70,200 80,206 80,220 70,226 "/> <polygon fill="none" stroke="#000000" points="-380.008,-98.004 -310.008,-56 -310.008,42 -380.008,84 -450.008,42 -450.008,-56
<polygon fill="#FFFFFF" stroke="#000000" points="40,220 40,206 50,200 60,206 60,220 50,226 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="30,200 30,186 40,180 50,186 50,200 40,206 "/> <polygon fill="none" stroke="#000000" points="-240.004,-98.004 -170.004,-56 -170.004,42 -240.004,84 -310.008,42 -310.008,-56
<polygon fill="#FFFFFF" stroke="#000000" points="50,200 50,186 60,180 70,186 70,200 60,206 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,200 70,186 80,180 90,186 90,200 80,206 "/> <polygon fill="none" stroke="#000000" points="-100.004,-98.004 -30.004,-56 -30.004,42 -100.004,84 -170.004,42 -170.004,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="90,200 90,186 100,180 110,186 110,200 100,206 "/> <polygon fill="none" stroke="#000000" points="39.996,-98.004 110,-56 110,42 39.996,84 -30.004,42 -30.004,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,200 110,186 120,180 130,186 130,200 120,206 "/> <polygon fill="none" stroke="#000000" points="180,-98.004 250,-56 250,42 180,84 110,42 110,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="130,200 130,186 140,180 150,186 150,200 140,206 "/> <polygon fill="none" stroke="#000000" points="320,-98.004 390,-56 390,42 320,84 250,42 250,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="150,200 150,186 160,180 170,186 170,200 160,206 "/> <polygon fill="none" stroke="#000000" points="460.004,-98.004 530.004,-56 530.004,42 460.004,84 390,42 390,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="170,200 170,186 180,180 190,186 190,200 180,206 "/> <polygon fill="none" stroke="#000000" points="600.004,-98.004 670.004,-56 670.004,42 600.004,84 530.004,42 530.004,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="180,180 180,166 190,160 200,166 200,180 190,186 "/> <polygon fill="none" stroke="#000000" points="740.004,-98.004 810.008,-56 810.008,42 740.004,84 670.004,42 670.004,-56 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="160,180 160,166 170,160 180,166 180,180 170,186 "/> <polygon fill="none" stroke="#000000" points="810.008,42 880.008,84 880.008,182 810.008,224 740.004,182 740.004,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="140,180 140,166 150,160 160,166 160,180 150,186 "/> <polygon fill="none" stroke="#000000" points="670.004,42 740.004,84 740.004,182 670.004,224 600.004,182 600.004,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="120,180 120,166 130,160 140,166 140,180 130,186 "/> <polygon fill="none" stroke="#000000" points="530.004,42 600.004,84 600.004,182 530.004,224 460.004,182 460.004,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="100,180 100,166 110,160 120,166 120,180 110,186 "/> <polygon fill="none" stroke="#000000" points="390,42 460.004,84 460.004,182 390,224 320,182 320,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="80,180 80,166 90,160 100,166 100,180 90,186 "/> <polygon fill="none" stroke="#000000" points="250,42 320,84 320,182 250,224 180,182 180,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="60,180 60,166 70,160 80,166 80,180 70,186 "/> <polygon fill="none" stroke="#000000" points="110,42 180,84 180,182 110,224 39.996,182 39.996,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="40,180 40,166 50,160 60,166 60,180 50,186 "/> <polygon fill="none" stroke="#000000" points="-30.004,42 39.996,84 39.996,182 -30.004,224 -100.004,182 -100.004,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="20,180 20,166 30,160 40,166 40,180 30,186 "/> <polygon fill="none" stroke="#000000" points="-170.004,42 -100.004,84 -100.004,182 -170.004,224 -240.004,182 -240.004,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="10,160 10,146 20,140 30,146 30,160 20,166 "/> <polygon fill="none" stroke="#000000" points="-310.008,42 -240.004,84 -240.004,182 -310.008,224 -380.008,182 -380.008,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="30,160 30,146 40,140 50,146 50,160 40,166 "/> <polygon fill="none" stroke="#000000" points="-450.008,42 -380.008,84 -380.008,182 -450.008,224 -520.008,182 -520.008,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="50,160 50,146 60,140 70,146 70,160 60,166 "/> <polygon fill="none" stroke="#000000" points="-590.008,42 -520.008,84 -520.008,182 -590.008,224 -660.008,182 -660.008,84 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="70,160 70,146 80,140 90,146 90,160 80,166 "/> <polygon fill="none" stroke="#000000" points="320,1022.012 320,924.008 390,882.008 460.004,924.008 460.004,1022.012
<polygon fill="#FFFFFF" stroke="#000000" points="90,160 90,146 100,140 110,146 110,160 100,166 "/> 390,1064.012 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="110,160 110,146 120,140 130,146 130,160 120,166 "/> <polygon fill="none" stroke="#000000" points="180,1022.012 180,924.008 250,882.008 320,924.008 320,1022.012 250,1064.012 "/>
<polygon fill="#FFFFFF" stroke="#000000" points="130,160 130,146 140,140 150,146 150,160 140,166 "/> <polygon fill="none" stroke="#000000" points="39.996,1022.012 39.996,924.008 110,882.008 180,924.008 180,1022.012 110,1064.012
<polygon fill="#FFFFFF" stroke="#000000" points="150,160 150,146 160,140 170,146 170,160 160,166 "/> "/>
<polygon fill="#FFFFFF" stroke="#000000" points="170,160 170,146 180,140 190,146 190,160 180,166 "/> <polygon fill="none" stroke="#000000" points="-100.004,1022.012 -100.004,924.008 -30.004,882.008 39.996,924.008
<polygon fill="#FFFFFF" stroke="#000000" points="190,160 190,146 200,140 210,146 210,160 200,166 "/> 39.996,1022.012 -30.004,1064.012 "/>
<polygon fill="none" stroke="#000000" points="-240.004,1022.012 -240.004,924.008 -170.004,882.008 -100.004,924.008
-100.004,1022.012 -170.004,1064.012 "/>
<polygon fill="none" stroke="#000000" points="-310.008,882.008 -310.008,784.008 -240.004,742.008 -170.004,784.008
-170.004,882.008 -240.004,924.008 "/>
<polygon fill="none" stroke="#000000" points="-170.004,882.008 -170.004,784.008 -100.004,742.008 -30.004,784.008
-30.004,882.008 -100.004,924.008 "/>
<polygon fill="none" stroke="#000000" points="-30.004,882.008 -30.004,784.008 39.996,742.008 110,784.008 110,882.008
39.996,924.008 "/>
<polygon fill="none" stroke="#000000" points="110,882.008 110,784.008 180,742.008 250,784.008 250,882.008 180,924.008 "/>
<polygon fill="none" stroke="#000000" points="250,882.008 250,784.008 320,742.008 390,784.008 390,882.008 320,924.008 "/>
<polygon fill="none" stroke="#000000" points="390,882.008 390,784.008 460.004,742.008 530.004,784.008 530.004,882.008
460.004,924.008 "/>
<polygon fill="none" stroke="#000000" points="460.004,742.008 460.004,644.008 530.004,602.004 600.004,644.008 600.004,742.008
530.004,784.008 "/>
<polygon fill="none" stroke="#000000" points="320,742.008 320,644.008 390,602.004 460.004,644.008 460.004,742.008 390,784.008
"/>
<polygon fill="none" stroke="#000000" points="180,742.008 180,644.008 250,602.004 320,644.008 320,742.008 250,784.008 "/>
<polygon fill="none" stroke="#000000" points="39.996,742.008 39.996,644.008 110,602.004 180,644.008 180,742.008 110,784.008
"/>
<polygon fill="none" stroke="#000000" points="-100.004,742.008 -100.004,644.008 -30.004,602.004 39.996,644.008 39.996,742.008
-30.004,784.008 "/>
<polygon fill="none" stroke="#000000" points="-240.004,742.008 -240.004,644.008 -170.004,602.004 -100.004,644.008
-100.004,742.008 -170.004,784.008 "/>
<polygon fill="none" stroke="#000000" points="-380.008,742.008 -380.008,644.008 -310.008,602.004 -240.004,644.008
-240.004,742.008 -310.008,784.008 "/>
<polygon fill="none" stroke="#000000" points="-450.008,602.004 -450.008,504.004 -380.008,462.004 -310.008,504.004
-310.008,602.004 -380.008,644.008 "/>
<polygon fill="none" stroke="#000000" points="-310.008,602.004 -310.008,504.004 -240.004,462.004 -170.004,504.004
-170.004,602.004 -240.004,644.008 "/>
<polygon fill="none" stroke="#000000" points="-170.004,602.004 -170.004,504.004 -100.004,462.004 -30.004,504.004
-30.004,602.004 -100.004,644.008 "/>
<polygon fill="none" stroke="#000000" points="-30.004,602.004 -30.004,504.004 39.996,462.004 110,504.004 110,602.004
39.996,644.008 "/>
<polygon fill="none" stroke="#000000" points="110,602.004 110,504.004 180,462.004 250,504.004 250,602.004 180,644.008 "/>
<polygon fill="none" stroke="#000000" points="250,602.004 250,504.004 320,462.004 390,504.004 390,602.004 320,644.008 "/>
<polygon fill="none" stroke="#000000" points="390,602.004 390,504.004 460.004,462.004 530.004,504.004 530.004,602.004
460.004,644.008 "/>
<polygon fill="none" stroke="#000000" points="530.004,602.004 530.004,504.004 600.004,462.004 670.004,504.004 670.004,602.004
600.004,644.008 "/>
<polygon fill="none" stroke="#000000" points="600.004,462.004 600.004,364.004 670.004,322.004 740.004,364.004 740.004,462.004
670.004,504.004 "/>
<polygon fill="none" stroke="#000000" points="460.004,462.004 460.004,364.004 530.004,322.004 600.004,364.004 600.004,462.004
530.004,504.004 "/>
<polygon fill="none" stroke="#000000" points="320,462.004 320,364.004 390,322.004 460.004,364.004 460.004,462.004 390,504.004
"/>
<polygon fill="none" stroke="#000000" points="180,462.004 180,364.004 250,322.004 320,364.004 320,462.004 250,504.004 "/>
<polygon fill="none" stroke="#000000" points="39.996,462.004 39.996,364.004 110,322.004 180,364.004 180,462.004 110,504.004
"/>
<polygon fill="none" stroke="#000000" points="-100.004,462.004 -100.004,364.004 -30.004,322.004 39.996,364.004 39.996,462.004
-30.004,504.004 "/>
<polygon fill="none" stroke="#000000" points="-240.004,462.004 -240.004,364.004 -170.004,322.004 -100.004,364.004
-100.004,462.004 -170.004,504.004 "/>
<polygon fill="none" stroke="#000000" points="-380.008,462.004 -380.008,364.004 -310.008,322.004 -240.004,364.004
-240.004,462.004 -310.008,504.004 "/>
<polygon fill="none" stroke="#000000" points="-520.008,462.004 -520.008,364.004 -450.008,322.004 -380.008,364.004
-380.008,462.004 -450.008,504.004 "/>
<polygon fill="none" stroke="#000000" points="-590.008,322.004 -590.008,224 -520.008,182 -450.008,224 -450.008,322.004
-520.008,364.004 "/>
<polygon fill="none" stroke="#000000" points="-450.008,322.004 -450.008,224 -380.008,182 -310.008,224 -310.008,322.004
-380.008,364.004 "/>
<polygon fill="none" stroke="#000000" points="-310.008,322.004 -310.008,224 -240.004,182 -170.004,224 -170.004,322.004
-240.004,364.004 "/>
<polygon fill="none" stroke="#000000" points="-170.004,322.004 -170.004,224 -100.004,182 -30.004,224 -30.004,322.004
-100.004,364.004 "/>
<polygon fill="none" stroke="#000000" points="-30.004,322.004 -30.004,224 39.996,182 110,224 110,322.004 39.996,364.004 "/>
<polygon fill="none" stroke="#000000" points="110,322.004 110,224 180,182 250,224 250,322.004 180,364.004 "/>
<polygon fill="none" stroke="#000000" points="250,322.004 250,224 320,182 390,224 390,322.004 320,364.004 "/>
<polygon fill="none" stroke="#000000" points="390,322.004 390,224 460.004,182 530.004,224 530.004,322.004 460.004,364.004 "/>
<polygon fill="none" stroke="#000000" points="530.004,322.004 530.004,224 600.004,182 670.004,224 670.004,322.004
600.004,364.004 "/>
<polygon fill="none" stroke="#000000" points="670.004,322.004 670.004,224 740.004,182 810.008,224 810.008,322.004
740.004,364.004 "/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,101 +1,101 @@
0: 290,163 0:438,52
1: 331,162 1:496,53
2: 372,162 2:548,53
3: 412,161 3:609,52
4: 446,160 4:664,53
5: 466,201 5:704,111
6: 429,202 6:639,109
7: 382,201 7:583,110
8: 340,201 8:529,110
9: 313,201 9:472,107
10: 274,201 10:418,105
11: 253,235 11:381,166
12: 293,242 12:446,173
13: 339,243 13:499,168
14: 370,243 14:554,169
15: 419,242 15:605,168
16: 447,241 16:670,167
17: 484,241 17:721,168
18: 517,277 18:758,220
19: 468,277 19:704,228
20: 431,278 20:635,226
21: 402,280 21:578,223
22: 344,281 22:521,223
23: 304,282 23:451,222
24: 277,282 24:413,222
25: 228,283 25:346,224
26: 216,319 26:323,281
27: 256,319 27:379,281
28: 291,320 28:434,281
29: 338,324 29:490,281
30: 367,324 30:545,281
31: 407,323 31:603,280
32: 453,320 32:665,281
33: 486,320 33:720,280
34: 528,321 34:782,280
35: 554,359 35:809,330
36: 506,362 36:755,335
37: 478,362 37:703,336
38: 432,362 38:646,337
39: 395,361 39:588,337
40: 346,359 40:527,338
41: 302,360 41:470,339
42: 272,360 42:408,336
43: 223,359 43:361,336
44: 203,359 44:289,339
45: 179,359 45:265,399
46: 210,398 46:322,397
47: 248,399 47:372,395
48: 292,400 48:439,395
49: 333,404 49:500,393
50: 373,406 50:554,393
51: 404,396 51:606,396
52: 446,399 52:675,396
53: 484,401 53:721,396
54: 523,402 54:792,396
55: 575,402 55:835,397
56: 563,430 56:817,452
57: 520,438 57:755,455
58: 460,441 58:695,457
59: 435,443 59:648,457
60: 394,442 60:581,455
61: 361,442 61:528,454
62: 311,442 62:467,454
63: 275,439 63:401,454
64: 225,438 64:358,452
65: 194,438 65:302,453
66: 203,473 66:320,511
67: 243,477 67:378,515
68: 297,482 68:442,513
69: 335,482 69:486,512
70: 375,481 70:551,513
71: 412,481 71:607,514
72: 450,481 72:671,515
73: 486,480 73:732,515
74: 533,480 74:782,514
75: 520,517 75:758,572
76: 465,520 76:687,573
77: 426,522 77:633,572
78: 389,523 78:575,573
79: 350,524 79:533,574
80: 317,524 80:471,572
81: 276,524 81:407,570
82: 238,524 82:357,570
83: 243,553 83:382,639
84: 276,555 84:437,636
85: 332,558 85:503,633
86: 370,559 86:548,631
87: 415,560 87:605,630
88: 456,559 88:660,627
89: 484,560 89:733,628
90: 479,594 90:695,672
91: 432,596 91:648,681
92: 387,596 92:582,682
93: 347,597 93:526,682
94: 313,598 94:479,682
95: 272,598 95:411,683
96: 287,635 96:444,736
97: 332,636 97:497,751
98: 368,639 98:549,749
99: 417,642 99:607,748
100: 449,643 100:674,746