Windows新终端中玩转ASCII和Emoji游戏的正确姿势
前一段时间,我搬运了几个Windows Terminal中玩游戏的视频,详情请看 发布在即!来一睹官方团队如何玩转 Windows Terminal - 知乎.
今天我来给大家展示一下具体的玩法~
## Emoji版双人碰碰球
目前有个现成的 .NET core 项目可以直接用,地址是:
mbcrump/pongemoji: A implementation of Pong using the new Windows Terminal announced during Build
https://github.com/mbcrump/pongemoji
只需要在Windows Terminal的CMD 或 PowerShell Tab中输入如下命令:
D:\Coding\pongemoji>git clone https://github.com/mbcrump/pongemoji
D:\Coding\pongemoji>cd pongemoji
D:\Coding\pongemoji>dotnet build
D:\Coding\pongemoji>dotnet run
运行效果如下:

玩家 1 : 使用键盘上的 WASD 来控制 ↑,←,↓,→ 4个方向.
玩家 2 : 直接使用键盘上的方向键控制↑,←,↓,→ 4个方向.
游戏中一方先满5分,游戏会重新开始。目前该游戏还有一点bug噢~
## ASCII 水族箱(ASCII quarium)
目前有个基于Perl的项目可以用,地址是:
cmatsuoka/asciiquarium: Enjoy the mysteries of the sea from the safety of your own terminal!
https://github.com/cmatsuoka/asciiquarium
只需要在Windows Terminal的WSL类(我自己安装是Ubuntu)的Tab中依次进行如下步骤:
- 安装
Perl相关库
$ sudo apt-get install libcurses-perl
- 安装cpan并进行相应配置
$ cpan
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.
Would you like to configure as much as possible automatically? [yes] yes
...
What approach do you want? (Choose 'local::lib', 'sudo' or 'manual')
[local::lib] sudo
Autoconfiguration complete.
commit: wrote '/home/bruce/.cpan/CPAN/MyConfig.pm'
You can re-run configuration any time with 'o conf init' in the CPAN shell
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v2.18)
Enter 'h' for help.
cpan[1]> ^CCaught SIGINT, trying to continue ^Z
[2]+ Stopped cpan
$ sudo cpan Term::Animation
- 拉取
ASCII quariumv1.1的代码并执行
$ git clone https://github.com/cmatsuoka/asciiquarium.git $ ls
$ cd asciiquarium/
$ ./asciiquarium
运行效果如下:

## ASCII字符游戏 母牛说 “Hi”
还记得 Debian 下“Super Cow Powers” (超级牛力)这个有名的彩蛋吗?
Cowsay 是个 Perl 写成的文字过滤脚本,如果你把任何文字传给 cowsay,一只 ASCII 母牛就会帮你传达这个消息~
事实上,我们可以直接在Windows Terminal中玩转它喔~
只需在Windows Terminal的Ubuntu Tab中依次输入如下命令:
$ sudo apt-get install cowsay
$ sudo apt-get install fortune-mod
接下来,如果输入fortune | cowsay,得到的是:

当然你也可以输入echo 'Hi!' | cowsay 让他说"Hi".
如果让牛思考,你可以输入uptime | cowthink ,
当然你还可以输入uptime | cowthink -f tux让它变回企鹅(Linux Logo).
此外,cowsay 还有很多可选参数,能显示更有趣的效果:
- -d 死掉的母牛
- -b 瞎眼母牛?
- -g 财迷母牛
- -p 多疑的母牛
- -s 喝醉的母牛
- -t 疲劳母牛
- -w 吃惊的母牛
- -y 小母牛
有兴趣的可以继续玩噢~
## .NET版2048
在github中,我发现了一个.NET Framework版的游戏2048.
只需在Windows Terminal的CMD Tab中依次进行如下操作:
- 从github拉取代码
C:\Users\Bruce>git clone https://github.com/kflu/2048.git
编译项目
如果你在Windows上安装了Visual Studio,请直接用VS编译~
如果没装 VS,就使用
MSBuild来编译吧,首先你得找对MSBuild的位置,如果已经为MSBuild设置了系统变量,这一步可以跳过~C:\Users\Bruce>cd C:\Windows\Microsoft.NET\Framework C:\Windows\Microsoft.NET\Framework>dir 驱动器 C 中的卷是 Windows 卷的序列号是 74E0-8254 C:\Windows\Microsoft.NET\Framework 的目录 ... 2019/03/19 12:52 <DIR> v1.0.3705 2019/03/19 12:52 <DIR> v1.1.4322 2019/05/19 00:05 <DIR> v2.0.50727 2019/05/12 01:33 <DIR> v3.0 2019/05/12 01:33 <DIR> v3.5 2019/06/26 21:58 <DIR> v4.0.30319 18 个文件 272,280 字节 9 个目录 70,716,755,968 可用字节 C:\Windows\Microsoft.NET\Framework>cd v4.0.30319
用MSBuild编译 project 可以用下面几种命令中的任意一种:
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild D:\Coding\2048\2048.csproj
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild D:\Coding\2048\2048.csproj /t:Build
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild D:\Coding\2048\2048.csproj /t:Build /p:Configuration=Debug;Platform=x86;TargetFrameworkVersion=v4.0
个人倾向用第2种~

- 在Windows Terminal中运行游戏
接下来就是运行游戏了,切换到相应目录下bin中相关的exe即可~
> D:
> cd D:\Coding\2048\bin\Debug
> ConsoleApplication.exe
玩法:用↑ ↓ ← → 4个方向键来玩。
效果图如下:

