Aufgabenblatt 4 - Funktionen und Objektorientierung

Ähnliche Dokumente
SCRATCH. Beispiel 1. "Pong"

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Arbeitsblatt 6: Programmierung geometrischer Figuren

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

Aufgabenblatt 9. Die Abgabe muss bis Sonntag, 21. Juni 2009, 24 Uhr, erfolgen. Verspätet eingereichte Lösungen werden nicht berücksichtigt.

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

Graphic Coding. Klausur. 9. Februar Kurs A

Quelle: programmierung/scratch. Wiederholungen. Informatik AG Goetheschule Dieburg Christian Wach

MIA INFORMATIK Scratch Übungen

< UNTERRICHTSMATERIAL /> Calliope mini. Maulwurfspiel

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

Aquarium 6. Ein Aquarium soll her. Doch mit wie vielen Fischen? Das entscheidest du.

Coole Spiele mit Scratch Lerne programmieren und baue deine eigenen Spiele

Aufgabenblatt 1 Variablen, Operatoren, Verzweigungen

MIA INFORMATIK Scratch Übungen

Aufgabe: Versuche zunächst, die Katze von links nach rechts bewegen zu lassen.

Aufgabe 4 (Musterlösung) Corel Draw

So gibst du die Richtung mit einem Kompass vor

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Ökosystem Weiher. Handout

Arbeiten mit Auswahlwerkzeugen

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

Aufgabenblatt 1 - Variablen, Operatoren, Verzweigungen

Aufgabe 1 Erstelle mit Hilfe von GEOGEBRA ein dynamisches Geometrie-Programm, das die Mittelsenkrechte

C# Programmpaket: Das Grafikpaket

Processing Info zu Variablen und Bedingungen

Programmieren mit Scratch. Objekte, Methoden, Variablen und Kontrollstrukturen. Arbeitsheft. Jürgen Ullwer 1. Auflage, 2013 ISBN:

Aufgabenblatt 1. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt:

STADT, LAND, FLUSS PUNKTE STADT LAND FLUSS NAME TIER BERUF PFLANZE SPIELER: Hallo, mein Name ist...

Kinematik von Punktmassen. Aufgabe 1. Die durchschnittliche Geschwindigkeit eines Elfmeters im Fußball ist 120 km/h.

1 - EIN NEUES GAMEGRID ANLEGEN

Wie können See how wir far Enchanting away something mitteilen, is. dass am NXT der Lichtsensor an Port 3 angeschlossen ist?

Aufgabe 2 (Musterlösung) CorelDRAW

Aufgabe 4 (Musterlösung) CorelDRAW

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

SCHLAUER FUßBALL

Lerne programmieren mit Grundlagen

Tutorial zum Umgang mit Scratch

Spielregeln für Schach

Die Mausbedienung: Bedienung der Maus lernen

Greenfoot: Verzweigungen

Unterspiel Inhalt Lernvoraussetzungen Lernziele Schüler. gezielter Maus- oder Tastenklick zum richtigen Zeitpunkt

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen

Animation. Animation. Erstellen einer Karte: 2. Gib Klebstoff auf die Rückseite. 3. Schneide die Karte entlang der gestrichelten Linie aus.

Grundlagen Programmierung

Lerne programmieren mit Sequentielle Programmierung mit VPL

Strategisch vorgehen. In Rechtecken denken

Brettspiele (Mühlespiel)

Einfache Animationen in Microsoft Powerpoint (Win 2003) erstellen. 1.) Zunächst wird das Programm Powerpoint geöffnet.

TinkerCAD Basics. Eine kleine Übersicht über die wichtigsten Funktionen und Möglichkeiten beim 3D-Modellieren mit dem bowserbasierten TinkerCAD.

GerbView. 5. März 2017

Schach Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de

PROCESSING STRUKTUR UND INPUT. Created by Michael Kirsch & Beat Rossmy

Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)

Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner

HomeServer/ FacilityServer UND Verknüpfung

Aufgabenblatt 6. Vorbemerkungen. Programmiersprache Java Objektorientierte Programmierung II Sommersemester Mai 2009

6in1 Deluxe Spiele-Koffer. Spielanleitung

So funktioniert der Stundenplan Kurzanleitung zur Bedienung der einzelnen Funktionen auf

Schritt für Schritt. Einführung. Welches Ziel haben Sie im Spiel?

