J'essaie de faire mon premier jeu, un tetris de console. J'ai un bloc de classe, qui contient des entiers x et y. Ensuite, j'ai une classe Piece : List<Block>
, et une classe Pieces : List<Piece>
.Programmation de tetris de console C#. Faire bouger les pièces?
Je peux déjà générer aléatoirement des pièces et les faire tomber une ligne par seconde. Je n'ai toujours pas eu de détection de collisions, mais je pense que je sais déjà comment l'utiliser plus tard. Le problème est que je ne sais pas comment contrôler les pièces. J'ai lu un peu sur l'accrochage au clavier et vérifié quelques tutoriels tetris, mais la plupart d'entre eux sont pour les formulaires Windows, ce qui simplifie vraiment la gestion des événements et les autres. Alors ... Pouvez-vous s'il vous plaît me signaler le début du chemin pour contrôler les pièces sur une console? Merci!
public class Program
{
static void Main(string[] args)
{
const int limite = 60;
Piezas listaDePiezas = new Piezas(); //list of pieces
bool gameOver = false;
Pieza pieza; //piece
Console.CursorVisible = false;
while (gameOver != true)
{
pieza = CrearPieza(); //Cretes a piece
if (HayColision(listaDePiezas, pieza) == true) //if there's a collition
{
gameOver = true;
break;
}
else
listaDePiezas.Add(pieza); //The piece is added to the list of pieces
while (true) //This is where the piece falls. I know that I shouldn't use a sleep. I'll take care of that later
{
Thread.Sleep(1000);
pieza.Bajar(); //Drop the piece one row.
Dibujar(listaDePiezas); //Redraws the gameplay enviroment.
}
}
}
Qu'est-ce que vous utilisez pour votre interface utilisateur? Est-ce une application de console? –
Je recommanderais de ne pas faire une application de console pour cela parce que vous apprendrez des choses plus utiles en faisant une application visuelle. C'est peut-être plus facile à certains égards, mais je ne suis pas sûr. –
Oui. Je n'utilise rien en ce moment pour mon interface utilisateur. Jusqu'à présent, il s'agit juste d'un morceau de # tombant du milieu de l'écran. Merci CrazyJuggler, j'y ai pensé mais je voulais simplement m'en tenir aux bases maintenant. Travailler autour de la rotation, des collisions, du contrôle des pièces etc ... Je vais faire une version Windows après avoir fini avec celle-ci. – Uri