From a8c1dfed1d7ae4cad8c0bca59803c737c32eb8ea Mon Sep 17 00:00:00 2001 From: yusuf Date: Mon, 8 Jan 2024 19:18:10 +0100 Subject: [PATCH] Semesteraufgabe --- PR-Abgabe-Spiel/.classpath | 10 ++ PR-Abgabe-Spiel/.project | 17 ++++ PR-Abgabe-Spiel/src/Game.java | 185 ++++++++++++++++++++++++++++++++++ 3 files changed, 212 insertions(+) create mode 100644 PR-Abgabe-Spiel/.classpath create mode 100644 PR-Abgabe-Spiel/.project create mode 100644 PR-Abgabe-Spiel/src/Game.java diff --git a/PR-Abgabe-Spiel/.classpath b/PR-Abgabe-Spiel/.classpath new file mode 100644 index 0000000..ac9ce57 --- /dev/null +++ b/PR-Abgabe-Spiel/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PR-Abgabe-Spiel/.project b/PR-Abgabe-Spiel/.project new file mode 100644 index 0000000..b8ccaa2 --- /dev/null +++ b/PR-Abgabe-Spiel/.project @@ -0,0 +1,17 @@ + + + PR-Abgabe-Spiel + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/PR-Abgabe-Spiel/src/Game.java b/PR-Abgabe-Spiel/src/Game.java new file mode 100644 index 0000000..88a16a7 --- /dev/null +++ b/PR-Abgabe-Spiel/src/Game.java @@ -0,0 +1,185 @@ +import java.util.Scanner; + +public class Game { + + private static String[] itemsForSale = {"magisches Schwert", "Trank der Heilung", "Zauberbuch"}; + private static int[] itemPrices = {50, 20, 30}; + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + + System.out.println(" !!!Willkommen im Abenteuerspiel!!!"); + System.out.println(); + + System.out.println("!!!Eine spannende aber auch gefährliche Reise erwartet dich!!! "); + + System.out.println("Um dieses Spiel erfolgreich zu absolvieren, muss du schlau und taktisch spielen. Los gehts!"); + System.out.println(); + + // Spielstart + System.out.println("Du stehst vor einem dunklen Wald. Möchtest du eintreten? (ja/nein)"); + String choice = scanner.nextLine().toLowerCase(); + + if (choice.equals("ja")) { + System.out.println("Du betrittst den Wald und stehst vor einer Kreuzung."); + System.out.println("Möchtest du nach links oder rechts gehen? (links/rechts)"); + choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("links") && !choice.equals("rechts")) { + System.out.println("Ungültige Eingabe. Möchtest du nach links oder rechts gehen? (links/rechts)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("links")) { + handleLeftPath(scanner); + } else { + handleRightPath(scanner); + } + } else { + System.out.println("Du entscheidest dich, nicht in den Wald zu gehen. Das Abenteuer endet hier."); + } + + scanner.close(); + } + + private static void handleLeftPath(Scanner scanner) { + System.out.println("Du gehst nach links und triffst auf einen freundlichen Händler."); + System.out.println("Möchtest du etwas kaufen? (ja/nein)"); + String choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("ja") && !choice.equals("nein")) { + System.out.println("Ungültige Eingabe. Möchtest du etwas kaufen? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("ja")) { + buyFromMerchant(scanner); + } else { + System.out.println("Du gehst weiter und stößt auf eine geheimnisvolle Höhle."); + System.out.println("Möchtest du die Höhle betreten? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("ja") && !choice.equals("nein")) { + System.out.println("Ungültige Eingabe. Möchtest du die Höhle betreten? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("ja")) { + exploreCave(scanner); + } else { + System.out.println("Du entscheidest dich, die Höhle zu meiden. Deine Reise geht weiter."); + } + } + } + + private static void handleRightPath(Scanner scanner) { + System.out.println("Du gehst nach rechts und triffst auf eine verzauberte Quelle."); + System.out.println("Möchtest du daraus trinken? (ja/nein)"); + String choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("ja") && !choice.equals("nein")) { + System.out.println("Ungültige Eingabe. Möchtest du daraus trinken? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("ja")) { + drinkFromSpring(scanner); + } else { + System.out.println("Du gehst weiter und stößt auf eine Bande Räuber."); + System.out.println("Möchtest du kämpfen oder mit ihnen verhandeln? (kämpfen/verhandeln)"); + choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("kämpfen") && !choice.equals("verhandeln")) { + System.out.println("Ungültige Eingabe. Möchtest du kämpfen oder mit ihnen verhandeln? (kämpfen/verhandeln)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("kämpfen")) { + fightWithRobbers(); + } else { + negotiateWithRobbers(); + } + } + } + + private static void buyFromMerchant(Scanner scanner) { + System.out.println("Der Händler bietet folgende Gegenstände zum Verkauf an:"); + + for (int i = 0; i < itemsForSale.length; i++) { + System.out.println((i + 1) + ". " + itemsForSale[i] + " - Preis: " + itemPrices[i] + " Goldstücke"); + } + + // Spielerauswahl + System.out.println("Welchen Gegenstand möchtest du kaufen? (1-" + itemsForSale.length + ")"); + int selectedOption = Integer.parseInt(scanner.nextLine()) - 1; + + if (selectedOption >= 0 && selectedOption < itemsForSale.length) { + System.out.println("Du kaufst " + itemsForSale[selectedOption] + " für " + itemPrices[selectedOption] + " Goldstücke."); + } else { + System.out.println("Ungültige Auswahl. Du kaufst nichts."); + } + } + + private static void exploreCave(Scanner scanner) { + System.out.println("In der Höhle findest du einen verborgenen Schatz. Du gewinnst das Spiel!"); + } + + private static void drinkFromSpring(Scanner scanner) { + System.out.println("Das Wasser verleiht dir magische Kräfte. Du setzt deine Reise fort."); + System.out.println("Du triffst auf eine Gruppe Elfen. Sie bitten dich um Hilfe."); + System.out.println("Möchtest du den Elfen helfen? (ja/nein)"); + String choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("ja") && !choice.equals("nein")) { + System.out.println("Ungültige Eingabe. Möchtest du den Elfen helfen? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("ja")) { + helpElves(); + } else { + System.out.println("Du lehnst die Hilfe ab und gehst weiter durch den Wald."); + System.out.println("Plötzlich begegnest du einem gefährlichen Waldgeist."); + System.out.println("Möchtest du versuchen, ihn zu besänftigen? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + + while (!choice.equals("ja") && !choice.equals("nein")) { + System.out.println("Ungültige Eingabe. Möchtest du versuchen, ihn zu besänftigen? (ja/nein)"); + choice = scanner.nextLine().toLowerCase(); + } + + if (choice.equals("ja")) { + appeaseForestSpirit(); + } else { + forestSpiritAttack(); + } + } + } + + private static void fightWithRobbers() { + System.out.println("Du kämpfst gegen die Räuber, überlebst knapp und setzt deine Reise fort."); + } + + private static void negotiateWithRobbers() { + System.out.println("Du verhandelst geschickt und schließt dich den Räubern an."); + System.out.println("Gemeinsam erlebt ihr viele Abenteuer. Du gewinnst das Spiel!"); + } + + private static void trainWithWise() { + System.out.println("Der Weise lehrt dich mächtige Zaubersprüche. Du gewinnst das Spiel!"); + } + + private static void helpElves() { + System.out.println("Die Elfen sind dir dankbar und schenken dir einen magischen Bogen."); + System.out.println("Du gewinnst das Spiel!"); + } + + private static void appeaseForestSpirit() { + System.out.println("Du besänftigst den Waldgeist und gewinnst das Spiel!"); + } + + private static void forestSpiritAttack() { + System.out.println("Der Waldgeist wird wütend und beendet deine Reise. Das Abenteuer endet hier."); + } +}