## 笑到喷的直升机
ROFL: Rolling On the Floor Laughing的意写,可译为笑到呕吐,笑到喷~
ROFLCOPTER: Rolling On the Floor Laughing Can‘t OPerate Till Eyes Refocus的缩写,意为笑到满地打滚,直到眼神重聚.
ROFLCOPTER - 一种嘲笑他人的隐晦做法,经常被联想为大笑不止或笑得停不下来。
据说该术语据称是由魔兽世界III论坛的版主在2003年创造的,而相应的网站www.roflcopter.com于2004年推出。
同时,ROFLCOPTER 也经常被看成是ASCII字符画成的以ROFL和LOL为螺旋桨的直升机, 它的螺旋桨由ROFL和LOL「 laughing out loud 」制成,看起来像是在旋转。
相应的代码我已经上传到:
https://github.com/yanglr/GamesInWinTerminal
只需从Windows Terminal的PowerShell类Tab打开,执行如下命令~
> cd D:\Coding
> git clone git@github.com:yanglr/GamesInWinTerminal.git
> cd .\GamesInWinTerminal\charArt
> dotnet build
> dotnet run
最后运行的效果如下:

~~gay~~github上还有其他挺有意思的游戏:
Topic: terminal-game
https://github.com/topics/terminal-game
Topic: console-game
https://github.com/topics/console-game
**参考:**
roflcopter | Memes by Dictionary.com
https://www.dictionary.com/e/memes/roflcopter/
What is ROFL (Rolling On The Floor Laughing)?
https://www.computerhope.com/jargon/r/rofl.htm
superusercode/roflcopter.md
https://gist.github.com/superusercode/28f6d352c01b247f1747ef54b02fc8ec
作者简介:Bravo Yeung,计算机硕士,知乎干货答主(获81K 赞同, 38K 感谢, 235K 收藏)。曾在国内 Top3互联网视频直播公司工作过,后加入一家外企做软件开发至今。
如需转载,请加微信 iMath7 申请开白!
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。

文末彩蛋
微信后台回复“asp”,给你:一份全网最强的ASP.NET学习路线图。
回复“cs”,给你:一整套 C# 和 WPF 学习资源!
回复“core”,给你:2019年dotConf大会上发布的.NET core 3.0学习视频!
Windows新终端中玩转ASCII和Emoji游戏的正确姿势的更多相关文章
- 老司机实战Windows Server Docker:2 docker化现有iis应用的正确姿势
前言 上一篇老司机实战Windows Server Docker:1 初体验之各种填坑介绍了安装docker服务过程中的一些小坑.这一篇,我们来填一些稍大一些的坑:如何docker化一个现有的iis应 ...
- 在React中使用 react-router-dom 编程式路由导航的正确姿势【含V5.x、V6.x】
## react-router-dom 编程式路由导航 (v5) ###### 1.push跳转+携带params参数 ```jsx props.history.push(`/b/child1/${i ...
- [转帖]reptyr, 将正在运行的程序转换为新终端
reptyr, 将正在运行的程序转换为新终端 https://www.helplib.com/GitHub/article_45241 学习一下. 很抑郁的是 没有 arm64和龙芯平台的二进制文件. ...
- 在一个终端后台运行的进程在新的终端中使用job不会被发现
我在一个终端后台运行了一个程序.之后由于工作需要又新开了一个新的终端.在新的终端中,我想查看后台程序的运行状态,输入jobs时,发现没有后台任务运行.难道我的程序死掉了?我接着top了下,发现我的后台 ...
- 【转载】在Windows终端中显示UTF-8字符
一直苦恼于如何在Windows终端中显示UTF-8字符的问题.比如,在MySQL命令行下,如果数据库的编码是UTF-8,那么,在查询数据库的时候,里面的中文都会变成乱码.今天半无意的搜索了一下,结果发 ...
- 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)
目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...
- AD域的安装(在Windows Server 2003中安装Active Directory)
在Active Directory中提供了一组服务器作为身份验证服务器或登录服务器,这类服务器被称作域控制器(Domain Controller,简称DC).建立一个AD域的过程实际就是在一台运行Wi ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
随机推荐
- Socket实现原理和机制
要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...
- Spring MVC【入门】一篇!
MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1: 出现的弊端: JSP ...
- Spring Boot中集成Spring Security 专题
check to see if spring security is applied that the appropriate resources are permitted: @Configurat ...
- win10 开机启动vmware并自动启动虚机
思路 先实现程序或者命令启动VM并启动虚机,然后再开机启动这个程序. 1.实现一键启动VM和虚机 找了一圈的资料,有两个方法,都测试了,最终比较有效的是下面这个命令 "C:\Program ...
- 调用FileSystemObject.CopyFile发生没有权限的错误
作者:朱金灿 来源:http://blog.csdn.net/clever101 最近编写一个JScript,在调用FileSystemObject.CopyFile发生没有权限的错误,具体如下图: ...
- Harden the Hacker Thinking (Updating)
录制自己的最新思考harden过程.通过记录,反射,加强管理,发现缺陷. 等一下design,等一下coding,三十分钟rethinking. 2015-02-26 : 不要在一件事上停留太久: 歇 ...
- 【Linux知识】server性能测试--UnixBench
链接地址: http://blog.csdn.net/jason_asia/article/details/38309079 1.1. server性能测试UnixBench 分别DELL R72 ...
- 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)
原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...
- javascript控制rem字体大小
摘要:在写响应式H5页面的时候,我常常会用rem字体,为了兼容多个分辨率的设备,需要写多个@media标签,太麻烦并且不够精致,尤其是移动端的页面往往达不到我想要的效果,后来就用js替代了css的@m ...
- 以双斜杠//开头的URL – 依赖协议的URL
原文:以双斜杠//开头的URL – 依赖协议的URL 不知道大家有没有见过下面这种 url 写法: <img src="//domain.com/img/logo.png"& ...