Projekt 4: Jump and Run Games Supermario

Größe: px
Ab Seite anzeigen:

Download "Projekt 4: Jump and Run Games Supermario"

Transkript

1 Projekt 4: Jump and Run Games Supermario Wir programmieren in diesem Kapitel eines der bekanntesten Junp and Run Spiele Supermario, das von Nitendo 2011 veröffentlicht wurde. Supermario ist der Held der seine Freundin Peach vor den Monstern retten soll. Mario muss über Leitern einen Berg erklimmen, dabei rollenden Fässern durch Sprünge ausweichen. Punkte sammelt Mario, wenn er Peach (auf der oberen Leiter rechts) erreicht oder rote Sternsymbole einsammelt. Importiere aus dem Lehrerverzeichnis eine Spielversion, in der sich Mario bereits bewegt. Deine Aufgabe ist es, die beiden Fässer herunterrollen zulassen, die Sterne zu positionieren und während dees Spieles die Punktewertung zu vergeben. Zunächst ein Überblick über die verwendeten Klassen: public class Gui extends JPanel implements ActionListener Gui wird als Unterklasse von JPanel deklariert, sie erbt somit alle Eigenschaften, die zum Zeichnen von Objekten notwendig sind. In der Klasse Gui wird der Bildschirm mit allen Figuren (Mario, Peach, 2 Fässer, 5 Sterne) alle 5 Millisekunden neu gezeichnet und die Tastatur zur Steuerung von Mario abgefragt. Kommt es zur Kollision von Mario mit einem Fass oder einem Stern, wird Mario zurückgeschickt bzw. Punkte vergeben. public Gui() Im Konstruktor der Klasse Gui werden alle Objekte erzeugt, die gezeichnet werden sollen: mario: Der Held (zwei Bilder mariobild1.png und mariobild2.png zeigen Mario nach Rechts und Links laufend) peach: Die Freundin (zwei Bilder peachbild1.png und peachbild2.png zeigen Peach nach rechts- und links schauend) fass1, fass2: 2 Objekte der werden mit dem Bild fassbild.png gezeigt. stern1, stern2,, stern5: 5 Objekte der Klasse Stern mit dem Bild sternbild.png dargestellt. public void actionperformed(actionevent e) Bei jeder Auslösung des Timers, d. h. alle 5 Millisekunden, wird die Methode actionperformed gestartet: Die Bewegung wird aktualisiert und der Bildschirm wird neu gezeichnet: bewegen(); repaint(); Der Befehl repaint ruft die folgende Methode paint auf: public void paint(graphics g) Hier werden alle grafischen Objekte (Mario, Peach, Fässer, Sterne usw.) gezeichnet. public void bewegungen() In der Methode bewegungen() wird die Bewegung der Figuren gesteuert: hier wird registriert, wenn Mario Peach erreicht oder einen Stern berührt hat. private class TastaturAdapter extends KeyAdapter public void keypressed(keyevent e) Durch den TastaturAdapter wird die Tastatur abgefragt und damit die Bewegung von Mario gesteuert. Die Methode keypressed wird nach jedem Druck auf eine Taste ausgeführt. Aufgabe 1: Wie heißt der Befehl, mit dem die einzelnen Figuren gezeichnet werden? Wie heißt der Befehl, mit dem der Spielstand ausgegeben wird? Schreibe die beiden Befehle ins Heft. 25

