Frage

Ich mache eine Tetris Clone in C # mit XNA, und ich bin nicht sicher, wie man tatsächlich die Blöcke implementieren.

Ich glaube nicht, dass die Formen als Bilder machen funktioniert (weil Teile entfernt werden, wenn Linien gebildet werden), so blockiert Ich habe die Stücke wie Dieses .

Leider weiß ich nicht, wie man tatsächlich die Blöcke zu definieren, um die Stücke zu machen, noch ich weiß, wie sie zu manipulieren, um sie zu drehen, etc.

Edit:. Ich würde auch Hilfe brauchen zu lernen, wie das Tetris Grid zu machen

War es hilfreich?

Lösung

Ich habe tetris nicht vor erstellt, aber nach einiger Überlegung, ich glaube, dass ich eine einfache Matrix verwenden würde meine Stücke zu schaffen. Zum Beispiel würde Ihr ganzes Spielbrett eine große Matrix. Eine Teilmenge dieser Matrix, sagen wir ein 4x4-Block von ihm, wäre ein Spielstück sein. Welche Teile dieser 4x4-Block gefüllt werden würde würde durch die besondere Stück, das Sie erstellen möchten, festgelegt werden. Jeder Teil der Matrix kann ein boolesches Flag hat, die anzeigen würde, wenn es gefüllt ist oder nicht. Dies ist eine sehr vereinfachende Sicht davon, aber ich denke, es ist eine praktikable Lösung.

Andere Tipps

Verwenden Sie einen boolean Matrix, die den Zustand des Bildschirms zu modellieren. Jedes Stück ist selbst eine andere kleinere boolean Matrix.

ein Stück Rotierende ist so einfach wie mit den Koordinaten ein wenig zu spielen (ich dir das links).

Darüber, wie einfach zu machen, ein Stück Fliese für jeden wahren Wert in der Matrix ored mit dem aktuellen fallenden Stück zieht verschoben und gedreht werden.

Für die Blöcke, würde ich dringend empfehlen die Arbeit in 3D. Sie können immer noch das Spiel aussehen wie 2D machen, indem die Kamera usw. sperren, aber Sie werden eine Menge von der Arbeit in Vektorgrafiken profitieren. Ihre Blöcke werden einfache Würfel (flach oder mit einem gewissen Tiefe), dass Sie drehen und den Bildschirm bewegen.

Für das Gitter, Blick auf @ Fortran ist und @ Aarons Antworten, eine Boolesche Matrix wird den Trick tun.

Vielleicht um diesen Link zu Coding4Fun helfen . Es ist in Deutsch, aber Sie sollten den Quellcode bekommen können, und werfen Sie einen Blick auf, wie über das Problem hier gelöst ist.

Nur um sicherzugehen, hier die Direct Downloads .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top