Java-Programming/AufgabenBlatt3/src/Aufgabe6.java

102 lines
4.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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) ];
}
}