因此,我正在製作一款遊戲,並且我需要輸入函數才能擁有截止日期,並且我希望將時間顯示在其中一個控制檯角落中。我有計時器在單獨的線程上運行。 我想向用戶顯示他已經離開了多少時間,可以說在第一行的末尾寫入varibale TimeLeft,但保持所有其他行不變。 那麼是否有任何功能允許我在控制檯窗口內的特定位置上打印/顯示/ cout變量。 使用C++,Windows平臺,控制檯應用程序基於Windows控制檯的遊戲
-4
A
回答
1
在Windows上,您可以使用SetConsoleCursorPosition()在控制檯中設置位置,從print/cout輸出的內容將被寫入。您需要將控制檯句柄和COORD結構傳遞給函數。您可以使用GetStdHandle()獲取句柄。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms686025%28v=vs.85%29.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms683231%28v=vs.85%29.aspx
這裏有一個簡單的例子:
HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos={0,0};
SetConsoleCursorPosition(hndl, pos);
但是,爲什麼你運行你的計時器在一個單獨的線程?不應該有任何需要這樣做。只需測量遊戲開始後的時間(請參閱示例:How to use clock() in C++),然後從總時限中減去已用時間。
+0
我認爲SetConsoleCursorPosition是全局的,所以在一個線程中使用它可能會干擾主線程的輸出。 WriteConsoleOutput可能是更好的選擇。 –
相關問題
- 1. 基於控制檯的遊戲衝突不起作用
- 2. iPhone平臺遊戲。控制?
- 3. Jython作爲遊戲中的java遊戲控制檯
- 4. 作爲遊戲控制器的Windows Phone
- 5. 基於Servlet的基於遊戲的遊戲
- 6. 控制檯或圖形遊戲設計?
- 7. C# - 保存控制檯遊戲值
- 8. C#控制檯隨機數猜遊戲
- 9. 更改遊戲中的遊戲控制
- 10. 製作基於數學的遊戲
- 11. Laravel使用基於用戶進度的遊戲控制器
- 12. 基於文本的遊戲的基本保存遊戲
- 13. 基於級別的遊戲
- 14. 基於文本的遊戲
- 15. 基於PHP的遊戲
- 16. 基礎平臺遊戲基於矩形的碰撞問題
- 17. 製作控制檯遊戲。我想在遊戲結束時獲得0 HP
- 18. 遊戲控制器的WinAPI
- 19. 遍歷基於遊戲
- 20. 基本A星級尋路遊戲平臺遊戲。
- 21. 在UDK/Unity3d中將PC製作成控制檯的遊戲
- 22. C#櫃檯遊戲控制檯應用程序
- 23. 適用於3D遊戲的Android API或遊戲平臺
- 24. 遊戲平臺
- 25. C#簡單的2D遊戲 - 製作基本的遊戲循環
- 26. 遊戲循環控制
- 27. 編程遊戲控制器
- 28. iphone遊戲控制幫助
- 29. 安卓遊戲控制
- 30. 遊戲控制面板
請參閱[本](http://stackoverflow.com/questions/36092262/resetting-or-clearing-line-in-c-output/36092727#36092727) – ZDF
重複您以前的(關閉的)問題。 – halfer