From d61a00001d5b4295b7fb9d4fa48542e2754537da Mon Sep 17 00:00:00 2001 From: Juliakn66 <117075450+Juliakn66@users.noreply.github.com> Date: Mon, 6 Feb 2023 10:00:11 +0100 Subject: [PATCH] refactoring: add method getLocationDescription --- .../bitbiome/commands/LookaroundCommand.java | 79 ++++++++++++------- 1 file changed, 50 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/bitbiome/commands/LookaroundCommand.java b/src/main/java/org/bitbiome/commands/LookaroundCommand.java index bdcd1d4..839e25d 100644 --- a/src/main/java/org/bitbiome/commands/LookaroundCommand.java +++ b/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 foundItems){ + public void getItemsOutput(int randomNumberItems, StringBuilder outputMessage, ArrayList 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 foundMobs){ + public void getMobsOutput(int randomNumberItems, int randomNumberMobs, StringBuilder outputMessage, ArrayList 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 } }