Windows新终端中玩转ASCII和Emoji游戏的正确姿势

640?wx_fmt=gif

前一段时间,我搬运了几个Windows Terminal中玩游戏的视频.


Windows Terminal - 动图GIF作背景图


Windows Terminal - 母牛说Hi


Windows Terminal - 字符水族箱



今天我来给大家展示一下具体的玩法~


640?

Emoji版双人碰碰球

目前有个现成的 .NET core 项目可以直接用,地址是:

mbcrump/pongemoji
https://github.com/mbcrump/pongemoji


只需要在Windows Terminal的CMD 或 PowerShell Tab中输入如下命令:

D:\Coding\pongemoji>git clone https://github.com/mbcrump/pongemojiD:\Coding\pongemoji>cd pongemojiD:\Coding\pongemoji>dotnet buildD:\Coding\pongemoji>dotnet run

运行效果如下:

640?wx_fmt=gif

玩家 1 : 使用键盘上的 WASD 来控制 ↑,←,↓,→ 4个方向.

玩家 2 : 直接使用键盘上的方向键控制↑,←,↓,→ 4个方向.

游戏中一方先满5分,游戏会重新开始。目前该游戏还有一点bug噢~


640?

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并进行相应配置

$ cpanLoading internal null logger. Install Log::Log4perl for logging messagesCPAN.pm requires configuration, but most of it can be done automatically.If you answer 'no' below, you will enter an interactive dialog for eachconfiguration 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] sudoAutoconfiguration complete.commit: wrote '/home/bruce/.cpan/CPAN/MyConfig.pm'You can re-run configuration any time with 'o conf init' in the CPAN shellTerminal 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

运行效果如下:


640?wx_fmt=gif


640?

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,得到的是:

640?wx_fmt=png

当然你也可以输入echo 'Hi!' | cowsay让他说"Hi".

如果让牛思考,你可以输入uptime | cowthink

当然你还可以输入uptime | cowthink -f tux让它变回企鹅(Linux Logo).

此外,cowsay 还有很多可选参数,能显示更有趣的效果:

  • -d 死掉的母牛

  • -b 瞎眼母牛?

  • -g 财迷母牛

  • -p 多疑的母牛

  • -s 喝醉的母牛

  • -t 疲劳母牛

  • -w 吃惊的母牛

  • -y 小母牛

有兴趣的可以继续玩噢~


640?

.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\FrameworkC:\Windows\Microsoft.NET\Framework>dir 驱动器 C 中的卷是 Windows 卷的序列号是 74E0-8254 C:\Windows\Microsoft.NET\Framework 的目录...2019/03/19  12:52    <DIR>          v1.0.37052019/03/19  12:52    <DIR>          v1.1.43222019/05/19  00:05    <DIR>          v2.0.507272019/05/12  01:33    <DIR>          v3.02019/05/12  01:33    <DIR>          v3.52019/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.csprojC:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild D:\Coding\2048\2048.csproj /t:BuildC:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild D:\Coding\2048\2048.csproj /t:Build /p:Configuration=Debug;Platform=x86;TargetFrameworkVersion=v4.0

个人倾向用第2种~

640?wx_fmt=png

  • 在Windows Terminal中运行游戏

接下来就是运行游戏了,切换到相应目录下bin中相关的exe即可~

> D:> cd D:\Coding\2048\bin\Debug> ConsoleApplication.exe

玩法:用↑ ↓ ← → 4个方向键来玩。

效果图如下:

640?wx_fmt=gif


640?

笑到喷的直升机

ROFLRolling 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打开,执行如下命令~

最后运行的效果如下:


640?wx_fmt=gif


gaygithub上还有其他挺有意思的游戏:

Topic: terminal-game

https://github.com/topics/terminal-game

Topic: console-game

https://github.com/topics/console-game


接下来,打算先从Python爬虫入手,熟练之后使用C#来做爬虫。买了一本Python大佬深入浅出爬虫的书,顺手安利给大家~



参考:

roflcopter | Memes by Dictionary.com
https://www.dictionary.com/e/memes/roflcopter/



原文地址:

https://www.cnblogs.com/enjoy233/p/Games_in_Windows_Terminal.html