Damit du Scratch verwenden und deine Projekte auch gleich veröffentlichen und mit anderen teilen kannst brauchst du ein Scratch-Konto.

Einführung in die Programmiersprache SCRATCH

Mit dem Format das Thema aufgreifen

Luftballons. Einführung. Scratch. Wir wollen ein Spiel machen, bei dem man Luftballons platzen lässt! Activity Checklist.

Pacman's day. Story-Board: Insperationen: Erscheinungsjahr der einzelnen Spiele:

Actionscript Kleine Programme Fragen & Aufgaben

Python binderleicht! dpunkt.verlag. Übersetzung aus dem Amerikanischen. Einfach programmieren lernen. nicht. Jason Briggs.

Automation-Letter Nr Hannes Homburger und Daniel Wolf

Aktivitäten mit dem Roboter Thymio II für die Einführung in die Informatik und Robotik

3 Mit Programmen und Fenstern

Scrollrad (Mausrad) Mauspad

Der Kurs vermittelt schwerpunktmäßig Grundlagen im Fach Informatik und möchte den Schüler/innen Anwendungen zeigen, die sich mit Hilfe eines PCs

Halali Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

PC-Lernspiel: V/F. Hier kannst du das Spiel starten und beenden: Hier wechselst du in die Programmieransicht bzw. auf Vollbild.

Bedienungsanleitung Version: 1.0 Datum:

Programmieren mit xlogo

(1) Größe ändern Ändere die Größe eines Objektes.

Mit Hilfe dieser Anleitung erstellen Sie ein Arbeitsblatt und lernen dabei verschiedene Funktionen von Word kennen.

Objekte zeichnen, formatieren, anordnen

Einfache Animationen in Microsoft Powerpoint (Win 2010) erstellen

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1

Die Platzierung im Seitenbehang

Sicher Rad fahren Regeln und Tipps

Kurze Einführung in die Arbeit mit dem Programm EUKLID ( Ac / 2008 )

Pick and Pack Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de

Seminar S3: Simulationen

Objektorientierte Programmierung

1, 2, 3 Addieren und Subtrahieren im Zahlenraum bis 20

JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft

FACTORY LAYOUT & MECHANICAL HANDLING

Zusatzaufgabe 1: Wenn ein Auto die Katze berührt, ändert sie ihr Kostüm

Thema: Der Schmetterling Gegenstand: Bildnerische Erziehung Schulstufe/n: 3. und 4. Klasse

OOP Projekt. Broken Dreams. Henrik Horstmann

Kalender, Kalender 11

10.2 Grafische QM-Verfahren 1

Einführungsbeispiel in das Programmiersystem CoDeSys

Erstellen von Flucht- und Rettungsplänen mittels Zusatztool Flucht Rettung Feuerwehr

1 Fragen aus dem Unterricht zu Projekt Garten

Computer Schulung WINDOWS 8 / 8.1

Transkript:

Aufgabenblatt 4 - Funktionen und Objektorientierung Aufgabe 1 Fingerübungen 1. Ergänze den folgenden Code, indem du die Funktionen drawrandomshape und randomcolor implementierst. void setup () { size (400,300); } void draw () { drawrandomshape ( random ( width ), random ( height ), randomcolor ()); } 2. Erstelle eine Klasse Ball, mit den Variablen x und y für die Position des Balls und vx für die Geschwindigkeit in x-richtung. Gib der Klasse außerdem noch eine Methode display, die den Ball an seiner aktuellen Position zeichnet und eine Methode move, die den Ball bewegt indem vx auf x aufaddiert wird. Wenn der Ball dabei die Grenzen des Fensters verlässt, soll die Geschwindigkeit umgekehrt werden. Erstelle in setup ein Ball-Objekt und simuliere seine Bewegung, indem du in draw die Methoden move und display aufrufst. 3. Erweitere das Programm aus Fingerübung 2, indem du mehrere Bälle mit unterschiedlichen y- Werten simulierst. Danach kannst du ihnen auch noch eine Geschwindigkeit vy in y-richtung geben, um sie wild durchs Bild springen zu lassen. Aufgabe 2 Pumpendes Herz Zeichne die Umrisse eines realistischen Herzens und lasse das Herz pumpen. Die einfachste Variante ist, das Herz einfach kleiner und größer zu skalieren. Vielleicht kannst du aber auch eine Regel finden, die ein realistischeres Pumpen simuliert. Aufgabe 3 Brückenkurs-Quiz Schreibe ein Quiz, bei dem auf dem Bildschirm immer eine Frage und vier mögliche Antworten angezeigt werden. Klickt man auf eine Antwort, wird angezeigt ob diese die richtige war und die nächste Frage erscheint. Zähle dabei mit, wie viele Fragen der Benutzer richtig beantwortet hat und wie viele falsch waren. Als Fragen kannst du Inhalte des Brückenkurses nehmen (z.b. Welches dieser Zeichen ist kein Java-Operator? ). Aufgabe 4 Roboterarm Schreibe ein Processing-Programm, das einen Roboterarm mit vier Gelenken simuliert. Der Benutzer soll den Arm bewegen können, indem er mit den Zahlentasten 1 bis 4 ein Gelenk auswählt Aufgabenblatt 4 - Funktionen und Objektorientierung 1/ 7

