30/09/2018, 17:17
Game flappy bird console c++
Mình đang học làm game trên console
mọi người cho mình hỏi làm cách nào để nó bớt giựt không ?không biết là có liên quan gì đến tiến trình không
Bài liên quan
Trông hay hay mà giật quá bạn ơi @_@
vẫn chưa tìm được cách xử lí bạn,đang hóng cáo thủ
Lập trình game trong console thì mọi hoạt động từ nhân vật cho tới khung cảnh hay kẻ thù được đưa vào queue để xử lý. Cái gì gọi trước thì thực hiện trước (ví dụ khung cảnh chuyển động 1 bước rồi mới thực hiện kiểm tra người dùng có nhấn phím hay không).
Giải pháp tốt nhất chỉ có thể là dùng multi-thread. Trong C++ cơ bản có thư viện thread.h
http://www.cplusplus.com/reference/thread/thread/
Cái gì hoạt động độc lập không bị ai tác động (ví dụ khung cảnh chuyển động) thì nên đưa vào 1 thread riêng.
Mình chưa làm thử thread trong console nên chưa rõ lắm. Bạn tìm hiểu thử xem.
mình cũng tìm hiểu qua r nhưng vẫn còn khó khăn,nhung dù sao cũng cám ơn bạn
mình đoán là bạn xài clear screen rồi mới vẽ, hoặc hàm vẽ có sử dụng endl nhiều, hay xài << nhiều?
tuy nhiên cách vẽ “tay” này rất cực, nếu phải làm chi tiết như vậy thì ko đáng, tìm thư viện đồ họa nào đó mà vẽ.
hoặc cũng có thể là main loop ko cho nghỉ, vẽ liên tục? Nên include windows.h và xài hàm Sleep(milisecond) để hạn chế frame rate:
void ClearConsole()
{
HANDLE hOut;
COORD Position;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
Position.X = 0;
Position.Y = 0;
SetConsoleCursorPosition(hOut, Position);
}
đây là hàm xóa của mình
để mình thử cho ngủ xem thử