V11 Auflösen der Formen Abräumen der Reihen. Erweiterung der Klasse ultris class ultris { private: … void aufloesen() void aufruecken() public: … }

Slides:



Advertisements
Ähnliche Präsentationen
Klassen - Verkettete Liste -
Advertisements

Konzepte objektorientierter Systeme
VO2 Laden und Initialisieren der Sounds. Wir wollen Sounds in unsere Applikation laden Menü erweitern –um den Menüpunkt Sound –mit dem Identifier ID_ULTRIS_SOUND.
Ultris Version 8: Erzeugen der Formen und Anzeigen der Vorschau
Ultris V10 Bewegen, Drehen und Kollisionserkennung.
V11 Auflösen der Formen und Abräumen der Reihen. Zwei neue Methoden ___________________________________ class ultris { private: … void aufloesen(); void.
Java: Dynamische Datentypen
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
V10: Bewegen der Formen und Kollisionserkennung Steuerung der Spielsteine durch Tastenbefehle (Übersicht der Befehle unter der Hilfe)
V09 Fallende Formen, Geschwindigkeitsregelung und Timing Daniel Ebner Spieleprogrammierung mit DirectX und C++
Softwaretechnologie II WS 08/09 SpieleProgrammieren UlTris V07 Reihen vorbelegen, Spielfeld anzeigen und Punktestand ausrechnen Sibylle C. Schellhorn,
Vers. 6: Der Konfigurationsdialog Quelle: Spieleprogrammierung mit DirectX und C++, U. Kaiser und P. Lensing, Galileo Computing (2007)
Spieleprogrammierung mit DirectX und C++
V03 Laden und Speichern von Spielfeldern und der Spielfeldeditor.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.

3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Diskrete Mathematik I Vorlesung 6 Binärer Suchbaum II.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Zusammenfassung Vorwoche
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Eigene Metoden (Turtle-Paket (C) Taulien 2003)
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Cursor-Konzept u Zugriff auf Mengen von Ergebnistupeln u In SQLJ Iteratoren u Vergleichbar.
3D Programmierung Version 12 - Highscores. Die vom Spieler erzielte Punktzahl wird mit 5 vorgegebenen Punktzahlen verglichen und, falls nötig, in die.
Template Pattern Richard Göbel.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Rekursive Funktionen (Fakultät)
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Die Zählschleife int s = 0 for (int k=1; k
Informatik 1 Übung 4.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
early binding (frühe Bindung) late binding (späte Bindung)
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Binärer Suchbaum I-
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Tutorium Software-Engineering SS14 Florian Manghofer.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Venusspiegel und Marsschild
JAVA lernen: Methoden.
Rekursion – Speicherverwaltung
Zwei Denkansätze zur Klasse Schlange
Aufgaben zu Rückgabewerten
Wiederholungen mit Zähler
Die Klasse Vielfrass in Java
Felder in Java.
Cäsar-Verschlüsselung
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Cäsar-Verschlüsselung
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Grundkurs Informatik 11-13
Kara: act()-Methode.
Heapsort-Algorithmus
 Präsentation transkript:

V11 Auflösen der Formen Abräumen der Reihen

Erweiterung der Klasse ultris class ultris { private: … void aufloesen() void aufruecken() public: … }

10 20 Spielfeld Wenn eine Form den Boden erreicht, wird sie auf die Spielfeldmatrix projeziert Jede Form wird in ihre Einzelbausteine aufgelöst (void ultris::aufloesen()) Die Spielfeldmatrix merkt sich, an welchen Stellen sich Bausteine befinden Insbesondere stellt die Spielfeldmatrix fest, ob eine Reihe vollständig ist Vollständige Reihen werden abgeräumt und die Reihen darüber aufgerückt (void ultris::aufruecken())

void ultris::aufloesen() { int zz, ss; // Position in der Matrix des Spielfelds for ( int z = 0; z h; z++ ) // Form wird steinweise durchwandert { zz = zeile + z; // Position des nten Steins in der Matrix wird bestimmt (Zeile) for ( int s = 0; s b; s++ ) { ss = spalte + s; // die Position des nten Steins wird bestimmt (Spalte) if ( aktuelle->form()->data[z][s] ) { spielfeld[zz][ss] = 1; // Wenn Stein Position im Spielfeld wird markiert fuellstand[zz]++; // und der Füllstandzähler der Reihe wird erhöht }

void ultris::aufruecken() { for ( int z = 19, int a = 0; z >= 0; ) { if ( fuellstand[z] == 10 ) { for ( zz = z -1; zz >= 0; zz-- ) { for ( s= 0; s < 10; s++ ) { spielfeld[zz+1][s] = spielfeld[zz][s]; fuellstand[zz+1] = fuellstand[zz]; } else zz--; }