小贴士 Tips


推荐阅读

哇,What? 任意公众号的文中插入外链的方法找到了,亲测有效,赞赞赞!

黑科技抢先尝 | Windows全新终端初体验(附代码Build全过程)

终于等到你!微软正式上线 Windows Terminal 预览版

中英文电子书下载网站大搜罗


smiley_66.png点击"在看"的人,

2019都会变得特别好看

640?wx_fmt=gif


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指 Offer 38. 字符串的排列(有重复元素的排列)

思路&#xff1a;dfs 暴搜 class Solution { public:vector<string> permutation(string s) {vector<string> a;function<bool(char,int,int)> check[&](char x,int st,int idx){if(st>idx) return false;for(int ist;i<idx;i) if(s[i]x) return …

nowcoder Forsaken的数列 fhq-treap

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 很明显的数据结构了&#xff0c;splaysplaysplay当然能写&#xff0c;但是fhq−treapfhq-treapfhq−treap更加简洁易懂。 考虑第一个操作&#xff0c;无非就是分裂出[1,pos−1][1,pos-1][1…

我与微软的不解之缘 - 我的Insider Dev Tour 2019讲师之旅

作者&#xff1a;Lamond Lu大家好&#xff0c;我是陆楠&#xff0c;来自北京盛安德科技发展有限公司青岛分公司&#xff0c;今年非常有幸作为讲师参加了微软Insider Dev Tour烟台站的活动&#xff0c;我主讲了如何使用最新的微软开发工具开发调试NodeJS项目。与微软结缘与大多数…

.NET Core 3.0之深入源码理解Kestrel的集成与应用(一)

写在前面ASP.NET Core 的 Web 服务器默认采用Kestrel&#xff0c;这是一个基于libuv(一个跨平台的基于Node.js的异步I/O库)的跨平台、轻量级的Web服务器。在开始之前&#xff0c;先回顾一下.NET Core 3.0默认的main()方法模板中&#xff0c;我们会调用Host.CreateDefaultBuilde…

P2596 [ZJOI2006]书架 无旋treap 按照排名分裂

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 实现如下操作&#xff1a; 思路&#xff1a; fhq-treap板子辣&#xff0c;不要被他的编号误导了&#xff0c;我们还是需要按照排名来分裂&#xff0c;从上到下标号1−n1-n1−n即可&#xff0c;注意在按照…

【水】几个网络流图论模型的记录

DAG相关 最小路径覆盖 定义&#xff1a;最少不重路径覆盖DAG 初始时每个点是独立的 之后每次加一条边把两个点连到一起 因为只能用一次&#xff0c;所以是个最大匹配 最小路径覆盖N-拆点后最大匹配\text{最小路径覆盖N-拆点后最大匹配}最小路径覆盖N-拆点后最大匹配 最小链…

surging 微服务引擎 2.0 会有多少惊喜?

surging 微服务引擎从2017年6月至今已经有两年的时间&#xff0c;这两年时间有多家公司使用surging 服务引擎&#xff0c;并且有公司搭建了CI/CD&#xff0c;并且使用了k8s 集群&#xff0c;这里我可以说下几家公司的服务搭建情况&#xff0c;公司名不便透露&#xff0c;我们就…

Codeforces Round #630 (Div. 2) E. Height All the Same 排列组合

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 由于n,mn,mn,m都很大&#xff0c;不难猜到这是一个公式题。 首先化简题目中的两个操作&#xff0c;第二个操作就是可以让奇偶性相同的位置的高度相同。第一个操作虽然是改变相邻两个的奇偶…

对产品质量的一点思考

不管是做产品还是做项目&#xff0c;也不管是采用瀑布模型还是敏捷开发&#xff0c;我们都有一个终极目标&#xff0c;就是能按时交付质量可靠的功能&#xff0c;其中质量尤为重要。本文是我对产品质量的一点思考&#xff0c;如果您所在的团队代码质量很高&#xff0c;很少出BU…

正确使用AES对称加密

