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 Abgabetermin: Bis zum Beginn der Übungsstunde am 23.04.2009 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 Gegeben sei die folgende Aufgabe: Entwickeln Sie ein Osereier-Suchspiel mit folgendem Spielablauf: Geben Sie zunächst eine Anleitung aus. Danach gibt der Spieler die Spielfeldgröße vor, indem er zwei kommagetrennte Zahlen eingibt (Beispiel 10,10). Die maximale Spielfeldgröße ist 26x99. Nach der korrekten Eingabe wird ein Spielfeld erzeugt. Das quadratische Spielfeld (oben eingegebene Größe) enthält zufällig verteilt, leere Felder und Symbole für Büsche. Hinter diesen Büschen können zufällig 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 Versteck, 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. Sind alle Eier entdeckt endet das Spiel. – Seite 1 von 3 – INF 1, Pflichtübung 1 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, wobei Sie für das zeichnen und für das erstellen der Spielfläche sowie für die Eingabe möglichst eigenständige Methoden entwerfen 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() 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. – Seite 2 von 3 – INF 1, Pflichtübung 1 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 – Seite 3 von 3 –