mac OS X 下ft_rich游戏的重构
2023-09-14 08:56:51 时间
ft_rich是用ruby写的一个简单得扑克大富翁游戏,逻辑很简单,使用了终端颜色
的特性。
原来是在windows下使用ruby c ext实现的颜色功能,现在在mac OS x下做移植,
因为后者终端直接支持颜色显示,所以没那么复杂了——直接在ruby里使用
gem highline搞定鸟。
windows下的颜色使用的是一个class Ctxt#color方法,Ctxt是在c ext中调用
native win32 api实现的。移植得第一步,我想先跑起来这个程序,带不带颜色无
所谓,于是将Ctxt类更改为如下:
class Ctxt BG_BRIGHT = 0 BG_WHITE = 0 FG_RED = 0 FG_BRIGHT = 0 FG_GREEN = 0 def method_missing(name,*arg) case name when :color printf(arg[0]) else puts "unknow func for Ctxt..." end
不管啥颜色,一律白色printf,几个常量统统忽略。
在终端下执行,发现中文是乱码,遂将终端使用偏好中的文字编码改为GBK,
正常鸟。
现在添加Mac OS X终端的彩色显示功能。下载highline gem:
gem list --remote highline
gem install highline
在源代码中包含 :
require highline/import
重构Ctxt类如下:
class Ctxt @@ct = HighLine.new def color(msg,ft) printf @@ct.color(msg,ft) end
接下来为了以后的扩展性和DRY原则,将源代码中的Ctxt常量改为Highline常量,
并将|符号改为+,因为HighLine常量不是整数类型的。
def self.show(card) case type(card) when "小鬼","黑桃","梅花" @@ct.color(card,HighLine::ON_BRIGHT_WHITE+HighLine::BLACK) when "大鬼","红桃","方块" @@ct.color(card,HighLine::ON_BRIGHT_WHITE+HighLine::BRIGHT_RED) else raise "unknow type!!!" end保存,运行,一切OK鸟!!!:)
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot) 也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1 mac业已发布了一段时间,作为跨时代的顶级芯片系统,这两大巨头能否珠联璧合,让开发者们猛虎添翼、更上层楼?本次我们尝试在M1 mac系统中搭建Java开发环境,并且集成目前Web开发领域红的发紫的Springboot框架,另外,谁说玩儿Java就必须得用Eclipse或者IntelliJ IDEA?我们就骄傲地使用Vscode。
奇技淫巧玄妙无穷| M1 mac os(苹果/AppleSilicon)系统的基本操作和设置 最近有个朋友跟我说,说他新入职了一家公司,公司还不错,给他配了一台Mac,但是呢他以前一直在Windows环境下开发,对Mac os并不了解,他感到很彷徨,所以本次呢,我们来分享一下,当手头儿有一部崭新的Mac,我们应该怎么上手操作和配置,让它成为我们开发的好帮手。
金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch) 笔者投入M1的怀抱已经有一段时间了,俗话说得好,但闻新人笑,不见旧人哭,Intel mac早已被束之高阁,而M1 mac已经不能用真香来形容了,简直就是“香透满堂金玉彩,扇遮半面桃花开!”,轻抚M1 mac那滑若柔荑的秒控键盘,别说996了,就是007,我们也能安之若素,也可以笑慰平生。好了,日常吹M1的环节结束,正所谓剑虽利,不厉不断,材虽美,不学不高。本次我们尝试在M1 Mac os 中搭建Python3的开发环境。
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境 在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。
相关文章
- Firefox OS 1.3 为游戏开发带来新工具
- 【每日科技】魅族归来?明年或推出鸿蒙OS手机
- OS之巅:系统、性能技术的投入与产出(南北高校、中美专家连线论道)
- mac php开发集成环境,MAC OS X下php集成开发环境mamp
- VM安装Mac os x10.11的诸多坑人问题[通俗易懂]
- 智能车OS照搬安卓没有出路,特别是在中国
- 记 os_object_release Crash 排查
- OS——经典进程同步问题
- 如何从Mac OS X Catalina将IPA文件上传到App Store
- Jetpack Compose终于能稳定支持Wear OS,并带来了适用于手机和平板的1.2版本更新
- ORA-48181: OS write system call failure ORACLE 报错 故障修复 远程处理
- os在Linux中安装Mac OS系统(linux下安装mac)
- Mac OS X 和 360 共绽辉煌!(macos360)
- Google 确认:Android 应用和 Play 商城即将登陆 Chrome OS
- 逆向基础 OS-specific (四)
- 深入探索 OS X 与 Oracle 间的联系(osxoracle)
- elementary OS 正在构建一个可以买应用的开源应用商店
- Mac上使用MSSQL:限制登录权限绑定MAC地址(mssql绑定mac地址)
- 统信OS可安装Redis吗(统信os能装redis么)