2 public class SuperMario extends javax.swing.jframe Diese Klasse dient nur dazu, um am Anfang die Spielregeln anzuzeigen. Durch Klick auf einen Button wird eine Instanz der Klasse Gui geöffnet und das Spiel gestartet. In dieser Klasse musst du nichts verändern. public class Mario Innerhalb der Klasse Mario wird die Spielfigur Mario bewegt. Insbesondere muss das Programm darauf achten, dass Mario sich nur entlang der waagerechten und senkrechten Leitern bewegen kann. Die Bildschirmkoordinaten für den Sprung von Mario (ausgelöst in der Methode keypressed der Klase Gui) werden berechnet. public Mario() Im Konstruktor der Klasse Mario wird der Held auf der unteren Leiter ganz Links positioniert. public void zurueck() Nachdem Mario Peach erreicht hat oder von einem Fass getroffen wurde, wird Mario zurück in die Ausgangsecke beordert. public void sprungstarten() Ausgelöst von der Methode Gui.keypressed wird der Sprung gestartet. Die Variable sprungposition wird stückweise erhöht, bis der höchste Punkt erreicht ist, danach wird sie wieder schritweise auf 0 zurückgeführt. private boolean aufleiter (int x1, int x2, int y1, int y2, int laufy) Die Methode prüft, ob sich Mario gerade auf einer senkrechten leiter befindet. public void bewegen(int laufx,int laufy) Hier wird die Bewegung von Mario gesteuert: befindet er sich auf einer senkrechten Leiter, darf er sich hochoder runter bewegen. Befindet er sich in Höhe einer waagerechten Leiter, darf er sich nach Links oder Rechts bewegen. public int getmariox(); public int getmarioy; public boolean getsprunggestartet() Drei Get-Methoden leiefern die akktuelle Position von Mario und eine Information, ob ein Sprung gestartet und noch nicht beendet wurde. Aufgabe 2: Das Koordinatensystem der Bildschirmoberfläche hat seinen Ursprung (Punkt (0/0)) in der linken, oberen Ecke. Die x-koordinate wächst nach rechts, die Y-Koordinate anders als in der Mathematik wächst nach Unten. Starte das Spiel und beobachte die Anzeige der Koordinaten von Mario, wenn du Mario bewegst: Schreibe im Heft die y-koordinaten der vier Leitern auf. An welchen x-koordinaten stehen vertikale Leitern? public class Fass In dieser Klasse wird die Bewegung der beiden Fässer gesteuert. Es wird deine erste Aufgabe sein, die Fässer zun zeichnen und zu bewegen. public boolean getroffen(int Mariox, int Marioy) Die Methode getroffen gibt als Wahrheitswert zurück, ob Mario ein Fass gerade berührt. Dies ist die einzige Methode der, die bereits fertig ist. Public class Stern In dieser Klasse wird der Position der fünf Sterne zufällig bestimmt und die Sterne werden gezeichnet. Auch dies wird deine Aufgabe sein, die Sterne zu zeichnen. public boolean getroffen(int Mariox, int Marioy) Die Methode getroffen gibt als Wahrheitswert zurück, ob Mario ein Fass gerade berührt. Dies ist die einzige Methode der, die bereits fertig ist. Aufgabe 3: Zeichne ein Fass am linken Ende der obersten Leiter. Das Fass benutzt das Bild fass1.png. a) Die notwendigen Befehle zum Bereitstellen des Bildes kannst du dir im Konstruktor der Klasse Gui für Mario abschauen. Das ImageIcon für das Fass soll f1 ImageIcon f1 = heißen, das image fassbild wurde bereits deklariert. fassbild = für die Fässer Die Befehle werden ebenfalls im Konstruktor untergebracht. 26

