30/09/2018, 22:09
Bắt sự kiện nhấn phím cho game Tetris (Console)
Chào tất cả mọi người, mình đang loay hoay với bài tập cơ bản C# ( game xếp hình )
Mình dùng VS 2013, console application
Mình có tìm hiểu về bắt sự kiện nhấn phím như sau:
ConsoleKeyInfo info = Console.ReadKey(true);
while ( info.Key != ConsoleKey.B )
if (info.Key != ConsoleKey.B)
{
a += info.KeyChar;
info = Console.ReadKey(true);
}
else
a += info.KeyChar;
Console.Write(a);
Console.ReadLine();
Nhưng code của mình cho khối gạch như này
public void DownBlock(Block block)
{
for (int j = block.jBroad; j < 22; j++)
{
DeleteBlock(block);
block.jBroad = j;
drawBlock(block);
}
}
Nếu bắt sự kiện Console.ReadKey() thì phải chờ tới khi khối gạch không rơi nữa. Mình đang khá lúng túng, mong bác nào biết thì chỉ dẫn cho mình.
Cảm ơn mọi người
Bài liên quan
ý mình muốn khi khối gạch đang rơi, mình ấn phím mũi tên điều hướng cho gạch, nó sẽ thực hiện luôn các bác ạ
Bạn có thể tham khảo code này của mình:
bạn ơi, bạn có thể cho mình xin fb để mình xin được bạn chỉ giáo đôi điều được ko?
đây là fb của mình https://www.facebook.com/thichanchalalot
hoặc bạn có thể bày cho mình sử dụng thuật giải hoặc hàm nào khi khối hộp đang rơi trong 1 vòng lặp mà mình vẫn ấn được phím ngay lập tức, chứ ko phải đợi con trỏ của Console.ReadKey() trỏ tới mới ấn được.
như thế là bạn chưa thử code của mình hả?
Trong khi khối gạch đang rơi bạn có thể ấn phím mũi tên mà?
Trước hết, mình vô cùng cảm ơn bạn, đã phản hồi tích cực lại bài viết của mình
Mình mới hoàn thành khoá học cơ bản online, khá lúng túng trong việc này.
Chương trình của mình cho khối gạch rơi tự do bằng vòng lặp, vậy thuật giải như nào thì lúc vòng lặp đang chạy, ta có thể ấn được nút ( console.ReadKey())?
Mình có đọc code của bạn viết nhưng trình độ mình chưa hiểu hết.
rất mong được bạn nhận giúp đỡ trực tiếp qua fb
Mong các bác giúp đỡ, cũng tìm hiểu trên mạng đọc 3-5 hôm nay r, nhưng có ít quá
mới chỉ làm cho khối gạch rơi tự do từ trên xuống, và tự dừng lại khi hết vòng chạy ạ
Cho nó rơi 1 nấc thì kiểm tra phím 1 lần. Có gì khó đâu ?
Cảm ơn bác nhiều, em đã thử code của bác, chạy được, em đang ngồi nghiên cứu code của bác đây ạ, nhưng em lên cảm ơn bác 1 câu nữa, cho ai đang có thắc mắc giống em, có thể giải quyết được.
Bạn nhớ đánh dấu vào câu trả lời đúng để mọi người cùng biết.
Em đánh dấu r bác ạ, lại có động lực ngồi làm tiếp r, chân thành cảm ơn bác