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 quarium
v1.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下 ...
随机推荐
- JIL 编译与 AOT 编译
JIT:Just-in-time compilation,即时编译:AOT:Ahead-of-time compilation,事前编译. JVM即时编译(JIT) 1. 动态编译与静态编译 动态编译 ...
- Qt 的几个核心机制总结之 布局(QWidget可以设置setSizePolicy,而QSizePolicy有Fixed,minimum,maximum,preferred,expanding,ignore等7个属性,还可以横竖分开)
1.Qt布局的作用 Qt的布局是通过布局管理器来实现的,布局管理器负责在父类窗口部件区域构建子窗口部件,使得放置在窗体中的每个窗口部件都有一个适合的大小和位置,并且能够随着应用程序本身的变化而变化从而 ...
- Android Studio右键选项中没有Git?
从Git clone一个Project并打开后,都会习惯性的像使用Eclipse一样,选中project右键,选择Git的相应版本号控制选项. 例如以下图,你仅仅看到了svn. 怎样配置才干在右键选项 ...
- Notepad++ 的使用(插件)
为 Notepad++ 安装 NppFTP 插件,查看修改虚拟机上的文本文件 0. 常用快捷键 单行.多行注释 //方式 :ctrl+k 区块注释 / * * /方式 :ctrl+q 取消单行.多行. ...
- Spring综合Struts2
1.1. Spring综合Struts2 1) 该Spring用户手机WEB-INF下一个 2) 把Spring配置文件配置到web.xml中 <!-- 引入Spr ...
- SICP 1.11-1.13
1.11 递归版本 (define (f n) (cond ((< n ) n) ()) (* (f (- n )) ) (* (f (- n )) ))))) 迭代版本 (define (f ...
- MVC 行为过滤器
using FilterExam.Fiter;using System;using System.Collections.Generic;using System.Linq;using System. ...
- WPF 中style文件的引用
原文:WPF 中style文件的引用 总结一下WPF中Style样式的引用方法: 一,内联样式: 直接设置控件的Height.Width.Foreground.HorizontalAlignment. ...
- ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区 1 引言 1.1 读者定位 我们假设用户在阅读本指南前应已具备以下知识: · 熟悉W ...
- MessageBox用法大全
//1.显示提示信息 MessageBox.Show("Hello World!"); //2.给消息框加上标题 MessageBox.Show("Hello World ...