und mit den Pfeiltasten die Gelenkstellung ändert (größerer/kleinerer Winkel). Zeichne auch eine kleine Kiste, die der Benutzer mit dem Roboterarm aufheben muss. Hinweis: Am direktesten kannst du den Arm darstellen, wenn du für jedes Segment einfach nur ein Rechteck zeichnest, das mit den Funktionen translate und rotate an die richtige Stelle gebracht wird. Aufgabe 5 Kanonenspiel Schreibe ein Spiel, bei dem der Benutzer mit der Maus eine Kanone ausrichten und mit einem Klick abfeuern kann. Ziel des Spiels ist es, eine Zielscheibe zu treffen. Du kannst das Spiel noch interessanter machen, indem du z.b. das Ziel sich bewegen lässt oder Wind einbaust, der sich bei jedem Schuss wieder ändert. Hinweis: Die Kanonenkugel bekommt von der Kanone eine Initialgeschwindigkeit. Ab diesem Zeitpunkt wird diese Geschwindigkeit nur noch von der Gravitation beeinflusst (Beschleunigung nach unten). Aufgabe 6 Netzwerksimulation Schreibe eine kleine einfache Simulation eines Netzwerks aus mehreren Rechnern. Du kannst die Rechner einfach als Rechtecke darstellen, die mit Linien verbunden sind. Zwischen den Rechnern sollen Nachrichten als kleine Kreise hin und her wandern können. Stelle zunächst einen einfachen Ping zwischen zwei Rechnern dar: Der erste Rechner schickt eine Anfrage und der zweite Rechner antwortet auf diese Anfrage. Wenn du dieses Programm mit Funktionen und Klassen strukturierst, wird es dir sicher leicht möglich sein, größere Netzwerke zu simulieren. Vielleicht kannst du sogar einen TCP-Handschake Aufgabenblatt 4 - Funktionen und Objektorientierung 2/ 7

(SYN, SYN-ACK, ACK) darstellen? Aufgabe 7 Räuber-Beute-Simulation Programmiere eine einfache Räuber-Beute-Simulation. Teile dazu den Anzeigebereich in ein Gitter ein, auf dem sich Beutetiere und Räuber bewegen können. Sowohl Raubtiere als auch Beutetiere können sich pro Schritt um ein Feld vorwärts bewegen. Beutetiere müssen Nahrung finden und fressen, um sich dann vermehren zu können. Räuber müssen Beutetiere fressen und vermehren sich langsamer als die Beutetiere. Du kannst für eine einfache Simulation einfach zufällig Nahrung, Räuber und Beute in den Gitterfeldern verteilen und Räuber- und Beutetiere sich zufallsgesteuert bewegen lassen. Du kannst aber natürlich danach auch versuchen, den Tieren noch ein wenig mehr Intelligenz mit auf den Weg zu geben. Aufgabe 8 Ampelschaltung Simuliere eine Kreuzung auf der Autos von allen Richtungen zufahren. Du kannst dabei annehmen, dass alle Autos nur geradeaus fahren und niemals abbiegen. Kollisionen sollen dabei kenntlich gemacht werden. Füge jetzt im nächsten Schritt eine Ampel an der Kreuzung ein und baue die Ampelschaltung so, dass keine Unfälle mehr entstehen. Kannst du das Programm noch erweitern, so dass manche Autofahrer doch abbiegen können? Aufgabe 9 Aufzug Simuliere einen Aufzug in einem Hochhaus. Der Benutzer soll in jedem Stockwerk auf einen Knopf drücken können, um den Aufzug zu rufen. Was macht der Aufzug, wenn er zu mehreren Stockwerken gleichzeitig gerufen wird? Wenn du möchtest, kannst du auch kleine Strichmännchen animieren, die den Aufzug betreten und verlassen. Aufgabe 10 Hau den Maulwurf Programmiere eine Variante des Spiels Hau den Maulwurf, bei dem Maulwürfe oder andere schlagenswerte Figuren aus Löchern im Boden auftauchen und der Benutzer sie schnell genug Aufgabenblatt 4 - Funktionen und Objektorientierung 3/ 7

