Browse Source

refactoring: ShopCommand.java

remotes/origin/shop
Max Gerbeth 2 years ago
parent
commit
ad1efd076f
  1. 46
      src/main/java/org/bitbiome/commands/ShopCommand.java

46
src/main/java/org/bitbiome/commands/ShopCommand.java

@ -3,18 +3,22 @@ package org.bitbiome.commands;
import org.bitbiome.shop.Item;
import org.bitbiome.shop.Shop;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class ShopCommand implements CommandAPI{
Shop shop = new Shop();
public ShopCommand(){
}
@Override
public void performCommand(Scanner scanner, boolean isRunning, String message) {
System.out.println("Willkommen im Shop!");
System.out.println("Folgende Items sind aktuell im Shop:");
shop.printCurrentShopItems();
ArrayList<Item> currentItems;
ArrayList<Item> currentItems = shop.loadCurrentShopItems();
while (true){
System.out.println("Was willst Du hier im Shop?");
@ -25,34 +29,24 @@ public class ShopCommand implements CommandAPI{
String input = scanner.nextLine();
if(validInput(input)){
if(input.equals("1")){
currentItems = shop.currentShopItems;
String inp = "";
System.out.println("");
System.out.println("Welches Item wollen Sie kaufen? ");
System.out.println("Folgende sind folgende Items im Shop: ");
for(int i = 0; i < currentItems.size(); i++){
System.out.println((i + 1) + " eingaben fuer " + currentItems.get(i).name + " | Kosten: " + currentItems.get(i).gold + " | Anzahl: " + currentItems.get(i).amount);
System.out.println((i + 1) + ". " + currentItems.get(i).name + " | Anzahl: " + currentItems.get(i).amount + " | Gold: " + currentItems.get(i).gold);
}
System.out.println("0 eingeben fuer eine andere Option.");
while (true){
inp = scanner.nextLine();
if(inp.equals("0")){
break;
}
System.out.print("Anzahl eingeben: ");
int existingCount = currentItems.get(Integer.parseInt(inp) - 1).amount;
String inpAmount = scanner.nextLine();
if(Integer.parseInt(inpAmount) <= existingCount){
if(shop.buy(currentItems.get(Integer.parseInt(inp) - 1).name, Integer.parseInt(inpAmount))){
System.out.println("0 Eingeben um den Shop zu verlassen.");
System.out.println("");
System.out.println("Vielen Dank fuer deinen Einkauf!");
System.out.print("Welches Item moechtest du kaufen? ");
String itemNumber = scanner.nextLine();
if(!itemNumber.equals("0")){
System.out.print("Anzahl eingeben: ");
String amount = scanner.nextLine();
if((Integer.parseInt(amount) <= currentItems.get(Integer.parseInt(itemNumber) - 1).amount) && ((Integer.parseInt(amount) - 1) > -1)){
shop.buy(currentItems.get(Integer.parseInt(itemNumber) - 1).name, Integer.parseInt(amount));
currentItems = shop.loadCurrentShopItems();
System.out.println("");
break;
}else {
break;
}
System.out.println("Vielen Dank für Ihren Einkauf!");
}else{
System.out.println("Error!");
System.out.println("Fehler");
}
}
} else if(input.equals("2")){

Loading…
Cancel
Save