3 b) Die beiden Objekte fass1 und fass2 der wurden bereits in der Klassse Gui deklariert. Du musst die beiden Fässer im Konstruktor der Klasse Gui mit einem new-befehl nur noch erzeugen (vgl. den new-befehl für Mario). Deklaration der Objekte der Klassen Mario, Stern und Fass c) In der Methode paint der Klasse Gui sieht du, wie Mario gezeichnet wird. f2 ist ein Objekt zum Zeichnen von zweidimensionalen Grafiken. und sind Variablen für die Position von Mario. Verwende zunächst hier die beiden Zahlen für die Startposition der Fässer (oberste Leiter ganz Links). Beobachte, ob das Fass gezeichnet wurde. Befehl zum Zeichnen des Bildes von Mario im Punkt mit den Koordinaten,. Dies ist übrigens die linke obere Ecke der Grafikdatei für Mario. d) Jetzt soll sich das Fass entlang der obersten Leiter nach Rechts bewegen. In der siehst du, dass als Variablen unter anderem fassx und benutzt werden. Dies sind die Koordinaten eines Fasses. Ergänze in der die Methoden getfassx und getfassy, mit der jeweils der Wert einer Koordinate an die Klasse Gui zurückgemeldet werden kann. Außerdem benötigen wir die Methode public void setzen(), in der die Koordinaten des Fasses für den Startpunkt des Fasses gesetzt werden. Zum Schluss folgt die wichtigste Methode für das Fass: public void bewegen(). In dieser Methode soll Fass ein Stück nach rechts bewegt werden. Wie weit dieses Stück ist, kann mit der Variablen Gui.geschw gesteuert werden. In deinem importierten Projekt ist in der Klasse Gui entweder 2 oder 4 als Wert eingestellt. Ist dein PC zu langsam, kannst du durch den Wert 4 die Geschwindigkeit der Bewegungen verdoppeln. geschw ist eine statische Variable in der Klasse Gui, d. h. es gibt sie nur ein einziges Mal, unabhängig davon, wie viele Objekte von der Klasse Gui erzeugt werden. Zum Schluss musst du nur noch dafür sorgen, dass die Bewegung des Fasses tatsächlich gezeichnet wird: Den Befehl zum Zeichnen des Fasses aus c) musst du verändern. Statt den festen Zahlen musst du die aktuellen Koordinaten des Fasses verwenden, nutze dazu die programmierten getmethoden für die Fasskoordinaten. In der Methode bewegungen() der Klasse Gui wird durch den Befehl fass1.bewegen() die Bewegung des Fasses alle 5 Millisekunden angestoßen. Außerdem solltest du im Konstruktor der Klasse Gui die Methode fass1.setzen() einmal aufrufen, um das Fass auf Startposition zu bringen. Jetzt müsste das Fass einmal über die obere Leiter rollen. Die Variablen-Felder in der Klasse Fass: fassx, sind die Koordinaten eines Fasses, die anderen beiden Felder werden später erklärt Ergänze die Methode bewegen so, dass die Variable fassx um den Wert von Gui.geschw erhöht wird Die Variable geschw der Klasse Gui steuert die Geschwindigkeit der Bewegungen Dass Fass wird zu Beginn auf seine Startposition gesetzt. Dass Fass wird ein Stück bewegt Aufgabe 4: a) Das Fass soll jetzt auf zwei möglichen Wegen entlang der Leitern herunterrollen. Per Zufall entscheidet sich, welcher der beiden Wege eingeschalgen wird. Im Bild rechts sind die beiden möglichen Wege eingezeichnet. Weg 1 ist orange, Weg 2 ist grün markiert. Die Wege bestehen aus insgesamt je 7 Phasen, es wechseln sich horizontale und vertikale Wege ab. Die Variable phase gibt an, in welcher Phase sich das Fass gerade befindet. Programmiere zunächst den Weg 1 für Fass1 ein. Zunächst ist das Fass in der Phase 1. Erreicht es eine bestimmte x-position, wechselt es in Phase 2 usw. Es bietet sich ein switch-befehl an, um die einzelnen Phasen innerhalb der Methode bewegen() in der zu steuern. Weg 2 Weg 1 27

4 Außerdem musst du die Methode setzen() in der ergänzen: Zu Beginn wird die Variable phase auf den Wert 1 gesetzt, damit das Fass mit der Bewegung der ersten Phase beginnen kann. So in etwa sieht der Beginn der neuen Methode bewegung() aus. b) Bisher rollt das Fass immer auf dem Weg 1 herunter. Per Zufall soll nun entschieden werden, ob das Fass den Weg 1 oder Weg 2 wählt. Dazu wird die Methode setzen() durch das Ziehen einer Zufallszahl zwischen 1 (für Weg1) und 2 (für Weg2) ergänzt: Der Befehl Math.random() erzeugt eine Zufallszahl als Dezimalzahl (Typ double) zwischen 0 und 1 (jedoch kleienr als 1). Multipliziert man diese Zahl mit 2 liegt die Zufallszahl zwischen 0 und 2. Addiert man 1, liegt die Zufallszahl zwischen 1 und 3 (jedoch kleiner als 3). Der Befehl (int) bewirkt, dass der Datentyp Double in den Datentyp Integer durch Abschneiden der Nachkommastellen konvertiert wird: In der Variablen modus sind die Werte 1 und 2 jetzt mit gleicher Wahrscheinlichkeit vertreten. Anschließend wird die Methode bewegen() so verändert, wie rechts angegeben. Die alte Methode bewegen() wird umbenannt in bewegung1(). Die Methode bewegung2() wird neu geschrieben und enthält den zweiten im letzten Bild grün dargestellten Weg. Erkläre im Heft, was die neue Methode bewegen() in der bewirkt. Die neue Methode bewegen() benötigt dabei noch eine Get-Methode getphase(), die den Wert der Variablen Phase zurückliefert. Zum Schluss wird die Methode bewegungen() in der Klasse Gui verändert, wie Rechts angegeben. Erkläre im Heft, warum jetzt die beiden Fässer nacheinander herunterrollen. Damit Fass2 nicht sofort mit Fass1 zusammen herunterrollt, wird es im Konstruktor von Gui zunächst deaktiviert: fass2.aus(). Die Methode aus() in der setzt die Koordinaten ins Negative, so dass das Fass nicht sichtbar ist: Eine Kleinigkeiten noch: Auch das Fass2 muss noch in der Methode paint() der Klasse Gui gezeichnet werden. Probiere aus, ob die Fässer nun wie gewünscht auf zwei verschiedenen Bahnen herunterrollen und nach Ankunft eines Fasses ein neues gestartet wird. Eine Zufallszahl wird gezogen, die nur die Werte 1 und 2 annehmen kann Math.random () erzeugt eine Zufallszahl x mit Math.random () * erzeugt eine Zufallszahl x mit (int) variable wandelt den Wert eine Variable vom Typ double in einen Integerwert um durch Abschneiden der Nachkommastellen, dieser ist also entweder 1 oder 2. Die Methode bewegen() wird verändert. Die alte Methode bewegen() wird umbenannt in bewegen1(). Klasse Gui, Methode bewegungen() Die Methode bewegungen() in der Klasse Gui wird verändert. Klasse Gui, Konstruktor Der Konstruktor von Gui wird ergänzt: zu Beginn soll nur Fass1 herunterrollen. fass1.bewegen(); if ((fass1.getfassy() == 398) && (fass2.getphase() == 0)){ fass2.setzen(); } else{ fass2.bewegen(); } Die Methode paint() von Gui wird ergänzt: auch Fass2 muss regelmäßig gezeichnet werden. Klasse Gui, Methode paint(); 28

