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

摘要:
//Github.com/mbcrump/pongemoji只需在Windows终端的CMD或PowerShellTab中输入以下命令:→ 4个方向。玩家2:https://lib':

前一段时间,我搬运了几个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:Codingpongemoji>git clone https://github.com/mbcrump/pongemoji

D:Codingpongemoji>cd pongemoji 

D:Codingpongemoji>dotnet build

D:Codingpongemoji>dotnet run

运行效果如下:

pong1

玩家 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 

运行效果如下:

AsciiQ


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

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:UsersBruce>git clone https://github.com/kflu/2048.git
  • 编译项目

    如果你在Windows上安装了Visual Studio,请直接用VS编译~

    如果没装 VS,就使用MSBuild来编译吧,首先你得找对MSBuild的位置,如果已经为MSBuild设置了系统变量,这一步可以跳过~

    C:UsersBruce>cd C:WindowsMicrosoft.NETFramework
    
    
    C:WindowsMicrosoft.NETFramework>dir
    
     驱动器 C 中的卷是 Windows
    
     卷的序列号是 74E0-8254
    
    
    
     C:WindowsMicrosoft.NETFramework 的目录
    
    ...
    
    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:WindowsMicrosoft.NETFramework>cd v4.0.30319
    

用MSBuild编译 project 可以用下面几种命令中的任意一种:

C:WindowsMicrosoft.NETFrameworkv4.0.30319>MSBuild D:Coding20482048.csproj

C:WindowsMicrosoft.NETFrameworkv4.0.30319>MSBuild D:Coding20482048.csproj /t:Build 

C:WindowsMicrosoft.NETFrameworkv4.0.30319>MSBuild D:Coding20482048.csproj /t:Build /p:Configuration=Debug;Platform=x86;TargetFrameworkVersion=v4.0

个人倾向用第2种~

dotNETcore-build

  • 在Windows Terminal中运行游戏

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

> D:

> cd D:Coding2048inDebug

> ConsoleApplication.exe

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

效果图如下:

2048play


笑到喷的直升机

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 .GamesInWinTerminalcharArt

> dotnet build
> dotnet run 

最后运行的效果如下:

ROFL


~~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游戏的正确姿势》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mui.init()与mui.ready()与mui.plusReady()区别和关系python Django 用户管理和权限认证下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

redis(4)

事务  开启事务 multi  作用 设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中  执行事务 exec  作用 设定事务的结束位置,同时执行事务。与multi成对出现,成对使用   注意:加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行exec命令才开始执行   取消事务  discard  作用 终止当前事务...

pytest 1.简单介绍一,安装和如何运行

一、pytest是一个接口测试框架,试用版起来比较轻便灵活。首先来介绍他的安装: 直接使用命令 : pip install -U pytest 通过命令 :pytest --version  来查看版本信息 二、首先来创建第一个简单的demo,可以在pycharm里面创建,并且运行,运行只需要配置一下就可以 # content of test_1.py d...

git暂存区

  在使用git开发时,有三个概念需要知道,工作区,暂存区和版本库。工作区就是直接进行操作的地方,版本库是要将修改提交的地方,那么暂存区是干什么的呢?下面将对暂存区深入研究。   一.修改后能直接提交吗?   在工作区修改后能直接执行git commit提交吗?让我们一起试试。   首先修改welcome.txt文件   echo "welcome">...

sysbench安装及使用

一、安装 1、下载地址: https://github.com/akopytov/sysbench/tree/0.5 2、上传到服务器 刚部署的服务器,可能没有编译环境(可安装编译环境:安装编译环境:yum groupinstall -y "development tools") Rz命令(如果服务器没有rz命令,可以安装:yum install lrz...

linux总结shell

一、Shell脚本常用的头部格式: 头部的作用就是告知linux此脚本的类型; 常用的头部格式如下:(/bin/bash,是bash的路径,如果不知道路径可以通过which bash进行查看,其它命令的路径也是类似查看的) (1)#!/bin/bash:普通的linux脚本,也是最常用的,不需要交互; (2)#!/usr/bin/expect:可以自动交...

一台服务器能支撑多少个TCP连接

1. 困惑很多人的并发问题   在网络开发中,我发现有很多同学对一个基础问题始终是没有彻底搞明白。那就是一台服务器最大究竟能支持多少个网络连接?我想我有必要单独发一篇文章来好好说一下这个问题。   很多同学看到这个问题的第一反应是65535。原因是:"听说端口号最多有65535个,那长连接就最多保持65535个了"。是这样的吗?还有的人说:"应该受TCP连...