kbhit

    0熱度

    4回答

    我試圖用控制檯獲得快速時間事件類型的交互,並設法使用conio庫獲取它。可悲的是,我正在開發的這個項目需要在Windows和Linux上編譯代碼,我無法找到一種方法來改變它。 有什麼我可以做得到理想的效果還是應該放棄這個概念?以下是我創建的函數的代碼。 #include <stdio.h> #include <time.h> #include <string.h> #include <std

    1熱度

    1回答

    我想提出一個方案,我有一個無限循環。我用kbhit()來檢測一個鍵是否被按下。我也在循環中使用延遲。所以,問題是,如果我按下鍵我必須等待延遲功能給執行的kbhit()函數的行爲的時候..... while(1) { delay(1000); if(kbhit()) { // // // // } } //現在我必須等待1000毫秒執行的kbhit()的代碼如何刪除這個問題.

    0熱度

    3回答

    我在使用kbhit和if語句時所做的遊戲中有一個奇怪的滯後反應。但是,當我使用switch語句時,我看不到這個相同的滯後問題。這裏是我的代碼在IF和開關。 下面的代碼導致滯後,當我嘗試移動角色時,爲了角色移動,我必須按兩次按鈕。導致沒有滯後 if (kbhit()) { switch (getch()) { case 'w': PlayerX = Pl

    2熱度

    6回答

    我想用「按任意鍵繼續」功能使用kbhit()。 但是,在循環中使用了kbhit()之後,按下的鍵存儲在標準輸入中。 因此在下一個scanf()中,從前面按下的按鍵出現在輸入中。 int x,b=0; printf("Press any key to continue...") while (b==0) { b=kbhit(); } system("cls");

    1熱度

    3回答

    我一直在研究其中一種蛇形遊戲,並且我有一個switch語句,說明如果按某個鍵來將蛇沿某個方向通過增加/減少,但它只會這樣做,如果我拿着它。我正在尋找一種方法讓蛇的位置不斷遞增,而用戶不必拿着那把鑰匙。我把一個以下的情況下 if(_kbhit()) { switch(_getch()) { case 'a' : dir = LEFT; x--;

    2熱度

    2回答

    我一直在用kbhit()測試一些東西,並發現了一個帶有延遲死循環的奇怪行爲。在這個代碼示例中,我將循環延遲爲每秒運行30次。 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> _Bool IsKeyDown(char c) { if(kbhit()) {

    0熱度

    1回答

    你好,我正在用C創建一個遊戲。我想在那裏每隔0.1秒打印一幀圖片。在此期間,用戶可能會或可能不會使用getch()輸入。 我該如何編寫這樣的程序?下面我可以提供給你們一起工作。 do{ usleep(100000); // simple 100 mili second delay if (getch()==32) (ASCII for a space) // may or may not be

    1熱度

    1回答

    我一直在嘗試各種組合的if和do語句,但無法使其正常工作。我們使用Visual Studio 2015並使用C代碼。代碼的總體目標是使用BGI圖形來模擬2D機器人(一個圓圈和一條線來指示方向),並使其執行各種任務。我被告知; 修改您的程序,以便您可以用鍵盤控制您的機器人。 要做到這一點,您應該初始化初始速度爲0,並添加適當的語句到您的程序,以修改基於哪個鍵被按下的速度。舉例來說,你可以 固定不變量

    0熱度

    1回答

    我遇到了使用函數getch()重複鍵檢查的問題。 這裏是一個代碼示例: static char g_keybuffer[256]; _Bool IsKeyDown(char c) { char ch; if(kbhit()) ch = getch(); if(ch == -32 || ch == 224) { ch = getc

    2熱度

    1回答

    我有一個控制檯Java應用程序,它在後臺執行一些任務。如果在鍵盤緩衝區中存在某些東西,並且我知道所有控制檯讀取和測試都被阻止,Java不支持用於測試的控制檯kbhit()。 我要做的是用console.readLine()之類的東西啓動一個後臺線程,然後在完成這個阻塞調用之後放置一些終止標誌。應用程序後臺任務將檢查此標誌並決定是否需要終止。 順便說一句,我的應用程序正在寫入控制檯在其工作過程中(通