TUI字符终端下的游戏探索

1 篇文章 0 订阅

作为以一个大部分工作时间对着终端的运维开发工程师,除了工作以外还是想找点乐子的。

TUI - Terminal User Interface (终端用户界面)

先上链接为敬:

1,各种控制台工具说明,我遇到的讲的最好的一篇Blog,你是想播放音乐、还是打游戏都可以

Console Desktop Guide (pspodcasting.net)

2.awesome-tui TUI(文字UI)项目集成,翻翻看看什么mysql客户端等等也不少。awesome开头必须是精品。

rothgar/awesome-tuis: List of projects that provide terminal user interfaces (github.com)

3. awesome-ttygames git上的awesome项目不用多说吧,以前一直在问这终端上能有什么游戏呢?

ligurio/awesome-ttygames: Unix ASCII games (github.com)

TUI编程的核心主要就是curse库,后期又出了一个ncurses,最近在网上闲逛的时候碰到了notcurses,这个库对终端有了更高的提升。

最早看到的是shell写的俄罗斯方块,这个百度搜源代码很容易查找,闲来无事想找一个TUI下的打砖块,发现了github上一个早期的项目bricktick,应该也是大佬之前的试验性的脚本,C语言写的,想着这东西有没有人优化一下,发现了notcurses这个库(dankamongmen/notcurses),pacman(我自己的linux用的是arch,其他自己找yum、brew等都能安装)安装以后跑了一个demo 很是惊艳,

$ notcurses-demo

要完美实现这个demo测试,需要终端软件支持、终端配置好相应的TERM环境变量等,测试了几个终端软件,按TERMINALS.md(github,项目里可见)文档里的“终端说明”试验了自己有比较常见的:

环境win11下WSLwindows自带的虚机环境,

Linux:manjaro

终端复用器:tmux (screen好像支持有问题,没有测试,不启用tmux,我这边运行notcurses-demo有问题,notcurses官方支持tmux)

测试常用终端软件:

1. iTerm2:Mac下的iTerm2,完美适配

2. Alacritty:多平台支持的Alacritty 有些缺陷,但是我用的最习惯的一个终端软件

3. Kitty:完美支持,但是不匹配Windows,看来开发是个忠实的Linux用户(如果不需要QQ办公,我也不想用win,LinuxQQ虽然多年后又开发,现在还是各种崩溃ing)

4.WezTerm:支持的也比较好,使用的时候发现鼠标块选择有问题,发现这个项目还在持续开发中,下了一个,下载了一个每日更新版解决问题。还有一个是字库问题,WezTerm看作者使用的字体是JetBrains Mono,这个git上找一个安装在自己的机器上即可。

5.Contour:测试显示比较完美。

看了天notcurses项目,感觉还是有点复杂,而且跨版本以后,原版的pdf教学入门例程有几个都跑不通,version2 看了是可以读取stdin标准输入,version3被接管,我的理解是3版的思路就是都用上TUI界面了,标准输入就被notcurses自己的get代替了。

先研究到这吧,也只是错略的看了看。

关于字体问题:

在终端上要显示图形方式的字体,需要一个nerd字体path,Releases · ryanoasis/nerd-fonts (github.com)

可以去这个Releases里找别人已经打好的nerd库的字库下载,安装看项目说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值