5 Aufgabe 5: Wenn Mario von einem Fass getroffen wird, muss er an seine Ausgangsposition zurück. Eine Methode public boolean getroffen (,) gibt es bereits in der. Erkläre im Heft mithilfe der folgenden Abbildung, wie diese Methode funktioniert: Eine Berührung findet statt, wenn die beiden Rechtecke überlappen: + 60 fassx fassx + 45 MarioY fassx Die Methode getroffen (..) erkennt, ob eine Berührung vorliegt So könnte die Erklärung anfangen: Bei einer Berührung muss der linke Rand des Fasses (fassx) kleiner sein als Wo muss das rechts abgebildete Programmstück hin, damit Mario tatsächlich bei jeder Kollision zurückgeschickt wird? Ergänze den if-befehl so, dass zusätzlich die Punktwertung um 50 Punkte reduziert wird. Außerdem sollte die Punktewertung niemals ins Negative rutschen. Probiere die Trefferwirkung aus. Völlig analog muss abgefragt werden, ob Mario von fass2 getroffen wurde. Ergänze den entsprechenden Befehl. Wenn eine Kollision zwischen dem fass1 und mario vorliegt, muss mario zurück in die Ausgangsposition Zusatzaufgabe1: In der Klasse Stern sollen 5 Sterne an zufälligen Positionen so gesetzt werden, dass Mario die Fässer nur durch Springen erreichen kann. Die Y-Koordinaten können sein 60, 210, 360 oder 470, sie haben jeweils den gleichen Abstand von 150. Die X-Koordinaten dürfen liegen zwischen 100 und 900. Überlege, wie die Zeilen zum Ziehen der Zufallszahlen der Koordinaten heißen müssen. Hier nochmals drei Beispiele, die genauso aufgebaut sind, wie das Ziehen der Zufallszahl modus in der Klassee Fass. Der grün dargestellte Bereich soll dir helfen zu erkennen, welche Zahlen jeweils in einen Integerwert umgewandelt werden: x1 = (int) ((Math.random() * 5); zieht eine Zufallszahl zwischen 0 und 4 (einschließlich 0 und 4) x1 = (int) ((Math.random() * 5) + 200); zieht eine Zufallszahl zwischen 200 und 204 x3 = ((int) (Math.random() * 5) ) * ; zieht eine Zufallszahl, die die Werte 10, 110, 210, 310,410 annehmen kann In der Klasse Gui musst du noch dafür sorgen, dass die 5 Sterne erzeugt und in der Methode paint() jeweils neu gezeichnet werden. Dazu werden jeweils die Methoden getsternx() und getsterny() benötigt, die die Koordinaten der Sterne zurückliefern. Probiere aus, ob die Sterne tatsächlich an passenden Positionen zu sehen sind. Zusatzaufgabe 2: Der Punktstand soll immer um 10 erhöht werden, wenn Mario ein Stern berührt hat. 29

Greenfoot: Verzweigungen

Greenfoot: Verzweigungen Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein

Mehr

8.6 Visualisierung der Sortieralgorithmen

8.6 Visualisierung der Sortieralgorithmen 8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein

Mehr

Workshop zu Folge 9.3 Überarbeitete Version vom Mai 2016

Workshop zu Folge 9.3 Überarbeitete Version vom Mai 2016 Workshop zu Folge 9.3 Überarbeitete Version vom Mai 2016 Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes.

Mehr

Praktikum 4: Grafiken und Ereignisse

Praktikum 4: Grafiken und Ereignisse Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das

Mehr

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

- EINSTIEG IN JAVA - (1/5) Datum: - 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)

