Eclipsekurs 2006/Tag 1
Aufgaben
- Starte die Eclipse-Umgebung mit dem Kommando /home/pub/lib/eclipse/eclipse
- Projekt anlegen
- Erstelle ein Java-Projekt "eclipseTutorial" mit getrennten Ordnern für den Quellcode (src) und kompilierte class-Dateien (bin).
- Lege in diesem Projekt eine neue Klasse "Spielwiese" an, die eine main-Methode enthält.
- Erweitere die Klasse zu einem "Hello World"-Programm und führe dieses in Eclipse aus.
- Tipp: Mit syso[Strg+Leerzeichen] erzeugt die Eclipse-Autocompletion ein System.out.println();
- Verändere das Programm so, dass es einen beim Start übergebenden Parameter auf dem Bildschirm ausgibt.
- Tipp 1: Die Funktion main bekommt ihre Parameter als Array von Strings. Der Name des ersten übergebenen Parameters ist also args[0] .
- Tipp 2: Die Parameter des Programms kannst du in der Run-Configuration einstellen.
- Baue Fehler in dein Programm ein (Semikolon löschen, Klammer löschen, Tippfehler) und sieh dir an, welche Korrekturvorschläge Eclipse anbietet. Spiele mit diesem Feature ein wenig herum. Du kannst Änderungen [Strg+Z] (Undo) jederzeit rückgängig machen.
- Tipp: Beachte die "Problems"-Ansicht, sowie die Markierungen links und rechts vom Editorfenster. Manchmal muss man Änderungen allerdings erst speichern, damit die Anzeigen aktualisiert werden.
- Lege eine neue Klasse "tinyObject" an, welche keine main Methode enthält.
- "tinyObject" soll drei Klassenvariablen enthalten. Wenn ein Objekt dieser Art erzeugt wird, weden diese mit einem beliebigen Wert initialisiert.
- Erweitere "tinyObject" um eine Methode "void printYouselfAndThis(String text)", die den übergebenen Text sowie den Inhalt der Klassenvariablen auf der Konsole ausgibt.
- Hinweis: Sieh dir an, was passiert, wenn du in dieser Funktion "this." schreibst und anschließend kurz wartest oder die Autocomplition mit [Str+Space] aktivierst.
- Zum Testen dieser Methode kannst du in der Klasse "Spielwiese" ein "tinyObject" erzeugen und darauf die Methode aufrufen.
Aufgabe: Glücksspiel
- Bei diesem Spiel gibt es 37 Felder, auf die der Spieler 200 Euro (in Einheiten von 1 Euro) verteilt. Danach wird eine Zufallszahl n ermittelt und an den Spieler wird der Gewinn ausgezahlt. Die Gewinnsumme errechnet sich wie folgt:
- Summe( von i=0, bis 36,(board[i]*(6 − | i − n |)))
- wobei board[i] den Wert der Belegung des Feldes i darstellt.
- Allerdings sollen nur positive Summanden in die Summe eingehen.
- Berechnung der Gewinnsumme
- Vervollständige die play-Funktion, welche bei der Eingabe
- eines boards die Gewinnsumme errechnet. Die Funktion soll also die Aufgabe eines Spielleiters
- bei einem Roulettespiel einnehmen.
- Tipp: Es wird sinnvoll sein, eine Methoden static int abs(int x) und eine Methode
- static int max(int x, int y) zu implementieren. abs() liefert dabei den Betrag
- der übergebenen Zahl zurück, während max() den größeren der beiden übergebenen
- Werte zurückliefert.
- Ideale Boardbelegungen Erstelle ein paar Board-Belegungen und versuche Deinen Gewinn
zu maximieren. Hierbei ist es n¨utzlich, die Gewinnfunktion zu verstehen. Mache Dir also klar unter welchen Umst¨anden man wieviel gewinnt. • Gibt es Zahlen die g¨unstiger sind als andere? • Lohnt es sich auf einzelne Felder besonders viel zu setzen? • Ist es besser den Einsatz gleichm¨aßig zu verteilen? Versuche eine m¨oglichst ideale Board-Belegung zu finden, indem du viele (z.B. 100 000) Spiele mit Deiner festen Belegung simulierst. Falls Du magst, kannst Du auch andere Gewinnfunktionen ausprobieren. z.B. ∗36 bei einem Volltreffer und ∗6 falls eines der acht benachbarten Felder getroffen wurde. Die Praktikabilit¨at einer neuen Gewinnfunktion kannst Du mit der L¨osung aus Aufgabe 3.1 ¨uberpr¨ufen. Der durchschnittliche Gewinn sollte den Einsatz nicht ¨uberschreiten!