Я пытаюсь сделать свою первую игру, консольный тетрис.
У меня есть класс Block, который содержит целые числа x и y. Тогда у меня есть класс Piece : List<Block>
и класс Pieces : List<Piece>
.
Я уже могу случайным образом генерировать фигуры и заставлять их падать по одной строке в секунду. До сих пор я не дошел до обнаружения столкновений, но думаю, что уже знаю, как это решить позже.
Проблема в том, что я не знаю, как контролировать кусочки. Я немного прочитал о перехвате клавиатуры и проверил некоторые уроки тетриса, но большинство из них для оконных форм, которые действительно упрощают обработку событий и тому подобное.
Итак ... Не могли бы вы указать мне начало пути к управлению фигурами на консоли? Спасибо!
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.
}
}
}