Mehr

Projekt: Staubsauger-Roboter

Projekt: Staubsauger-Roboter Projekt: Staubsauger-Roboter Ziel: Programmiere einen Staubsauger-Roboter, der von einer einfachen künstlichen Intelligenz (KI) gesteuert wird und dabei den Boden eines Raumes reinigt. Hinweise: Die Anleitung

Mehr

Kapitel 18 Jetzt kommt Bewegung ins Spiel

Kapitel 18 Jetzt kommt Bewegung ins Spiel Kapitel 18 Jetzt kommt Bewegung ins Spiel Seite 1 / 10 Kapitel 18 Jetzt kommt Bewegung ins Spiel Lernziele: In diesem Kapitel lernst du das Importieren von Java-Bibliotheksklassen. Wiederholung: Bei den

Mehr

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen. Projekt: Staubsauger-Roboter Immer beliebter werden die kleinen automatischen Haushaltshilfen. Du sollst nun einen Staubsauger-Roboter programmieren, der gesteuert von einer künstlichen Intelligenz (KI)

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

1 - EIN NEUES GAMEGRID ANLEGEN

1 - EIN NEUES GAMEGRID ANLEGEN 1 - EIN NEUES GAMEGRID ANLEGEN EIN NEUES GAMEGRID ANLEGEN 1. Schritt: Ein neues Java-Projekt anlegen: 2. Schritt: Namen des Projekts angeben und auf Next klicken (Achtung: Nicht auf Finish klicken) 3.

Mehr

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen Flappy Bird Greenfoot Station : Flappy erstellen und bewegen In diesem Arbeitsblatt geht es darum, dass bekannte Spiel Flappy Bird zu erstellen, indem das Spielfeld erstellt wird. Flappy erstellt wird.

Mehr

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

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

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

Space Shooter. Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen. Space Shooter 1. Grundlegende Funktionen Lade das Szenario SpaceShooter-0. In diesem Spiel soll zunächst nur Folgendes geschehen: Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen.

Mehr

Wenn, wenn und noch mal wenn

Wenn, wenn und noch mal wenn OOP Henrik Horstmann 23. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Das Spiel...2 3 Das Spielfeld...2 4 Jetzt kommt der Ball ins Spiel...3 4.1 Der Ball kommt ins

Mehr

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code: 7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen

Mehr

1) Wie erstelle ich ein neues Programm? 2) Wie füge ich ein neues Objekt hinzu? 3) Wie starte ich mein Programm?

1) Wie erstelle ich ein neues Programm? 2) Wie füge ich ein neues Objekt hinzu? 3) Wie starte ich mein Programm? 1) Wie erstelle ich ein neues Programm? 2) Wie füge ich ein neues Objekt hinzu? 3) Wie starte ich mein Programm? 4) Wie platziere ich mein Objekt auf der Bühne? Erstelle dafür ein neues Programm. In diesem

Mehr

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen

Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen Flappy Bird BlueJ Station 1: Flappy erstellen und bewegen In diesen Arbeitsblatt geht es darum, dass Flappy erstellt wird. Flappy sich automatisch nach unten bewegt. die Tastatur benutzt werden kann, um

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. Processing Basics 2. Übung 1. Aufgabe 1 2. Strings & Arrays 2. Aufgabe 1-A 3. Klassen

Mehr

Kapitel 1: Die ersten Schritte 1

