- EINSTIEG IN JAVA - (1/5) Datum:

Ähnliche Dokumente
1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

3. Das erste eigene Programm mit Greenfoot: Litte Crab

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen

Probeklausur Informatik 2 Sommersemester 2013

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Space Shooter. Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen.

Repetitorium Informatik (Java)

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Projekt 1.1: Wie man eine Planetenumgebung mit Greenfoot erkundet

1 Klassen und Objekte

2 Teil 2: Nassi-Schneiderman

Methoden und Wrapperklassen

Umsetzung einer Klassenkarte in einer Programmiersprache

Einführung in die Programmierung für NF MI. Übung 04

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

System.out.println("TEXT");

Arbeiten mit JavaKara

Aufgabe: Programmieren in Java mit Greenfoot Herzchen-Pong (65 Punkte)

Einführung in die Programmierung

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java: Vererbung. Teil 3: super()

C++ - Objektorientierte Programmierung Vererbung

Klausur Grundlagen der Programmierung

Am Anfang werden die Attribute deklariert public class Kreis {

Methoden-Expertin. Aufgabe 1. Das Neue. Lösung in JavaKara. Puzzle: Expertin D

AuD-Tafelübung T-B5b

1 - EIN NEUES GAMEGRID ANLEGEN

Fragen zur OOP in Java

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Greenfoot: Verzweigungen

5.4 Klassen und Objekte

Objektorientierte Programmierung Studiengang Medieninformatik

Java Kurzanleitung Kapitel 1 Kontrollstrukturen:

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Probeklausur: Programmierung WS04/05

Musterlösung Stand: 5. Februar 2009

Java Datentypen und Variablen

Begriffe 1 (Wiederholung)

Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:

Schöner Programmieren

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Algorithmen implementieren. Implementieren von Algorithmen

Schöner Programmieren

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Aufgaben NF 11; Seite 1

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

Einführung in das Programmieren Probeklausur Lösungen

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Starte Greenfoot und öffne das Szenario krabbe1. Es erscheint das Hauptfenster von Greenfoot mit dem geöffneten Szenario.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Java Einführung Vererbung und Polymorphie. Kapitel 13

5. Tutorium zu Programmieren

(6) Verknüpfen der GUI mit dem Spiel

Java Einführung Methoden. Kapitel 6

Aufgabe 1: Programmieren in Java mit Greenfoot Ballonabschießen

Grundlagen von C# - 1

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Arrays und Schleifen

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Universität Paderborn Prof. Dr. Heike Wehrheim. Betreutes Arbeiten. Ab diese Woche: freitags, 14 16, E-Pool (während Tutorium Knopf) GPI, WS 07/08

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

C++ - Objektorientierte Programmierung Konstante und statische Elemente

Felder. M. Jakob. 28. April Gymnasium Pegnitz

Sommersemester Jewgeni Rose. Technische Universität Braunschweig

Algorithmen und Datenstrukturen

ADT: Java Collections und ArrayList

2. Unterprogramme und Methoden

Algorithmen und Datenstrukturen

Die Klasse java.lang.object. Thorsten Treffer

3.2 Datentypen und Methoden

Bru ckenkurs Programmieren

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Methoden (fortgeschritten) in C# - 1

Programmieren in Java -Eingangstest-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Java für Bauingenieure

Einstieg in die Informatik mit Java

Klassen als Datenstrukturen

Objektorientierung (OO)

OOI mit Java. Unsere Beispielklasse. Hund name: String laut: String groesse: int gewicht: int gibname(): String giblaut(): String

Transkript:

- EINSTIEG IN JAVA - (1/5) Datum: 2.2 Wir lernen die Programmiersprache Java und entwickeln ein Computerspiel Schritt #1: Constructor-Methoden: Wir setzen die beiden Spieler in die 'Welt' (das Spielfeld) 1) Erzeuge zwei neue Unterklassen (new subclass ) der Actor-Klasse mit NamenSpieler1 und Spieler2. Wähle die entsprechenden Bilder aus. 2) Füge eine neue Unterklasse MyWorld der World-Klasse mit entsprechendem Hintergrund ein. 3) Füge den folgenden Code ein. 4) Wir lernen: Aus 2.1 wissen wir die Bedeutungen der Java-Wörter 'public', 'import', extends', 'class' und der geschweiften Klammern. Bitte lernen! Constructor new super '=' Der Constructor (oder Konstruktor) ist eine Methode, die aus einer Klasse (eine Schablone auf der Festplatte) ein neues Objekt im RAM erzeugt. Der Aufruf erfolgt mit 'new'. Der Constructor wird immer groß geschrieben und hat den gleichen Namen wie die Klasse. 'super' ruft den Constructor der Vorfahrenklasse (der Welt auf). Wir brauchen uns nur um das zu kümmern, was die 'World'-Klasse noch nicht hat. '=' schreibt Daten in einen Bereich des RAM der durch eine Variable festgelegt ist. Spieler1 s1=new Spieler1 bedeutet also: Nach der Größe der Klasse (Schablone) Spieler1 wird im Arbeitsspeicher (RAM) ein Abschnitt ab der Speicherstelle s1 reserviert. In diesen Bereich schreibt dann der Constructor den Objektcode mit möglicherweise abgeänderten Daten. 'addobject( )' ist kein Java. Diese Greenfoot-Methode setzt die Bilder eines Objektes auf einen bestimmten Punkt der Welt.

- EINSTIEG IN JAVA - (2/5) Datum: Schritt #2 Andere Methodenarten in Java: Einfügen einer Steuerung durch Tastatur 1) ergänze die act() - Methoden der beiden Spieler um die folgenden Codes: 2) Der linke Spieler reagiert also auf die Tasten w,a,s,d der rechte auf die Pfeiltasten. 3) Bitte merken: In Java gibt es nicht nur Objekte, sondern auch einfache (primitive) Datentypen. Zum Beispiel int (integer, das sind positive oder negative ganze Zahlen), double (Kommazahlen) oder boolean (wahr oder falsch). Eine Methode hat in Java den folgenden Aufbau: <Rückgabe> <Methodenname> Objekt oder einfacher Speicherstelle im RAM für Datentyp oder nichts den Methodencode void keine Rückgabe setlocation Actor-Methode (<Übergabe; oft mehrere Parameter >) Datentypen oder Objekte oder nichts (x,y) 2 int- Parameter für die Koordinaten boolean Greenfoot.isKeyDown ( Tastencode in '' '') int getx () keine Übergabe keine Rückgabe act () keine Übergabe void act() ist eine Methode die regelmäßig vom Greenfoot- System aufgerufen wird. Das Tempo lässt sich durch den Schieberegler oder die Methode Greenfoot.setSpeed(int speed) ändern. 'int x=getx()' bedeutet: für die X-Koordinate wird in unter der integer-variablen x eine Speicherstelle im RAM reserviert und diese Koordinate als Rückgabe von 'getx()' dann dort hineingeschrieben. 'getx' ist also auch nur die Speicherstelle des Methodencodes im RAM.

- EINSTIEG IN JAVA - (3/5) Datum: 'Schritt #3: Die Zählschleife mit 'for'. Schätze werden gesammelt. 1.) Legt eine neue Actor- Unterklasse 'Schatz' mit Bild an. 2.) Fügt in die Spieler- Codes unter der Tastatursteuerung ein: 'removetouching(schatz.class);' Damit wird das Bild eines Schatzes von der Welt gelöscht, wenn es berührt wird. 3.) Ergänze im Constructor der Welt eine Zählschleife. Es sollen 20 Schätze an zufälligen Koordinaten in die Welt gesetzt werden. 4) Schleifen sind Programmstücke die häufiger fast gleich wiederholt werden. Eine Zählschleife (for-schleife) wird sooft durchlaufen, wie der Schleifenkopf angibt: for (<Anfangswert Zählvariable>; <zählt solange wie Bedingung gilt>; <zählt immer um 1 hoch>;) { folgt der Code, der mehrfach durchlaufen wird} for (int i=0; i<20;i=i+1) bedeutet also: Die integer-zahl i ist am Anfang 0; solange i kleiner als 20 ist; wird um 1 hochgezählt; Die Variable i hat also die Werte 0 bis 19. Es gilt die Kurzschreibweise: i=i+1 ist kurz i++. stz.getimage().scale(16,16) ist ebenfalls eine Kurzschreibweise und bedeutet: Die Actor-Metode getimage() wird aufgerufen und auf die Rückgabe (das Bild) die Methode GreenfoorImage.scale(int breite, int hoehe) angewendet. Schritt #4: Attribute; Counter werden eingeführt. 1.) Über den Menuepunkt Bearbeiten Import class wird die Actor- Klasse Counter importiert. 2.) Zwei Objekte dieser Klasse werden über den Spielern in die Welt gesetzt. 3.) Attribute sind Variablen für Objekte oder einfache Datentypen die für alle Methoden einer Klasse gelten (Klassenvariablen). Die Vereinbarung (Speicherplatzreservierung, Deklaration) muss direkt unter dem Klassenkopf über der ersten Methode erfolgen. Da ab jetzt die Spieler-Objekte und die Counter-Objekte in mehreren Methoden verwendet werden, müssen diese als Attribute vereinbart (deklariert) werden. 4) Der Speicherplatzreservierung für die Spielerobjekte und die Counter darf im Constructor nicht noch einmal erfolgen. Spieler1, Spieler2 und Counter dürfen als Klassenabfrage daher nicht noch einmal vorkommen, sonst würde neuer Speicher im RAM reserviert und der alte bleibt leer. 5) Die Constructor Methode der Counter wird mit der Beschriftung als Zeichenkette (String) in '' '' aufgerufen.

- EINSTIEG IN JAVA - (4/5) Datum: 6) Schreibe in den Code der beiden Spieler unter den Klassenkopf das Attribut: public boolean hit=false; Eine boolean-variable soll also anzeigen, ob ein Schatz getroffen wurde (Zu Anfang false). Unter die Zeilen mit der Tastensteuerung, aber vor Löschen des Schatz- Objektes schreiben wir: if (istouching(schatz.class))hit=true; 7) Die 'act()'-methode der Welt wird vor der der Actors aufgerufen. Wir schreiben diese neu. Sie sorgt dafür, dass die Counter zählen können. 'c1.add()' bedeutet, dass die add() - Methode des Counters um 1 hochzählt. '==' ist ein Java-Wort, ein Vergleich. 's1.hit == true' bedeutet, dass das Attribut hit des Spielers s1 wahr ist, das heißt ein Schatz getroffen wurde. 8) Aufgabe: Beschreibe mit eigenen Worten, wie es kommt, dass die Counter zählen können. Wie funktioniert also die 'act()'-methode der Welt?

- EINSTIEG IN JAVA - (5/5) Datum: Schritt #5: Logische Glierderung; Auswertung des Spiels 1) Wir fügen in der Welt die folgenden Attribute neu ein. Begründung? 2) Die 'act()'-methode wird um die entscheidende if-abfrage erweitert. Es wird die Anzeige der Auswertung (Klasse Spielende) in die Welt gesetzt. Für weitere Spielrunden und Levels wird die erreichte Punkzahl jeweils wieder auf 0 gesetzt. 3) Der selbst geschriebene Constructor der Spielende-Klasse bekommt die beiden Punktzahlen übergeben. Er demonstriert Layoutfunktionen der GreenfootImage-Klasse.