durch klicken der Maustaste treffen muss. Aufgabe 11 Taschenrechner Programmiere einen voll funktionstüchtigen Taschenrechner. Kannst du es schaffen, dass man das Gefühl hat, die Tasten werden wirklich nach unten gedrückt, wenn man mit der Maus darauf klickt? Aufgabe 12 Förderband Programmiere ein Förderband, auf das der Benutzer per Drag&Drop kleine Kisten legen kann. Es reicht dabei aus, wenn das Förderband nur aus horizontalen und vertikalen Streifen zusammengesetzt ist. Aufgabe 13 Paprikafarm Programmiere ein Bewässerungssystem für eine spanische Paprikafarm. Stelle die Pflanzen grafisch dar zusammen mit einem Feuchtigkeitsmessstab. Mit der Zeit sollen die Paprika langsam austrocknen. Das Bewässerungssystem soll dafür sorgen, dass immer genug Wasser vorhanden ist, aber auch nicht zu viel. Programmiere Warnmeldungen für beide Fälle ein und implementiere dann das Bewässerungssystem selbst. Es wäre allerdings natürlich ineffizient, das System ständig für ganz kurze Zeitspannen anspringen zu lassen. Baue daher auch einen zeitlichen Mindestabstand zwischen zwei Bewässerungsphasen ein. Aufgabe 14 Verbrennungsmotor Simuliere grafisch die Funktionsweise eines typischen Viertakt-Ottomotors. Aufgabe 15 Türme von Hanoi Das Spiel Die Türme von Hanoi basiert auf einfachen regeln. Es gibt drei Stangen, wobei auf der ersten Stange mehrere Scheiben mit einem Loch in der Mitte aufeinandergestapelt sind. Die Scheiben haben unterschiedliche größe, wobei die größte Scheibe immer unten liegt. Der Spieler muss alle Scheiben vom Startstapel (links) auf den rechten Stapel legen. Dabei kann er immer nur die oberste Scheibe von einem Stapel aufnehmen und darf nie eine größere Scheibe auf eine kleinere legen. Aufgabenblatt 4 - Funktionen und Objektorientierung 4/ 7

Programmiere dieses Spiel, indem der Benutzer jeweils auf den Stapel klicken kann von dem er eine Scheibe nehmen kann, um dann auf den Stapel zu klicken, wo er sie ablegen möchte. Aufgabe 16 Minigolf Programmiere ein Minigolfspiel. Es reicht dazu, wenn du die Ränder von Hindernissen als Linien darstellst und in jedem Schritt prüfst ob diese den Ball berühren. Ist dies der Fall, prallt der Ball an der Wand im gleichen Winkel ab, mit dem er aufgetroffen ist. Aufgabe 17 Logische Schaltkreise Simuliere einen logischen Schaltkreis, indem du die folgenden Elemente (sinnvollerweise als Klassen) definierst. Ein Taktgeber, dessen Ausgang bei einem Rechtsklick von 0 zu 1 und bzw. umgekehrt von 1 zu 0 wechselt. Ein Schalter, den der Benutzer durch Linksklick mit der Maus an und ausschalten kann. Ein NOT-Gatter, das den Eingabewert umkehrt. Ein AND-Gatter, das nur 1 ausgibt, wenn beide Eingänge den Wert 1 haben. Sonst ist die Ausgabe 0. Ein OR-Gatter, das nur 0 ausgibt, wenn beide Eingänge den Wert 0 haben. Sonst ist die Ausgabe 1. Ein Eingabesignal, das dauerhaft entweder 1 oder 0 ausgibt. Jedes dieser Elemente soll grafisch dargestellt werden, wobei Verbindungen, die den Wert 1 haben, rot markiert werden sollen. Kannst du auf diese Weise einen Schaltkreis bauen, der zwei 3-Bit zahlen addiert? Aufgabe 18 Labyrinth Schreibe ein Spiel, bei dem man sich mit einer Figur durch ein Labyrinth bewegen und den Ausgang suchen muss. Um das Spiel interessanter zu machen, kannst du auch noch Gegner einbauen und Objekte, die man aufsammeln kann ähnlich wie bei Pacman. Aufgabenblatt 4 - Funktionen und Objektorientierung 5/ 7