Kapitel 1: Die ersten Schritte 1 Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1 Kapitel 1: Die ersten Schritte 1 Starten Sie Eclipse. Importieren Sie das Eclipse-Projekt scenarios-chapter-1. Gehen Sie in den Unterordner

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Actionscript Kleine Programme Fragen & Aufgaben

Actionscript Kleine Programme Fragen & Aufgaben Verständnisfragen 1. Eine Variable des Typs Number mit Namen superzahl soll deklariert werden und den Wert 77 zugewiesen bekommen. Wie sieht der Code aus? 2. Wann braucht es ein einzelnes Gleichheitszeichen,

Mehr

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara.

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara. Informatik 11: Einführung in Java Kara legt Muster!(Lsg.) Gierhardt Aufgaben: 1. KARA soll ein mit Kleeblättern gefülltes Quadrat mit variabler Seitenlänge ablegen. Der Methodenaufruf quadratzeichnen(5)

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

11. GUI-Programmierung mit SWING Überblick

11. GUI-Programmierung mit SWING Überblick 11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

3. Bedingte Anweisungen

3. Bedingte Anweisungen 3. Bedingte Anweisungen Fallunterscheidungen der Form WENN...DANN... in der Informatik kennst du aus der 7. Klasse beim Programmieren mit Karol sowie aus der 9. Klasse beim Arbeiten mit Tabellen und Datenbanken.

Mehr

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es.

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es. In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es. Im Spiel fällt ein Meteor vom oben zum unteren Rand. Das Raumschiff

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll

Mehr

tdaten=record name : string; alter: integer; groesse:real; end;

tdaten=record name : string; alter: integer; groesse:real; end; tdaten=record - Zugriff auf Felder (name, alter, groesse) über externe Methoden, die für jede Unit und jede Variable dieses Records neu geschrieben werden müssen - Zugriff nicht kontrollierbar (immer Schreib-

Mehr

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw. Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Java Kurzanleitung Kapitel 1 Kontrollstrukturen:

Java Kurzanleitung Kapitel 1 Kontrollstrukturen: Java Kurzanleitung Kapitel 1 Kontrollstrukturen: 1. If-Befehl (Bedingte Anweisung) Die bedingte Anweisung besteht aus einer Bedingung, deren Wahrheitswert wahr oder falsch sein kann. Ist der Wahrheitswert

Mehr

16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz

16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz 16 Zeichnen in Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 16.1 Grafische Darstellung von Komponenten Der Repaint-Manager sorgt für die grafische Darstellung der Komponenten Aktivierung beim erstmaligen

Mehr

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 13 Juli 2009 Klausur Informatik, EDV-Nr 40301 Seite 1 von 6 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: Bearbeitungszeit: alle außer tragbare Computer und Nachbar

Mehr

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public

Mehr

1 Grundlagen der Objektorientierung

1 Grundlagen der Objektorientierung Kapitel 1 Grundlagen der Objektorientierung Seite 1/8 1 Grundlagen der Objektorientierung Dieses Kapitel stellt eine solide, pragmatische Einführung in die fundamentalen Konzepte der Objektorientierung

Mehr

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

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt.

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. Programmieraufgaben 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. 2. Netto-Brutto-Rechner: Schreibe ein Programm, bei dem der Nutzer einen Preis ohne Steuer

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

7.5 Mit bunten Kreisen spielen

7.5 Mit bunten Kreisen spielen Workshop (fakultativ) 7.5 Mit bunten Kreisen spielen In diesem fakultativen Workshop wollen wir mit Objekt-Arrays arbeiten. Sie erinnern sich an die Klasse Kreis, die wir in der Folge 5 konstruiert hatten.

Mehr

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG Unter objektorientierter Modellierung versteht man das detailgetreue Darstellen einer zu programmierenden Szene durch Skizzen in UML. UML steht für Unified Modelling

Mehr

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

Mehr

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften

Mehr

OOP. Felder von Objekten. Henrik Horstmann

OOP. Felder von Objekten. Henrik Horstmann OOP Henrik Horstmann 23. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Was ist eine Feldvariable?...2 2.1 Feldvariablen deklarieren...2 2.2 Anlegen einer Feldvariable...3

Mehr

JAVA für Nichtinformatiker - Probeklausur -

JAVA für Nichtinformatiker - Probeklausur - JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Vererbung in der objektorientieren Programmierung

Vererbung in der objektorientieren Programmierung Vererbung in der objektorientieren Programmierung Stage Stage(title:String,width:Integer:height:Integer) addstageobject(obj:stageobject) getheight():integer getstageobjectbyname(id:string) getwidth():integer

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

OOP. Wenn Computer Erben. Henrik Horstmann

OOP. Wenn Computer Erben. Henrik Horstmann OOP Henrik Horstmann 2. Dezember 2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Die Erben...2 2.1 Das Beispiel...2 2.2 Gemeinsamkeiten...2 2.3 Unterschiede...3 3 Lösung durch

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

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

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Abstrakte Klassen, Interfaces

Abstrakte Klassen, Interfaces Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

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

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele: Parallele Prozesse SWE-131 Prozeß: Ausführung eines sequentiellen Programmstückes in dem zugeordneten Speicher (Adressraum). Veränderlicher Zustand: Speicherinhalt und Programmposition. Parallele Prozesse:

Mehr

Arbeitsblatt 6: Programmierung geometrischer Figuren

Arbeitsblatt 6: Programmierung geometrischer Figuren Arbeitsblatt 6: Programmierung geometrischer Figuren Die Karten, auf denen die Lärmmessungen dargestellt werden, bestehen aus einer Vielzahl geometrischer Formen. Diese geometrischen Formen ergeben zusammen

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

MIA INFORMATIK Scratch Übungen

MIA INFORMATIK Scratch Übungen Übung 1: Fledermaus-Spiel Gemeinsam mit L am Beamer: Spiel Fledermaus-Klicken: siehe Blatt Programmieren mit Scratch Einführung Übung 2: Ball - Figur: Basketball (andere Figuren löschen) / Ausgangsposition

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301

Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Aufgabe 8: Implementierung eines Ereignis-Automaten a) Modellieren Sie einen Ereignis-Automaten für den in der Abbildung dargestellten und in Calculator.java

