import java.util.Random; /** * Generic test class for implementing and testing * custom minimum and maximum methods * _ _ _ _ * __ ___ __(_) |_| |_ ___ _ __ | |__ _ _ * \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | | * \ V V /| | | | |_| || __/ | | | | |_) | |_| | * \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, | * |___/ * ____ __ __ _ * / ___|_ _____ _ __ \ \ / /__ __ _ ___| | * \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ | * ___) \ V / __/ | | | \ V / (_) | (_| | __/ | * |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_| * |___/ * Licensed under the GPLv2 License, Version 2.0 (the "License"); * Copyright (c) Sven Vogel * * NOTE: following code mostly copied from the teacher, * expect no comments or functionality */ public class Aufgabe6 { enum Zauberspruch { ENTWAFFNUNGSZAUBER, BELEUCHTUNGSZAUBER, SCHWEBEZAUBER, AUFRUFEZAUBER, VERDUNKLUNGSZAUBER, SCHUTZZAUBER, VERKLEINERUNGSZAUBER, } private static int anzahlZauber; private static void printSpellCount() { System.out.println("anzahl Zauber: " + anzahlZauber); } //hier kommt Ihr Enum hin public static void main(String[] args) { System.out.println("Harry Potter lernen seine Zaubersprüche und deren Bedeutung"); System.out.println("----------------------------------------------------------\n"); zauber(Zauberspruch.BELEUCHTUNGSZAUBER); zauber(Zauberspruch.SCHUTZZAUBER); Zauberspruch faulerZauber = Zauberspruch.AUFRUFEZAUBER; zauber(faulerZauber); zauber(zufaelligerZauber()); printSpellCount(); } public static void zauber(Zauberspruch zauber) { switch (zauber) { case ENTWAFFNUNGSZAUBER -> { anzahlZauber ++; System.out.println("Expelliarmus!"); System.out.println("Sprachliche Herkunft: lat. expellere = vertreiben; arma = Waffen"); System.out.println("Bedeutung: Mit diesem Zauberspruch wird einem Gegner der Zauberstab aus der Hand entrissen, damit er nicht zaubern kann.\n"); } case BELEUCHTUNGSZAUBER -> { anzahlZauber ++; System.out.println("Lumos!"); System.out.println("Sprachliche Herkunft: lat. frz. lumière = Licht"); System.out.println("Bedeutung: Lässt den Zauberstab aufleuchten, um Licht ins Dunkle zu bringen.\n"); } case SCHWEBEZAUBER -> { anzahlZauber ++; System.out.println("Wingardium Leviosa!"); System.out.println("Sprachliche Herkunft: engl. wing = Flügel; lat. arduus hoch/engl. arduous = schwer besteigbar, steil; lat. levis = leicht"); System.out.println("Bedeutung: Lässt Gegenstände oder Personen durch die Luft schweben. Besser nicht draußen bei starkem Wind benutzen!\n"); } case AUFRUFEZAUBER -> { anzahlZauber ++; System.out.println("Accio!"); System.out.println("Sprachliche Herkunft: lateinisch accio ‚ich rufe herbei‘"); System.out.println("Bedeutung: Dieser Zauber wird benutzt, um Gegenstände zu sich fliegen zu lassen. Fernbedienungen hassen diesen Trick\n"); } case VERDUNKLUNGSZAUBER -> { anzahlZauber ++; System.out.println("Nox!"); System.out.println("Sprachliche Herkunft: lat. nox = Nacht"); System.out.println("Bedeutung: Macht einen durch Lumos leuchtenden Zauberstab wieder aus.\n"); } case SCHUTZZAUBER -> { anzahlZauber ++; System.out.println("Expecto Patronum!"); System.out.println("Sprachliche Herkunft: lat. für ich erwarte den Schutzgeist"); System.out.println("Bedeutung: Beschwört einen Schutzgeist, genannt „Patronus“. Der Patronus schützt vor Gefahren wie Todessern. Kann aber nicht vor Regen, dem Zuspätkommen oder Heißhunger schützen!\n"); } default -> { anzahlZauber ++; System.out.println("Fauler Zauber\n"); } } } public static Zauberspruch zufaelligerZauber() { Random random = new Random(); return Zauberspruch.values()[random.nextInt( Zauberspruch.values().length) ]; } }