① 自制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(函数原理在此):
欢迎大家的建议和修改,共同丰富这个库!