This repository has been archived on 2025-12-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
lutemon/Main/Storage.java
2022-11-25 11:49:17 +02:00

156 lines
5.8 KiB
Java

package Main;
import java.util.*;
public class Storage {
protected HashMap<Integer, Lutemon> storage = new HashMap<Integer, Lutemon>();
private int choice, id;
private String name;
Scanner scanner;
private Home home = new Home();
private TrainingArea training = new TrainingArea();
private Battlefield battlefield;
public Storage(Scanner scanner) {
this.scanner = scanner;
this.battlefield = new Battlefield(scanner);
}
public void createLutemon() {
try {
System.out.println("Add 1) White, 2) Green, 3) Pink, 4) Orange, 5) Black");
String a = scanner.nextLine();
choice = Integer.parseInt(a);
System.out.println("Give it a name:");
name = scanner.nextLine();
} catch (NumberFormatException e) {
e.printStackTrace();
}
switch (choice) {
case 1:
White white = new White(name, "White", 0, 5, 4, 20);
storage.put(white.getId(), white);
home.addLutemon(white.getId(), white);
break;
case 2:
Green green = new Green(name, "Green", 0, 6, 3, 19);
storage.put(green.getId(), green);
home.addLutemon(green.getId(), green);
break;
case 3:
Pink pink = new Pink(name, "Pink", 0, 7, 2, 18);
storage.put(pink.getId(), pink);
home.addLutemon(pink.getId(), pink);
break;
case 4:
Orange orange = new Orange(name, "Orange", 0, 8, 1, 17);
storage.put(orange.getId(), orange);
home.addLutemon(orange.getId(), orange);
break;
case 5:
Black black = new Black(name, "Black", 0, 9, 0, 16);
storage.put(black.getId(), black);
home.addLutemon(black.getId(), black);
break;
default:
System.out.println("Invalid choice.");
break;
}
}
public void listLutemons() {
System.out.println("There are the following Lutemons at Home:");
for (Lutemon lutemon : home.getHome().values()) {
System.out.println(lutemon.printStats());
}
System.out.println("There are the following Lutemons at Training area:");
for (Lutemon lutemon : training.getTraining().values()) {
System.out.println(lutemon.printStats());
}
System.out.println("There are the following Lutemons at Battle field:");
for (Lutemon lutemon : battlefield.getBattlefield().values()) {
System.out.println(lutemon.printStats());
}
}
public void moveLutemons() {
try {
System.out.println("Give the ID of Lutemon that should be moved:");
id = Integer.parseInt(scanner.nextLine());
System.out.println(
"Where would the Lutemon be moved? 1) Home, 2) Training area, 3) Battle field");
choice = Integer.parseInt(scanner.nextLine());
} catch (NumberFormatException e) {
e.printStackTrace();
}
if (checkIfExists(id)) {
switch (choice) {
case 1:
if (home.getHome().containsKey(id) == false) {
if (training.getTraining().containsKey(id)) {
training.removeLutemon(id);
home.addLutemon(id, storage.get(id));
} else if (battlefield.getBattlefield().containsKey(id)) {
battlefield.removeLutemon(id);
home.addLutemon(id, storage.get(id));
}
}
break;
case 2:
if (training.getTraining().containsKey(id) == false) {
if (home.getHome().containsKey(id)) {
home.removeLutemon(id);
training.addLutemon(id, storage.get(id));
} else if (battlefield.getBattlefield().containsKey(id)) {
battlefield.removeLutemon(id);
training.addLutemon(id, storage.get(id));
}
}
break;
case 3:
if (battlefield.getBattlefield().containsKey(id) == false) {
if (home.getHome().containsKey(id)) {
home.removeLutemon(id);
battlefield.addLutemon(id, storage.get(id));
} else if (training.getTraining().containsKey(id)) {
training.removeLutemon(id);
battlefield.addLutemon(id, storage.get(id));
}
}
break;
default:
System.out.println("Invalid choice.");
break;
}
}
}
public void trainLutemon() {
training.train();
}
public void fightLutemon() {
System.out.println("There are the following Lutemons at Battle field:");
for (Lutemon lutemon : battlefield.getBattlefield().values()) {
System.out.println(lutemon.printStats());
}
battlefield.fight();
storage.remove(battlefield.deadLutemon());
}
public HashMap<Integer, Lutemon> getStorage() {
return storage;
}
public boolean checkIfExists(Integer id) {
if (storage.containsKey(id) == false) {
System.out.println("No Lutemon with ID " + id + " could be found!");
return false;
} else {
return true;
}
}
}