① 自製C語言終端操作庫----chatillon.h,讓你的C程序擺脫黑框(Linux/MacOS)
此庫適用於MacOS和Linux系統,目前對Windows系統不適用。
// 2022/5/22 周日
代碼更新包括:
1)新增非阻塞io函數kbhit(),實現鍵盤活動的即時監聽,顯著提升游戲互動性。
2)colourpair使用動態內存分配,現在可無限擴充色彩組合,擺脫了以往10組的限制。
初學C語言時,我使用getchar()編寫貪吃蛇游戲,結果...
雖然游戲完成了,但每次按鍵都需要回車確認,而且不回車蛇就停滯不前。由於使用Mac,Windows的getch函數又無法使用,導致程序報錯。看著Python編寫的游戲畫面,再對比C語言的黑框界面,我曾一度覺得C語言乏味。
後來我遇到了ncurses,它幫助我製作出炫酷的游戲和工具,如文本編輯器、高級掃雷和貪吃蛇游戲(難道按回車的就是低級游戲嗎?(笑))。然而,我一直好奇:ncurses是如何實現的?
上海封控期間,我利用空閑時間嘗試還原ncurses,實現了無緩沖輸入、顏色改變、游標移動、背景設置等功能,並將其命名為chatillon——查狄倫(庫中有所解釋)。我將它分享到網上,希望得到大家的支持,共同打造更強大的庫!感謝各位!
chatillon庫能讓你的C程序更絢麗多彩,功能更豐富!更重要的是,它完全開源,你可以隨意修改配置,達到理想的效果!
以下是用chatillon庫開發的終端小畫板(常式1):使用qweadzxc八個鍵控制游標,繪制你想要的圖案,按o鍵清屏。
以下是庫的文件,盡管我也是初學者,可能存在疏漏,希望大家提出寶貴意見,我將及時修正!
庫文件中詳細介紹了各類函數的用法,並在文件末尾提供了4個常式,此處不再贅述。
使用gcc編譯時,需將其轉換為動態庫,並進行鏈接!不同系統可能存在差異。
我的電腦運行方法:(庫文件位於/Users/googlechen目錄下,即終端默認目錄,因此使用-L.注意!.的意思是當前目錄!)
gcc -dynamiclib -o libchatillon.dylib chatillon.c
gcc projector.c -lchatillon -L.
chatillon.h:
chatillon.c(函數原理在此):
歡迎大家的建議和修改,共同豐富這個庫!