Mehr

PacBoy steuern, Bild auswählen, fillworld() ( PacBoy_00) public class PacBoy extends Actor { public void act() { // Tasten prüfen: this.

PacBoy steuern, Bild auswählen, fillworld() ( PacBoy_00) public class PacBoy extends Actor { public void act() { // Tasten prüfen: this. OOP: PACBOY Das Spiel, das wir programmieren werden, orientiert sich am legendären Spiel Pac-Man aus dem Jahr 1980. Ein gelber Smiley bewegt sich durch ein Labyrinth und sammelt Früchte auf. Dabei darf

Mehr

Programmieren mit xlogo

Programmieren mit xlogo Programmieren mit xlogo XLogo ist eine einfache Programmiersprache um die Grundbegriffe des Programmierens zu erlernen. Wir wollen hier der Frage nachgehen, was Programmieren überhaupt ist. Ich möchte

Mehr

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 9 Übungen: Applets Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 1. Java-Applet mit Text 2. Java-Applet mit Bild und Text 3. Java-Applet mit Grafik 9 Applets 4. Java-Applet

Mehr

5 Das Projekt Apfelwein

5 Das Projekt Apfelwein Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 1 5 Das Projekt Apfelwein Bemerkung: In der 10. Jahrgangsstufe (G8) werden die Schüler in die zustandsorientierte Programmierung eingeführt. Dies

Mehr

Klassen-Diagramm. spielt mit > 1. schlägt mit > 1. hat als Rand > enthält > 1. besteht aus >

Klassen-Diagramm. spielt mit > 1. schlägt mit > 1. hat als Rand > enthält > 1. besteht aus > Inf-10 NTG Objektorientiertes Programmieren Proje kt Breakout StR ef F l ori an Fuc hs, OSt R Mic hae l Ganshorn 1 JAVA-Projekt : Das Spiel Breakout Eines der beliebtesten Spiele der späten 1970er Jahre

Mehr

Grundlegende Programmierkonzepte: Variablen, Methoden-Parameter, Rückgabewerte

Grundlegende Programmierkonzepte: Variablen, Methoden-Parameter, Rückgabewerte Grundlegende Programmierkonzepte: Variablen, Methoden-Parameter, Rückgabewerte Erklärungen zu Methoden- Parametern Kara soll vor sich eine Spur von x Kleeblättern legen. Die Anzahl x sei variabel. Karas

Mehr

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

14. Java Objektorientierung. Klassen, Vererbung, Kapselung 427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen

Mehr

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4 Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Zeichnen 5 Layout Manager 6 Komplexere Swing Komponenten

Mehr