Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "V11 Auflösen der Formen Abräumen der Reihen. Erweiterung der Klasse ultris class ultris { private: … void aufloesen() void aufruecken() public: … }"—  Präsentation transkript:

1 V11 Auflösen der Formen Abräumen der Reihen

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

3 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())

4 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 }

5 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--; }


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

Ähnliche Präsentationen


Google-Anzeigen