Domanda

Sto facendo un clone di Tetris in C # con XNA, e io sono sicuro di come implementare in realtà i blocchi.

Non credo che, per rendere le forme come immagini funzionerà (perché le parti vengono rimossi quando si formano le linee), così ho blocchi di recuperare i pezzi come Questo .

Purtroppo, non so come definire in realtà i blocchi per rendere i pezzi, né so come manipolare loro per farli ruotare, ecc.

Modifica:. Vorrei anche bisogno di assistenza per imparare a fare anche la griglia Tetris

È stato utile?

Soluzione

Non ho creato tetris prima, ma dopo un po 'pensare, credo che avrei usato una semplice matrice per creare i miei pezzi. Ad esempio, il gioco da tavolo tutto sarebbe una grande matrice. Un sottoinsieme di detta matrice, per esempio un blocco 4x4 di essa, sarebbe una pedina. Quali parti di quel blocco 4x4 sarebbe stato riempito sarebbero determinate da quale pezzo particolare che si desidera creare. Ogni parte della matrice può avere un flag booleano che indica se è pieno o no. Questa è una visione molto semplicistica di esso, ma penso che sia una soluzione praticabile.

Altri suggerimenti

Utilizzare una matrice booleana per modellare lo stato dello schermo. Ogni pezzo è essa stessa un'altra matrice booleana più piccolo.

Rotazione di un pezzo è semplice come giocare con le coordinate un po '(ho lasciato questo a voi).

A proposito di come rendere, solo disegnare una piastrella pezzo per ogni vero valore nella vostra ored matrice con il pezzo che cade corrente spostato e ruotato.

Per i blocchi, vi consiglierei vivamente di lavorare in 3D. È comunque possibile effettuare il gioco sembrare 2D bloccando la macchina fotografica, ecc, ma si potranno beneficiare molto da lavorare in grafica vettoriale. I blocchi saranno cubetti semplici (piane o con una certa profondità) che si ruotare e spostare intorno allo schermo.

Per la griglia, guarda @ FORTRAN e di @ risposte di Aaron, una matrice booleana farà il trucco.

Forse questo link per Coding4Fun aiuterà . E 'in tedesco, ma si dovrebbe essere in grado di ottenere il codice sorgente e dare uno sguardo su come il problema è risolto qui.

Giusto per essere sicuri, qui il link per il download diretto .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top