INF2 – TSIT – Informatik 2 - Translation Studies in Information Technology 1. P FLICHTÜBUNG Praktikum zur Vorlesung Informatik 2 (INF2), Bachelorstudiengang Stephan Mechler, [email protected], http://www.informatik.hs-mannheim.de/~mechler Abnahmetermin: 08.05.2014 Abgabetermin: 05.05.2014 Wichtig: Die Teilnahme an den Pflichtübungen gilt als Prüfungsleistung. Bei einer Verhinderung durch Krankheit ist eine ärztliche Bescheinigung der Arbeitsunfähigkeit vorzulegen! 1. Name, Vorname, Matrikelnummer: ______________________________________________ 2. Name, Vorname, Matrikelnummer: ______________________________________________ 1. Teilnehmer, Unterschrift: ______________________________________________________ 2. Teilnehmer, Unterschrift: ______________________________________________________ Wichtig: Bei Abgabe der Übung im Rechenzentrum ist der Studentenausweis vorzulegen! A UFGABE 1 Entwickeln Sie ein Ostereier-Suchspiel mit folgendem Spielablauf: Geben Sie zunächst eine Anleitung aus. Danach gibt der Spieler die Spielfeldgröße vor, er gibt dazu zwei kommagetrennte Zahlen für die Länge und Breite ein (Beispiel 10,10). Die maximale Spielfeldgröße ist 26x99. Nach der korrekten Eingabe wird ein Spielfeld erzeugt. Das rechteckige Spielfeld (oben eingegebene Größe) enthält zufällig verteilt, leere Felder und Symbole für Büsche (#) and Sträucher (*) und Steine (.). Das Spielfeld soll mit 25 % Büschen und mit 15 % Sträucher und 10 % Steinen bedeckt sein. – Seite 1 von 3 – INF 2, Pflichtübung 1 Hinter Büschen können mit einer Wahrscheinlichkeit von 50 % Ostereier versteckt sein. Hinter Sträuchern können mit einer Wahrscheinlichkeit von 30 % Ostereier versteckt sein. Hinter Steinen können mit einer Wahrscheinlichkeit von 10 % Ostereier versteckt sein. Zur Orientierung ist am Spielfeld ein Koordinatensystem (A-Z in X-Richtung, 1-99 in Y-Richtung angegeben. Nun wählt der Spieler durch die Eingabe einer Koordinate ein Feld (Beispiel: a,1). Ist hinter einem Busch-Symbol ein Ei versteckt, so erhält der Spieler einen Punkt und das Ei wird auf dem Spielplan angezeigt. Bei jeder Koordinaten-Eingabe wird ein Zähler mit der Gesamtanzahl der Versuche mitgeführt. (Für jeden Spielzug wird das Spielfeld einfach komplett neu ausgegeben) Sind alle Eier entdeckt endet das Spiel. Zusätzlich soll bei der Eingabe der Koordinaten der aktuelle Spielstand (Spielfeld + Eier) abgespeichert bzw. geladen werden können, wenn der Nutzer anstatt Koordinaten „laden <Dateiname>“ und „speichern <Dateiname>“ eingibt (<Dateiname> steht für einen vom Nutzer gewählten Dateinamen). Das Spiel sollte absturzsicher gegenüber Fehleingaben (falsche Koordinaten, falsche Spielfeldgröße, leerer Dateiname usw.) sein. Das Spiel wird wie gewohnt mit Java und über die Ein- und Ausgabe mittels der Konsole gesteuert. Entwickeln Sie nach der genauen Analyse des Ablaufs: zunächst ein Nassi-Shneiderman-Struktogramm. Implementiere Sie das Spiel danach in Java, Achten Sie schon beim Entwurf, dass Sie für das Zeichnen und für das Erstellen der Spielfläche sowie für die Eingabe möglichst eigenständige Methoden verwenden sollen. Hilfestellung: Unter http://www.informatik.hs-mannheim.de/~mechler/inf2/osterapplet.html finden Sie eine beispielhafte Variante des Spiels. Unter http://www.informatik.hs-mannheim.de/~mechler/inf2/inf2_1_all2.pdf, S.91 ff. finden Sie wissenswertes über mehrdimensionale Arrays. Um Zufallszahlen zu erzeugen benutzen Sie: Math.random oder Random.nextInt() Informationen hierzu unter: http://java.sun.com/javase/6/docs/api/java/util/Random.html http://java.sun.com/javase/6/docs/api/java/lang/Math.html - random() http://java.sun.com/j2se/1.3/docs/api/java/util/Random.html http://java.sun.com/j2se/1.3/docs/api/java/lang/Math.html - random() – Seite 2 von 3 – INF 2, Pflichtübung 1 Informationen zum Zerteilen von Eingaben finden Sie unter: http://www.informatik.hs-mannheim.de/~mechler/inf2/inf2_1_all2.pdf S.68-69 http://java.sun.com/javase/6/docs/api/java/util/StringTokenizer.html H INWEISE ZUR A BGABE Alle Aufgaben werden während der angesetzten Übungsstunden im Rechenzentrum testiert. Bei der Abnahme sind folgende Unterlagen vorzulegen: Pro Aufgabe ein Blatt auf dem Sie beschreiben, welche Grundüberlegungen Sie sich bei der Lösung der Aufgabe bei Ihnen aufgetreten sind, wie Sie die Arbeit organisierten und welche Probleme bzw. Schwierigkeiten die Aufgaben Ihnen bereite. Pro Aufgabe ein Blatt (oder mehrere Blätter) mit dem geforderten Nassi-ShneidermanStruktogramm. Pro Aufgabe ein Ausdruck des Quellcodes. Zur Abnahme ist der Quellcode im Rechenzentrum vorzuführen. Die Aufgabenstellung mit den Daten und Unterschriften beider Teilnehmer. Auf allen abgegebenen Blättern (mit Ausnahme der Aufgabenstellung) ist oben der Name und die Matrikelnummer beider Teilnehmer zu notieren. Die Aufgaben können auch einzeln testiert werden! L ERNZIELE Entwurf von Algorithmen Mehrdimensionale Arrays Funktionen und Prozeduren Zufallszahlen Stringverarbeitung (Stringtokenizer, Umwandlung char -> String) Schleifen, Bedingungen Dateiein- und Dateiausgabe. – Seite 3 von 3 –