正确使用AES对称加密经常我看到项目中有人使用了对称加密算法&#xff0c;用来加密客户或项目传输中的部分数据。但我注意到开发 人员由于不熟悉原理&#xff0c;或者简单复制网上的代码示例&#xff0c;有导致代码存在安全风险。我经常遇到的问题&#xff0c;有如下&#xff1…

Codeforces Round #709 (Div. 1) C. Skyline Photo dp + 单调栈优化

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先一个非常明显的dpdpdp式子就是f[i]max(f[j]val(j1,i))f[i]max(f[j]val(j1,i))f[i]max(f[j]val(j1,i))&#xff0c;其中val(j1,i)val(j1,i)val(j1,i)是[j1,i][j1,i][j1,i]中高度最小的美…

「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)...

上一篇介绍过数据差距与数据岛的背景&#xff0c;这里不再赘述&#xff0c;请翻阅上一文。此篇在Sqlserver上给大家演示1000万条记录的计算性能。测试电脑软硬件说明一般般的笔记本电脑&#xff0c;2017年7月&#xff0c;价格&#xff1a;4500。电脑配置数据构造1000万行数据&a…

Codeforces Round #631 (Div. 2) C. Dreamoon Likes Coloring 构造

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 针灸思维不行&#xff0c;数据结构来凑呗。 一开始做的时候想简单了&#xff0c;一直wawawa&#xff0c;后来想到了hackhackhack样例&#xff0c;开始换思路构造&#xff0c;结果死活想不到…

用象棋的思维趣说IT人的职业发展和钱途

最近我花了不少功夫在学习象棋&#xff0c;也学习了王天一等高手的棋路&#xff0c;感觉IT人的职业和下棋一样&#xff0c;往好了讲&#xff0c;争主动权争实惠只争朝夕&#xff0c;往坏了讲&#xff0c;一步走错得用多步来弥补&#xff0c;如果错误太大未必能弥补回来。在本文…

Codeforces Round #631 (Div. 2) D. Dreamoon Likes Sequences 思维 + 组合数学

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你d,modd,modd,mod&#xff0c;让你求能构造出如下序列aaa的个数模modmodmod&#xff1a; 思路&#xff1a; 首先可以发现aaa的长度不能超过log2dlog_2dlog2​d&#xff0c;因为如果存在两个aaa的二进制…

基于 Roslyn 实现动态编译

基于 Roslyn 实现动态编译Intro之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句&#xff0c;原来是基于 CodeDom 实现的&#xff0c;最近改成使用基于 Roslyn 去做了。实现的原理在于编译选择的Model 文件生成一个程序集&#xff0c;再从这个程序集…

Codeforces Round #212 (Div. 2) C. Insertion Sort 思维

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; n≤5000n\le5000n≤5000 思路&#xff1a; 从dpdpdp题集中看到的&#xff0c;一看n≤5000n\le5000n≤5000&#xff0c;这不就乱搞就行了&#xff0c;哪有什么dpdpdp&#x1f986;。 看到冒泡排序&#xff0…

[Abp vNext 源码分析] - 4. 工作单元

一、简要说明统一工作单元是一个比较重要的基础设施组件&#xff0c;它负责管理整个业务流程当中涉及到的数据库事务&#xff0c;一旦某个环节出现异常自动进行回滚处理。在 ABP vNext 框架当中&#xff0c;工作单元被独立出来作为一个单独的模块(Volo.Abp.Uow)。你可以根据自己…

使用 Cake 推送 NuGet 包到 AzureDevops 的 Artifacts 上

大家好&#xff0c;我最近在想如何提交代码的时候自动的打包 NuGet 然后发布到 AzureDevOps 中的 Artifacts&#xff0c;在这个过程中踩了很多坑&#xff0c;也走了很多弯路&#xff0c;所以这次篇文章就是将我探索的结果和我遇到的一些问题整理分享给大家。我的上一篇关于 CI/…

了解Kubernetes主体架构(二十八)

前言 Kubernetes的教程一直在编写&#xff0c;目前已经初步完成了以下内容&#xff1a;1&#xff09;基础理论2&#xff09;使用Minikube部署本地Kubernetes集群3&#xff09;使用Kubeadm创建集群接下来还会逐步完善本教程&#xff0c;比如Helm、ELK、Windows Serv…