Editing Java - I/O und Exceptions NEW
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 4: | Line 4: | ||
Die, in der früheren Aufgabe erstellte, Personenverwaltung, soll nun etwas sicherer für Fehler gemacht werden.<br> | Die, in der früheren Aufgabe erstellte, Personenverwaltung, soll nun etwas sicherer für Fehler gemacht werden.<br> | ||
Erweitere den Code so, dass der User die Personen mit Hilfe eines Scanners erstellt | Erweitere den Code so, dass der User die Personen mit Hilfe eines Scanners erstellt.<br> | ||
Dabei soll auf ungültige Inputs vernünftig reagiert werden, ohne dass das Programm abstürzt.<br> | Dabei soll auf ungültige Inputs vernünftig reagiert werden, ohne dass das Programm abstürzt.<br> | ||
<font size=3><strong>Requirements</strong></font> | <font size=3><strong>Requirements</strong></font> | ||
====== | ======InvaldPersonName-Exception====== | ||
Wenn ein Nutzer eine Person anlegt, die eine Zahl im Namen hat, soll eine "InvalidPersonName-Exception" geworfen werden.<br> | Wenn ein Nutzer eine Person anlegt, die eine Zahl im Namen hat, soll eine "InvalidPersonName-Exception" geworfen werden.<br> | ||
Die Anlegung des Objektes soll abgebrochen werden und der Nutzer informiert, dass dieser Name ungültig ist.<br> | Die Anlegung des Objektes soll abgebrochen werden und der Nutzer informiert, dass dieser Name ungültig ist.<br> | ||
Line 19: | Line 19: | ||
Das Programm soll nicht terminieren und weitere Inputs erhalten.<br> | Das Programm soll nicht terminieren und weitere Inputs erhalten.<br> | ||
====== | ======Terminierung====== | ||
Das Programm soll nur durch die Eingabe von ":q!" terminierbar sein. | |||
Das Programm | |||
==File I/O== | ==File I/O== | ||
Line 39: | Line 36: | ||
Lese die Daten ein und erstelle daraus die notwendigen Klassen.<br> | Lese die Daten ein und erstelle daraus die notwendigen Klassen.<br> | ||
Jedes Pokémon soll zwei zufällige Attacken bekommen. | Jedes Pokémon soll zwei zufällige Attacken bekommen. | ||
=====Auswahl===== | =====Auswahl===== | ||
Der Nutzer kann zu Beginn des Spiels ein Pokémon durch Angabe der Index-Nummer oder | Der Nutzer kann zu Beginn des Spiels ein Pokémon durch Angabe der Index-Nummer oder dem Namen wählen, dieses wird für den Kampf ausgewählt.<br> | ||
Gib auf der Konsole aus, um welches Pokémon es sich handelt und welche Werte und mögliche Attacken es hat.<br> | Gib auf der Konsole aus, um welches Pokémon es sich handelt und welche Werte und mögliche Attacken es hat.<br> | ||
Das | Das gegnerischen Pokémon wählt der Computer zufällig. | ||
=====Kampf===== | =====Kampf===== | ||
Line 60: | Line 55: | ||
Der Schaden berechnet sich wie folgt: | Der Schaden berechnet sich wie folgt: | ||
Schaden = (Atk_Pw) * (APk_A / DPk_D) * ( | Schaden = (Atk_Pw) * (APk_A / DPk_D) * (Lvl / 50) | ||
Atk_Pw = Power Wert der Attacke, die Ausgewählt wurde<br> | Atk_Pw = Power Wert der Attacke, die Ausgewählt wurde<br> | ||
APk_A = Attack Wert des angreifenden Pokémon<br> | APk_A = Attack Wert des angreifenden Pokémon<br> | ||
DPk_D = Defense Wert des verteidigenden Pokémon<br> | DPk_D = Defense Wert des verteidigenden Pokémon<br> | ||
Lvl = Das Level des angreifenden Pokémon <br> | |||
50 = Die Zahl 50<br> | |||
Das Pokémon mit dem größeren Speed Wert greift zuerst an. Verliert das angegriffene Pokémon bevor es angegriffen hat, wird der Angriff übersprungen. | Das Pokémon mit dem größeren Speed Wert greift zuerst an. Verliert das angegriffene Pokémon bevor es angegriffen hat, wird der Angriff übersprungen. |