Aufgabe 19 Schwarmverhalten Das Schwarmverhalten von Vögeln oder Fischen lässt sich mit drei erstaunlich einfachen Regeln simulieren, denen jedes Individuum folgt: Kohäsion: Bewege dich in Richtung des Zentrums deiner Nachbarn. Separation: Bewege dich weg, wenn dir jemand zu nahe kommt. Alignment: Bewege dich etwa in die selbe Richtung wie deine Nachbarn. Simuliere basierend auf diesen Regeln einen Schwarm. Aufgabe 20 Space Invaders Programmiere ein Spiel bei dem der Spieler mit einem Raumschiff durchs Weltall fliegt und aus der Vogelperspektive Sterne an sich vorbei fliegen sieht. Setze dann gegnerische Raumschiffe in die Welt ein, denen man ausweichen muss und die man selbst abschießen kann. Aufgabe 21 Snake Programmiere das Spiel Snake nach. Dabei bewegt sich eine Schlange auf einem Raster in horizontaler bzw. vertikaler Richtung. Der Spieler kann die Richtung mit den Pfeiltasten wechseln und muss Futter aufsammeln, was die Schlange jedes mal um ein Kästchen größer werden lässt. Trifft der Spieler dabei den Schwanz der Schlange oder die Wand, hat er das Spiel verloren. Aufgabenblatt 4 - Funktionen und Objektorientierung 6/ 7

Aufgabe 22 Schiffe Versenken Programmiere das Spiel Schiffe versenken. Zeige dabei abwechselnd den Spielzustand für Spieler 1 und für Spieler 2 wenn der jeweilige Spieler an der Reihe ist. Es muss möglich sein auf einem zweidimensionalen Feld Schiffe von unterschiedlicher Größe zu platzieren und dann durch Mausklick auf einzelne Positionen zu feuern, wobei immer angezeigt wird ob man ein gegnerisches Schiff getroffen hat oder nicht. Aufgabe 23 Mastermind Mastermind ist ein bekanntes Knobelspiel. Es geht dabei darum, eine Kombination von vier farbigen Kugeln zu erraten. Der Mastermind wählt sich eine Kombination und der Gegenspieler versucht in jedem Zug diese Kombination zu erraten. Der Mastermind muss seinem Gegner dabei wahrheitsgemäß sagen, wie viele Kugeln eine Farbe haben, die in der gesuchten Kombination vorkommt und wie viele Kugeln tatsächlich völlig richtig platziert wurden (Farbe und Position). Programmiere das Spiel nach, wobei der Rechner die Rolle des Mastermind übernimmt. Aufgabe 24 Zombieepidemie Simuliere den Ausbruch einer Zombieepidemie. Platziere dazu Menschen an zufälligen Positionen, die sich frei in zufällige Richtungen bewegen können. Durch einen Mausklick kann der Benutzer beliebige Menschen infizieren und sie zu Zombies machen. Zombies bewegen sich auch zufällig - außer sie sehen einen Menschen in ihrer Nähe, dann bewegen sie sich direkt auf ihn zu und versuchen ihn zu beißen. Du kannst bei einem Kampf von Mensch und Zombie eine Wahrscheinlichkeit dafür einbauen, dass der Mensch gebissen wird oder dass er den Zombie töten kann. Hinweis: Am schönsten sieht die Bewegung der Figuren aus, wenn du die Fortbewegungsgeschwindigkeit von der Richtung der Fortbewegung trennst und nur die Richtung zufällig veränderst. Aufgabenblatt 4 - Funktionen und Objektorientierung 7/ 7