Browse Source

refactoring: add method getLocationDescription

remotes/origin/Julia
Juliakn66 2 years ago
parent
commit
d61a00001d
  1. 79
      src/main/java/org/bitbiome/commands/LookaroundCommand.java

79
src/main/java/org/bitbiome/commands/LookaroundCommand.java

@ -1,10 +1,9 @@
package org.bitbiome.commands;
import org.bitbiome.classes.Colors;
import org.bitbiome.classes.JsonParser;
import org.bitbiome.classes.TravelEngine;
import org.bitbiome.entities.Item;
import org.bitbiome.entities.Location;
import org.bitbiome.entities.Mob;
import org.bitbiome.entities.*;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
@ -17,7 +16,7 @@ import java.util.Scanner;
public class LookaroundCommand implements CommandAPI{
@Override
public void performCommand(Scanner scanner, boolean isRunning, String message, TravelEngine travelEngine) {
StringBuilder s = new StringBuilder();
StringBuilder outputMessage = new StringBuilder();
Location location = travelEngine.getPlayer().getLocation();
JsonParser jp = new JsonParser();
JSONObject gameConfig = jp.getJSONObject("gameconfig.json");
@ -36,22 +35,10 @@ public class LookaroundCommand implements CommandAPI{
foundItems = getRandomItem(randomNumberItems, random, items, foundItems);
foundMobs = getRandomMob(randomNumberMobs,random,mobs,foundMobs);
if (location.getName().equals("Wald")){
s.append("Du befindest dich mitten im Wald, um dich herum siehst du hohe Buchen, kleine Sträucher und Farne.\n" +
"Der Boden ist mit weichem Moos, Pilzen und Laub bedeckt, in der Nähe hörst du Vögel munter zwitschern und\n" +
"einen kleinen Bach, der sich durch das dichte Unterholz schlängelt." +
" Schau mal, dort hinten in der Ferne ist ein Eichhörnchen! \n");
}
if (location.getName().equals("Strand")){
s.append("Du befindest dich mitten am Strand und blickst auf das Meer, das sich bis zum Horizont erstreckt.\n" +
"Du spürst den Sand an deinen Füßen, du hörst das weiche Rauschen des Meeres und das Lachen der Möwen über dir.\n" +
"Rechts und links von dir erstreckt sich der weite, weiße Sandstrand, dort hinten bauen Kinder eine Sandburg.\n" +
"Es gibt ein paar Palmen, die den Strand säumen und Strandliegen und -schirme, weit in der Ferne ragen Felsen aus dem Meer.\n");
}
getItemsOutput(randomNumberItems,s,foundItems);
getMobsOutput(randomNumberItems,randomNumberMobs,s, foundMobs);
System.out.println(s);
getLocationDescription(location,outputMessage);
getItemsOutput(randomNumberItems,outputMessage,foundItems);
getMobsOutput(randomNumberItems,randomNumberMobs,outputMessage, foundMobs);
System.out.println(outputMessage);
}
public JSONObject getLocationObject(String locationName, JSONArray locations) {
@ -92,27 +79,61 @@ public class LookaroundCommand implements CommandAPI{
foundMobs.add(randomMob);
} return foundMobs;
}
public void getItemsOutput(int randomNumberItems, StringBuilder s, ArrayList<Item> foundItems){
public void getItemsOutput(int randomNumberItems, StringBuilder outputMessage, ArrayList<Item> foundItems){
if (randomNumberItems != 0){
s.append("Huch, was liegt denn hier rum?\n");
outputMessage.append("Huch, was liegt denn hier rum?\n");
for (int i = 0; i < foundItems.size(); i++){
s. append( "- ").append(foundItems.get(i).getName()+"\n");
outputMessage. append("- ").append(foundItems.get(i).getName()+"\n");
}
s.append("Schnell, sammel es ein!\n");
outputMessage.append("Schnell, sammel es ein!\n");
}
else {
s.append("Hier gibt es leider nichts für dich zum Einsammeln.\n");
outputMessage.append("Hier gibt es leider nichts für dich zum Einsammeln.\n");
}
}
public void getMobsOutput(int randomNumberItems, int randomNumberMobs, StringBuilder s, ArrayList<Mob> foundMobs){
public void getMobsOutput(int randomNumberItems, int randomNumberMobs, StringBuilder outputMessage, ArrayList<Mob> foundMobs){
if (randomNumberMobs != 0){
s.append("Achtung, hier lauern Gefahren! Sei auf der Hut vor: \n");
outputMessage.append("Achtung, hier lauern Gefahren! Sei auf der Hut vor: \n");
for (int i = 0; i < foundMobs.size(); i++){
s. append( "- ").append(foundMobs.get(i).getName()+"\n");
outputMessage. append( "- ").append(foundMobs.get(i).getName()+"\n");
}
}
if((randomNumberMobs ==0) && (randomNumberItems == 0)){
s.append("Hier gibt es sonst nichts weiter zu sehen. Reise weiter!\n");
outputMessage.append("Hier gibt es sonst nichts weiter zu sehen. Reise weiter!\n");
}
}
public void getLocationDescription(Location location, StringBuilder outputMessage) {
switch (location.getName()) {
case "Wald" ->
outputMessage.append("Du befindest dich mitten im Wald, um dich herum siehst du hohe Buchen, kleine Sträucher und Farne.\n" +
"Der Boden ist mit weichem Moos, Pilzen und Laub bedeckt, in der Nähe hörst du Vögel munter zwitschern und\n" +
"einen kleinen Bach, der sich durch das dichte Unterholz schlängelt." +
" Schau mal, dort hinten in der Ferne ist ein Eichhörnchen! \n");
case "Strand" ->
outputMessage.append("Du befindest dich mitten am Strand und blickst auf das Meer, das sich bis zum Horizont erstreckt.\n" +
"Du spürst den Sand an deinen Füßen, du hörst das weiche Rauschen des Meeres und das Lachen der Möwen über dir.\n" +
"Rechts und links von dir erstreckt sich der weite, weiße Sandstrand, dort hinten bauen Kinder eine Sandburg.\n" +
"Es gibt ein paar Palmen, die den Strand säumen und weit in der Ferne ragen Felsen aus dem Meer.\n");
case "Winterland" ->
outputMessage.append("Um dich herum ragen hohe Berge in den Himmel, bedeckt von einer dicken Schicht aus Schnee. Du hörst\n" +
"das Knirschen des Schnees unter deinen Füßen und das Rauschen des eisigen Windes. In der Ferne siehst du Tannenbäume,\n" +
"die sich unter der Last des Schnees biegen, und dichte Flocken fallen sanft aus dem grauen Himmel. Es ist kalt, du siehst,\n" +
"wie dein Atem kleine Wolken bildet. Es ist still, aber auch ein wenig unheimlich.\n");
case "Berge"->
outputMessage.append("Du befindest dich in einer majestätischen Berglandschaft mit hohen Gipfen und tiefen Tälern.\n" +
"Die Luft ist frisch und klar, der Klang von rauschenden Bächen und Wasserfällen erfüllt die Umgebung.\n" +
"Die Berge sind mit grünen Wäldern bedeckt und vereinzelt siehst du wilde Tiere herumstreifen.\n");
case "Grünland"->
outputMessage.append("Du befindest dich in einer weiten und grünen Landschaft. Überall um dich herum wachsen hohe Gräser und Wildblumen. \n" +
"In der Ferne erkennst du sanfte Hügel mit einer Herde von Schafen und Kühen.Die Luft ist erfüllt von dem Duft der Natur \n" +
"und dem Summen von Insekten. Es herrscht eine friedliche Stille, nur unterbrochen vom gelegentlichen Ruf eines Vogels.");
case "Wüste"->
outputMessage.append("Du befindest dich mitten in der Wüste. Weit und breit ist nichts anderes zu sehen außer Dünen, vertrocknete Sträucher und Tonnen von Sand.\n" +
"Es ist staubig, der sandige Boden unter deinen Füßen knirscht bei jedem Schritt und die Sonnen brennt auf dich herab. Nimm dich in Acht vor der Wüstenhitze \n" +
"und den Gefahren, die hinter den Dünen lauern. Beeil dich, aus dieser unendlichen Ebene zu entkommen.\n");
default -> {
}
//location description not found
}
}

Loading…
Cancel
Save