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下 ...
随机推荐
- npm与cnpm混用导致的问题
npm和cnpm混用之后,再用npm升级模块导致如下错误: 解决办法: 删除node_modules文件下的文件后,重新执行npm install
- TCP的三次握手和四次挥手【经典】
参考:http://blog.csdn.net/cmm0401/article/details/77865479
- Android显示gif格式图片
大家知道,在Android中使用ImageView来显示gif格式的图片,我们无法得到gif格式图片该有的效果,它只会停在第一帧上,而不会继续.这时只能看到一张静态的图片,这里我们可以使用个简单的方法 ...
- 计算广告(computational advertising)
计算广告学是一门由信息科学.统计学.计算机科学以及微观经济学等学科交叉融合的新兴分支学科. 1. 课程与资源 Andrei Broder:美国工程院院士,计算广告概念的提出者: MS&E 23 ...
- Opencv中K均值算法(K-Means)及其在图像分割中的应用
K均值(K-Means)算法是一种无监督的聚类学习算法,他尝试找到样本数据的自然类别,分类是K由用户自己定义,K均值在不需要任何其他先验知识的情况下,依据算法的迭代规则,把样本划分为K类.K均值是最常 ...
- Leetcode 260 Single Number III 亦或
在一个数组中找出两个不同的仅出现一次的数(其他数字出现两次) 同样用亦或来解决(参考编程之美的1.5) 先去取出总亦或值 然后分类,在最后一位出现1的数位上分类成 ans[0]和ans[1] a&am ...
- ISO/IEC 27001 信息安全管理体系认证
一. 信息安全管理体系标准业务介绍 1. 背景介绍 信息作为组织的重要资产,需要得到妥善保护.但随着信息技术的高速发展,特别是Internet的问世及网上交易的启用,许多信息安全的问题也纷纷出现:系统 ...
- PAMIE- Python实现IE自动化的模块
PAMIE- Python实现IE自动化的模块(附 网易注册代码) 收藏 安装: 今晚弄了一下.已经成功导入PAMIE.具体步骤如下 1.假如你要用PAM30那就就得去下个Python 3.0安装.因 ...
- matlab 基础知识class < superclass_name
matlab中的class,在matlab中也能够通过创建类的方式实现面向对象编程. 1)类定义 >> classdef (attribute1 = value,...) classnam ...
- js的一些写法问题
尽量不要拼接字符,用自定义标签来完成 用winform的形式更佳