我正在爲一個類製作2D地牢爬蟲類遊戲。我正在嘗試接收用戶輸入,而不需要按下回車鍵。具體來說,我想使用w a s作爲方向鍵來移動2D數組。Getch()與linux中的顯示函數不兼容C++
我試過使用ncurses庫,但它目前與我的顯示功能(我相信當使用endl)messes。
正常顯示我的董事會將是這樣的:
XXX
XXX
XXX
但在使用時的getch()從ncurses庫我的板是這樣的:
XXX
..... .xxx
............ xxx
有沒有辦法從curses庫中使用getch()而不干擾我的打印功能?
void ParkBoard::print() {
displayMessage();
for (int i = 0; i < getSize(); i++) {
cout << " ";
for (int j = 0; j < getSize(); j++) {
if (j == 0) {
parkBoard[i][j]->display();
}
else {
cout << " ";
parkBoard[i][j]->display();
}
}
cout << endl;
}
我從來沒有使用過文件描述符。我想弄清楚如何設置它,但我有點失落。所以它不必從文件中讀取輸入,它可以只是擊鍵?此外,這是正確的設置:ssize_t讀(int fd,void * buf,size_t計數); – Kazuo
你不必設置任何東西。文件描述符0是標準輸入,由進程繼承。 –