fdai7430
2 years ago
21 changed files with 729 additions and 19 deletions
-
16src/main/java/org/bitbiome/Boot.java
-
56src/main/java/org/bitbiome/classes/Colors.java
-
24src/main/java/org/bitbiome/classes/CreateLocations.java
-
16src/main/java/org/bitbiome/classes/InteractionLoop.java
-
25src/main/java/org/bitbiome/classes/JsonParser.java
-
69src/main/java/org/bitbiome/classes/TravelEngine.java
-
4src/main/java/org/bitbiome/commands/CommandAPI.java
-
8src/main/java/org/bitbiome/commands/CommandListener.java
-
20src/main/java/org/bitbiome/commands/HelpCommand.java
-
18src/main/java/org/bitbiome/commands/LocationCommand.java
-
4src/main/java/org/bitbiome/commands/QuitCommand.java
-
33src/main/java/org/bitbiome/commands/TravelCommand.java
-
14src/main/java/org/bitbiome/commands/UseCommand.java
-
40src/main/java/org/bitbiome/entities/Item.java
-
33src/main/java/org/bitbiome/entities/Location.java
-
47src/main/java/org/bitbiome/entities/Mob.java
-
61src/main/java/org/bitbiome/entities/Player.java
-
17src/main/resources/gameconfig.json
-
204src/main/resources/quiz.json
-
17src/test/java/org/bitbiome/commands/HelpCommandTest.java
-
22src/test/java/org/bitbiome/commands/LocationCommandTest.java
@ -0,0 +1,56 @@ |
|||
package org.bitbiome.classes; |
|||
|
|||
public class Colors { |
|||
|
|||
public static final String ANSI_RESET = "\u001B[0m"; |
|||
|
|||
public static final String ANSI_BLACK = "\u001B[30m"; |
|||
public static final String ANSI_RED = "\u001B[31m"; |
|||
public static final String ANSI_GREEN = "\u001B[32m"; |
|||
public static final String ANSI_YELLOW = "\u001B[33m"; |
|||
public static final String ANSI_BLUE = "\u001B[34m"; |
|||
public static final String ANSI_PURPLE = "\u001B[35m"; |
|||
public static final String ANSI_CYAN = "\u001B[36m"; |
|||
public static final String ANSI_WHITE = "\u001B[37m"; |
|||
|
|||
public static final String ANSI_BRIGHT_BLACK = "\u001B[90m"; |
|||
public static final String ANSI_BRIGHT_RED = "\u001B[91m"; |
|||
public static final String ANSI_BRIGHT_GREEN = "\u001B[92m"; |
|||
public static final String ANSI_BRIGHT_YELLOW = "\u001B[93m"; |
|||
public static final String ANSI_BRIGHT_BLUE = "\u001B[94m"; |
|||
public static final String ANSI_BRIGHT_PURPLE = "\u001B[95m"; |
|||
public static final String ANSI_BRIGHT_CYAN = "\u001B[96m"; |
|||
public static final String ANSI_BRIGHT_WHITE = "\u001B[97m"; |
|||
|
|||
public static final String[] FOREGROUNDS = { |
|||
ANSI_BLACK, ANSI_RED, ANSI_GREEN, ANSI_YELLOW, |
|||
ANSI_BLUE, ANSI_PURPLE, ANSI_CYAN, ANSI_WHITE, |
|||
ANSI_BRIGHT_BLACK, ANSI_BRIGHT_RED, ANSI_BRIGHT_GREEN, ANSI_BRIGHT_YELLOW, |
|||
ANSI_BRIGHT_BLUE, ANSI_BRIGHT_PURPLE, ANSI_BRIGHT_CYAN, ANSI_BRIGHT_WHITE |
|||
}; |
|||
|
|||
public static final String ANSI_BG_BLACK = "\u001B[40m"; |
|||
public static final String ANSI_BG_RED = "\u001B[41m"; |
|||
public static final String ANSI_BG_GREEN = "\u001B[42m"; |
|||
public static final String ANSI_BG_YELLOW = "\u001B[43m"; |
|||
public static final String ANSI_BG_BLUE = "\u001B[44m"; |
|||
public static final String ANSI_BG_PURPLE = "\u001B[45m"; |
|||
public static final String ANSI_BG_CYAN = "\u001B[46m"; |
|||
public static final String ANSI_BG_WHITE = "\u001B[47m"; |
|||
|
|||
public static final String ANSI_BRIGHT_BG_BLACK = "\u001B[100m"; |
|||
public static final String ANSI_BRIGHT_BG_RED = "\u001B[101m"; |
|||
public static final String ANSI_BRIGHT_BG_GREEN = "\u001B[102m"; |
|||
public static final String ANSI_BRIGHT_BG_YELLOW = "\u001B[103m"; |
|||
public static final String ANSI_BRIGHT_BG_BLUE = "\u001B[104m"; |
|||
public static final String ANSI_BRIGHT_BG_PURPLE = "\u001B[105m"; |
|||
public static final String ANSI_BRIGHT_BG_CYAN = "\u001B[106m"; |
|||
public static final String ANSI_BRIGHT_BG_WHITE = "\u001B[107m"; |
|||
|
|||
public static final String[] BACKGROUNDS = { |
|||
ANSI_BG_BLACK, ANSI_BG_RED, ANSI_BG_GREEN, ANSI_BG_YELLOW, |
|||
ANSI_BG_BLUE, ANSI_BG_PURPLE, ANSI_BG_CYAN, ANSI_BG_WHITE, |
|||
ANSI_BRIGHT_BG_BLACK, ANSI_BRIGHT_BG_RED, ANSI_BRIGHT_BG_GREEN, ANSI_BRIGHT_BG_YELLOW, |
|||
ANSI_BRIGHT_BG_BLUE, ANSI_BRIGHT_BG_PURPLE, ANSI_BRIGHT_BG_CYAN, ANSI_BRIGHT_BG_WHITE }; |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package org.bitbiome.classes; |
|||
|
|||
import org.bitbiome.entities.Item; |
|||
import org.bitbiome.entities.Location; |
|||
import org.bitbiome.entities.Mob; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
public class CreateLocations { |
|||
|
|||
public static Location createForest() { |
|||
ArrayList<Item> items = new ArrayList<>(); |
|||
ArrayList<Mob> mobs = new ArrayList<>(); |
|||
String name = "Wald"; |
|||
return new Location(name, mobs, items); |
|||
} |
|||
|
|||
public static Location createBeach() { |
|||
ArrayList<Item> items = new ArrayList<>(); |
|||
ArrayList<Mob> mobs = new ArrayList<>(); |
|||
String name = "Strand"; |
|||
return new Location(name, mobs, items); |
|||
} |
|||
} |
@ -0,0 +1,69 @@ |
|||
package org.bitbiome.classes; |
|||
|
|||
import org.bitbiome.entities.Location; |
|||
import org.bitbiome.entities.Player; |
|||
import org.json.JSONArray; |
|||
import org.json.JSONObject; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
public class TravelEngine { |
|||
|
|||
private JSONArray locations; |
|||
private JsonParser jp; |
|||
private Player player; |
|||
|
|||
public TravelEngine(Player player) { |
|||
jp = new JsonParser(); |
|||
locations = jp.getJSONObject("gameconfig.json").getJSONArray("locations"); |
|||
this.player = player; |
|||
} |
|||
|
|||
public void travelTo(Location location) { |
|||
player.setLocation(location); |
|||
JSONObject jObj = jp.getJSONObject("playerconfig.json"); |
|||
jObj.put("currentLocation", location.getName()); |
|||
|
|||
jp.writeObject("playerconfig.json", jObj); |
|||
} |
|||
|
|||
public Player getPlayer() { |
|||
return player; |
|||
} |
|||
|
|||
public JSONArray getLocationList() { |
|||
return locations; |
|||
} |
|||
|
|||
public boolean locationExists(String name) { |
|||
boolean found = false; |
|||
for (int i = 0; i < locations.length(); i++) |
|||
if (locations.getJSONObject(i).getString("name").equals(name)) { |
|||
found = true; |
|||
} |
|||
return found; |
|||
} |
|||
|
|||
public Location getLocationByName(String name) { |
|||
JsonParser jp = new JsonParser(); |
|||
JSONObject gameconfig = jp.getJSONObject("gameconfig.json"); |
|||
JSONArray locations = gameconfig.getJSONArray("locations"); |
|||
JSONObject location = null; |
|||
if (locationExists(name)) { |
|||
for (int i = 0; i < locations.length(); i++) { |
|||
if (locations.getJSONObject(i).getString("name").equals(name)) { |
|||
location = locations.getJSONObject(i); |
|||
} |
|||
} |
|||
assert location != null; |
|||
//TODO Create Location by name and add mobs and times to the location |
|||
JSONArray items = location.getJSONArray("items"); |
|||
JSONArray mobs = location.getJSONArray("mobs"); |
|||
System.out.println(items.toString(1)); |
|||
System.out.println(mobs.toString(1)); |
|||
return new Location(name, new ArrayList<>(), new ArrayList<>()); |
|||
} else { |
|||
return null; |
|||
} |
|||
} |
|||
} |
@ -1,8 +1,10 @@ |
|||
package org.bitbiome.commands; |
|||
|
|||
import org.bitbiome.classes.TravelEngine; |
|||
|
|||
import java.util.Scanner; |
|||
|
|||
public interface CommandAPI { |
|||
public void performCommand(Scanner scanner, boolean isRunning, String message); |
|||
public void performCommand(Scanner scanner, boolean isRunning, String message, TravelEngine travelEngine); |
|||
|
|||
} |
@ -0,0 +1,18 @@ |
|||
package org.bitbiome.commands; |
|||
|
|||
import org.bitbiome.classes.TravelEngine; |
|||
|
|||
import java.util.Scanner; |
|||
|
|||
public class LocationCommand implements CommandAPI{ |
|||
|
|||
@Override |
|||
public void performCommand(Scanner scanner, boolean isRunning, String message, TravelEngine travelEngine) { |
|||
System.out.println(getLocationMessage(travelEngine)); |
|||
} |
|||
|
|||
|
|||
public static String getLocationMessage(TravelEngine travelEngine) { |
|||
return "Du befindest dich gerade hier: " + travelEngine.getPlayer().getLocation().getName(); |
|||
} |
|||
} |
@ -0,0 +1,33 @@ |
|||
package org.bitbiome.commands; |
|||
|
|||
import org.bitbiome.classes.Colors; |
|||
import org.bitbiome.classes.CreateLocations; |
|||
import org.bitbiome.classes.TravelEngine; |
|||
import org.bitbiome.entities.Item; |
|||
import org.bitbiome.entities.Location; |
|||
import org.bitbiome.entities.Mob; |
|||
import org.json.JSONArray; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Scanner; |
|||
|
|||
|
|||
public class TravelCommand implements CommandAPI { |
|||
|
|||
@Override |
|||
public void performCommand(Scanner scanner, boolean isRunning, String message, TravelEngine travelEngine) { |
|||
System.out.println(Colors.ANSI_BLUE + "Du hast dein Travel-Pad gezückt. Wohin möchtest du reisen?" + Colors.ANSI_RESET); |
|||
JSONArray locations = travelEngine.getLocationList(); |
|||
for (int i = 0; i < locations.length(); i++) { |
|||
System.out.println("- " + locations.getJSONObject(i).getString("name")); |
|||
} |
|||
|
|||
String locationName = scanner.nextLine(); |
|||
if (travelEngine.locationExists(locationName)) { |
|||
travelEngine.travelTo(new Location(locationName, new ArrayList<Mob>(), new ArrayList<Item>())); |
|||
System.out.println(Colors.ANSI_BLUE + "Du bist nun hierhin gereist: " + locationName + "\n" + Colors.ANSI_RESET); |
|||
} else { |
|||
System.out.println(Colors.ANSI_BLUE + "Du hast dein Travel-Pad weggesteckt." + Colors.ANSI_RESET); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,40 @@ |
|||
package org.bitbiome.entities; |
|||
|
|||
public class Item { |
|||
|
|||
public String name; |
|||
public boolean doesDamage; |
|||
public float damage; |
|||
|
|||
|
|||
public Item(String name, boolean doesDamage, float damage) { |
|||
this.name = name; |
|||
this.doesDamage = doesDamage; |
|||
this.damage = damage; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public float getDamage() { |
|||
return damage; |
|||
} |
|||
|
|||
public boolean doesDamage() { |
|||
return doesDamage; |
|||
} |
|||
|
|||
public void setName(String name) { |
|||
this.name = name; |
|||
} |
|||
|
|||
public void setDamage(float damage) { |
|||
this.damage = damage; |
|||
} |
|||
|
|||
public void changeDoesDamage(boolean doesDamage) { |
|||
this.doesDamage = doesDamage; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,33 @@ |
|||
package org.bitbiome.entities; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
public class Location { |
|||
|
|||
private String name; |
|||
private ArrayList<Mob> mobList; |
|||
private ArrayList<Item> itemList; |
|||
|
|||
|
|||
public Location(String name, ArrayList<Mob> mobList, ArrayList<Item> itemList) { |
|||
this.name = name; |
|||
this.mobList = mobList; |
|||
this.itemList = itemList; |
|||
} |
|||
|
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public ArrayList<Mob> getMobList() { |
|||
return mobList; |
|||
} |
|||
|
|||
public ArrayList<Item> getItemList() { |
|||
return itemList; |
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,47 @@ |
|||
package org.bitbiome.entities; |
|||
|
|||
public class Mob { |
|||
|
|||
private String name; |
|||
private boolean isFriendly; |
|||
|
|||
private float hp; |
|||
private float damage; |
|||
|
|||
public Mob(String name, boolean isFriendly, float hp, float damage) { |
|||
this.name = name; |
|||
this.isFriendly = isFriendly; |
|||
this.hp = hp; |
|||
this.damage = damage; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public boolean isFriendly() { |
|||
return isFriendly; |
|||
} |
|||
|
|||
public float getHp() { |
|||
return hp; |
|||
} |
|||
|
|||
public float getDamage() { |
|||
return damage; |
|||
} |
|||
|
|||
public void setDamage(float damage) { |
|||
this.damage = damage; |
|||
} |
|||
|
|||
public void setHp(float hp) { |
|||
this.hp = hp; |
|||
} |
|||
|
|||
public void setFriendly(boolean isFriendly) { |
|||
this.isFriendly = isFriendly; |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,61 @@ |
|||
package org.bitbiome.entities; |
|||
|
|||
import org.bitbiome.classes.CreateLocations; |
|||
import org.bitbiome.classes.JsonParser; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
public class Player { |
|||
private String name; |
|||
private float hp; |
|||
private Location location; |
|||
|
|||
private ArrayList<Item> inventory; |
|||
|
|||
private JsonParser jp; |
|||
|
|||
public Player(String name) { |
|||
jp = new JsonParser(); |
|||
this.name = name; |
|||
hp = 100.0F; |
|||
location = new Location(jp.getJSONObject("playerconfig.json").getString("currentLocation"), new ArrayList<>(), new ArrayList<>()); |
|||
inventory = new ArrayList<>(); |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public ArrayList<Item> getInventory() { |
|||
return inventory; |
|||
} |
|||
|
|||
public float getHp() { |
|||
return hp; |
|||
} |
|||
|
|||
public Location getLocation() { |
|||
return location; |
|||
} |
|||
|
|||
public void setLocation(Location location) { |
|||
this.location = location; |
|||
} |
|||
|
|||
public void setHp(float hp) { |
|||
this.hp = hp; |
|||
} |
|||
|
|||
public boolean addToInventory(Item item) { |
|||
return inventory.add(item); |
|||
} |
|||
|
|||
public boolean removeFromInventory(Item item) { |
|||
return inventory.remove(item); |
|||
} |
|||
|
|||
public void setName(String name) { |
|||
this.name = name; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,204 @@ |
|||
{ |
|||
"Quiz": [ |
|||
{ |
|||
"frage": "Wie lang ist der Äquator der Erde?", |
|||
"antworten": [ |
|||
"20.000m", |
|||
"30km", |
|||
"60.000km", |
|||
"40.000km" |
|||
], |
|||
"korrekteAntwort": "40.000km" |
|||
}, |
|||
{ |
|||
"frage": "Was ist der längste Fluss der Welt?", |
|||
"antworten": [ |
|||
"Amazonas", |
|||
"Nil", |
|||
"Rhein", |
|||
"Niger" |
|||
], |
|||
"korrekteAntwort": "Nil" |
|||
}, |
|||
{ |
|||
"frage": "Wie viele Tasten hat ein Klavier?", |
|||
"antworten": [ |
|||
"74", |
|||
"86", |
|||
"82", |
|||
"88" |
|||
], |
|||
"korrekteAntwort": "88" |
|||
}, |
|||
{ |
|||
"frage": "Von wem wird der Bundespräsident gewählt?", |
|||
"antworten": [ |
|||
"Vom Europäischen Parlament", |
|||
"Vom Bundeskanzler", |
|||
"Vom Bundestag", |
|||
"Von der Bundesversammlung" |
|||
], |
|||
"korrekteAntwort": "von der Bundesversammlung" |
|||
}, |
|||
{ |
|||
"frage": "Welches Land produziert jährlich die meisten Filme?", |
|||
"antworten": [ |
|||
"USA", |
|||
"Indien", |
|||
"Japan", |
|||
"Nigeria" |
|||
], |
|||
"korrekteAntwort": "Indien" |
|||
}, |
|||
{ |
|||
"frage": "Wie heißt der am schnellsten schwimmende Fisch auf Erden?", |
|||
"antworten": [ |
|||
"Flugfisch", |
|||
"Tigerhai", |
|||
"Segelfisch", |
|||
"Windfisch" |
|||
], |
|||
"korrekteAntwort": "Segelfisch" |
|||
}, |
|||
{ |
|||
"frage": "Was ist KEIN Gewächs?", |
|||
"antworten": [ |
|||
"Geranie", |
|||
"Moosfarn", |
|||
"Incolornis", |
|||
"Strandflieder" |
|||
], |
|||
"korrekteAntwort": "Incolornis" |
|||
}, |
|||
{ |
|||
"frage": "Was nutzt eine Fledermaus zur Orientierung in der Luft?", |
|||
"antworten": [ |
|||
"Infrarot", |
|||
"Röntgenstrahlen", |
|||
"Speichel", |
|||
"Ultraschall" |
|||
], |
|||
"korrekteAntwort": "Ultraschall" |
|||
}, |
|||
{ |
|||
"frage": "Von wem stammt der berühmte Satz: 'Ich denke, also bin ich'?", |
|||
"antworten": [ |
|||
"John Fitzgerald Kennedy", |
|||
"George Walker Bush", |
|||
"René Descartes", |
|||
"Julius Caesar" |
|||
], |
|||
"korrekteAntwort": "René Descartes" |
|||
}, |
|||
{ |
|||
"frage": "Welches Lebensmittel enthält das meiste Wasser?", |
|||
"antworten": [ |
|||
"Gurke", |
|||
"Wassermelone", |
|||
"Zitrone", |
|||
"Paprika" |
|||
], |
|||
"korrekteAntwort": "Gurke" |
|||
}, |
|||
{ |
|||
"frage": "Welches Lebensmittel gehört im botanischen Sinne zu den Früchten?", |
|||
"antworten": [ |
|||
"Möhre", |
|||
"Kartoffel", |
|||
"Tomate", |
|||
"Weißkohl" |
|||
], |
|||
"korrekteAntwort": "Tomate" |
|||
}, |
|||
{ |
|||
"frage": "Haptische Wahrnehmung beruht auf dem...?", |
|||
"antworten": [ |
|||
"Greifreflex", |
|||
"Gleichgewichtssinn", |
|||
"Hörsinn", |
|||
"Tastsinn" |
|||
], |
|||
"korrekteAntwort": "Tastsinn" |
|||
}, |
|||
{ |
|||
"frage": "Wie nennt man den letzten Tanz einer Tanzveranstaltung?", |
|||
"antworten": [ |
|||
"Voraus", |
|||
"Garaus", |
|||
"Kehraus", |
|||
"Durchaus" |
|||
], |
|||
"korrekteAntwort": "Kehraus" |
|||
}, |
|||
{ |
|||
"frage": "Wie nennt man ein tiefes, enges Tal, durch das ein Gebirgsbach fließt?", |
|||
"antworten": [ |
|||
"Klamm", |
|||
"Feucht", |
|||
"Nass", |
|||
"Schwamm" |
|||
], |
|||
"korrekteAntwort": "Klamm" |
|||
}, |
|||
{ |
|||
"frage": "Wer oder was ist Gerbera?", |
|||
"antworten": [ |
|||
"eine europäische Landschaft", |
|||
"eine Pflanze", |
|||
"die erste Präsidentin von Südafrika", |
|||
"eine Stadt in Lichtenstein" |
|||
], |
|||
"korrekteAntwort": "eine Pflanze" |
|||
}, |
|||
{ |
|||
"frage": "Nach wem wurde ein Gesellschaftsanzug benannt?", |
|||
"antworten": [ |
|||
"Richard von Weizsäcker", |
|||
"Gustav Heinemann", |
|||
"Jürgen Klinsmann", |
|||
"Gustav Stresemann" |
|||
], |
|||
"korrekteAntwort": "Gustav Stresemann" |
|||
}, |
|||
{ |
|||
"frage": "Was ist Speckstein?", |
|||
"antworten": [ |
|||
"eine Fischart, die sich als Stein tarnt", |
|||
"ein Gericht aus dem Mittelalter", |
|||
"eine Skulptur im Römischen Reich unter Nero", |
|||
"ein besonders weicher Stein" |
|||
], |
|||
"korrekteAntwort": "ein besonders weicher Stein" |
|||
}, |
|||
{ |
|||
"frage": "In welcher Religion gibt es Gurus?", |
|||
"antworten": [ |
|||
"im Christentum", |
|||
"im Hinduismus", |
|||
"im Islam", |
|||
"im Judentum" |
|||
], |
|||
"korrekteAntwort": "im Hinduismus" |
|||
}, |
|||
{ |
|||
"frage": "Was versteht man unter Brunsbüttel?", |
|||
"antworten": [ |
|||
"eine Industriestadt an der Unterelbe", |
|||
"einen Plakatkleber", |
|||
"eine 630 Mark-Kraft", |
|||
"ein Staatssekretär" |
|||
], |
|||
"korrekteAntwort": "eine Industriestadt an der Unterelbe" |
|||
}, |
|||
{ |
|||
"frage": "Welcher im 11. Jahrhundert gegründeter Orden rettet und pfelgt auch noch heute Verletzte und Kranke?", |
|||
"antworten": [ |
|||
"die Dominikaner", |
|||
"die Augustiner", |
|||
"die Zisterzienser", |
|||
"die Johanniter" |
|||
], |
|||
"korrekteAntwort": "die Johanniter" |
|||
} |
|||
] |
|||
} |
@ -1,14 +1,29 @@ |
|||
package org.bitbiome.commands; |
|||
|
|||
import org.bitbiome.classes.Colors; |
|||
import org.junit.jupiter.api.Test; |
|||
import static org.junit.jupiter.api.Assertions.assertEquals; |
|||
import static org.junit.jupiter.api.Assertions.assertTrue; |
|||
|
|||
public class HelpCommandTest { |
|||
|
|||
@Test |
|||
public void testHelpCommand() { |
|||
String helpMessage = HelpCommand.getHelpMessage(); |
|||
assertEquals("Hier ist eine Liste der Commands:\n- help -> Gibt diese Nachricht aus\n- exit/quit -> Beendet das Spiel\n", helpMessage); |
|||
StringBuilder outputMessage = new StringBuilder(); |
|||
outputMessage |
|||
.append("|______________|_____________________________|\n") |
|||
.append("|" + Colors.ANSI_PURPLE + " Command" + Colors.ANSI_RESET + " | " + Colors.ANSI_PURPLE + "Description" + Colors.ANSI_RESET + " |\n") |
|||
.append("|--------------|-----------------------------|\n") |
|||
.append("|" + Colors.ANSI_GREEN + " help" + Colors.ANSI_RESET + " | Gibt diese Nachricht aus |\n") |
|||
.append("|--------------|-----------------------------|\n") |
|||
.append("|" + Colors.ANSI_GREEN + " exit/quit" + Colors.ANSI_RESET + " | Beendet das Spiel |\n") |
|||
.append("|--------------|-----------------------------|\n") |
|||
.append("|" + Colors.ANSI_GREEN + " travel" + Colors.ANSI_RESET + " | Startet das Reise System |\n") |
|||
.append("|--------------|-----------------------------|\n") |
|||
.append("|" + Colors.ANSI_GREEN + " location" + Colors.ANSI_RESET + " | Gibt deine Location aus |\n") |
|||
.append("|______________|_____________________________|\n"); |
|||
assertEquals(outputMessage.toString(), helpMessage); |
|||
} |
|||
|
|||
|
|||
|
@ -0,0 +1,22 @@ |
|||
package org.bitbiome.commands; |
|||
|
|||
import org.bitbiome.classes.TravelEngine; |
|||
import org.bitbiome.entities.Player; |
|||
import org.junit.jupiter.api.Test; |
|||
|
|||
import static org.junit.jupiter.api.Assertions.assertTrue; |
|||
|
|||
import java.util.Arrays; |
|||
|
|||
public class LocationCommandTest { |
|||
|
|||
@Test |
|||
public void testLocationCommand() { |
|||
Player p = new Player("Unit"); |
|||
TravelEngine tE = new TravelEngine(p); |
|||
String[] standorte = {"Wald", "Strand"}; |
|||
String locationMessage = LocationCommand.getLocationMessage(tE).split(": ")[1]; |
|||
assertTrue(Arrays.asList(standorte).contains(locationMessage)); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue