前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019 Wolfram “一行代码大赛”获胜者

2019 Wolfram “一行代码大赛”获胜者

作者头像
WolframChina
发布2019-12-18 10:38:49
1.4K0
发布2019-12-18 10:38:49
举报
文章被收录于专栏:WOLFRAM
“不到128个字符的代码就能写出读心术、瑜伽课、记忆游戏等这么多有趣的内容。你能找出第二种语言来完成这些吗?”

今年的Wolfram技术大会主办了第八届“一行代码大赛”,这个比赛中参赛者必须用小于等于128个字符的Wolfram语言代码向我们展示他们能在这短短的代码中做出什么惊人的事情。提交的作品包括游戏、卡牌和瑜伽练习,所有作品都用比推特推文还短的Wolfram语言代码编写。

01

荣誉奖

Marco Thiel: 文字游戏(128个字符)

Marco利用了SpeechSynthesize和SpeechRecognize的不精确性特点制造了一个机器版本的电话游戏(或叫做“传话游戏”),游戏中一个人小声向下一个人说一些词语,然后就这样一直传话下去,到最后可能会变成与第一个人说的内容完全不相关的内容。这个代码完全复制了这个游戏,由用户开始说一个词语,然后在运行过程中会生成一系列语音输出:

我的第一个输出是说出”tomato“,然后序列里后续不精确的重复是:“tomato-eh”,“tomahto-wee”,“tomato-wee”,“tumito-wee”,“turn-to-wee”,“turn-to-wee”,“turn-to-wee”,“turn-to-wee”,“turn-to-me”,“to-to-me”。

裁判们很喜欢这个概念和出色的执行效果,但是这个作品依然对各种条件有些挑剔,不是总能得出令人满意的结果——这也可能是Wolfram程序员需要研究的事情。

02

荣誉奖

Stella Maymin: 魔术(127个字符)

这是”一行代码大赛“历史上的第一个读心代码。你要做的事情只是”想“一张卡牌,然后按下”It is gone!“键,你的卡牌就会消失!这个代码可以读取你的想法哦!

然而代码里似乎有一点问题。如果你选择红桃Queen,这张牌就不会消失。但是不管怎样,裁判们认为这个条目的概念很棒,而且把概念也执行得很棒。

03

不知道是不是精彩的作品

George Varnavides: 双簧管龙形曲线 (128个字符)

整个代码写的是龙形曲线(https://en.wikipedia.org/wiki/Dragon_curve)的成音化,但是在评价环节裁判们找不到关掉这个背景音乐的方法所以整整听了25分钟的完整版音乐。裁判们喜欢这个创意,但是事实上是前一两分钟......

裁判们事后才发现,播放其他声音会中止队列中正在播放的声音。例如:

04

大赛第三名

Stella Maymin:面部擦除(90个字符)

Stella的第三名“面部擦除”使用了Wolfram语言中一个很多用户都不知道的函数:Inpaint。结合Inpaint和FindFaces对一张人像的面部位置插入空白的图像会生成很诡异的图像,适合我们技术大会召开时正在进行的鬼节。

05

大赛第二名

Amina Matt: 常规瑜伽晨练 (128个字符)

如果你不实际运行这个代码的话你可能不能看到完整的Amina设计的日常瑜伽动作。这个输出不仅会显示莲花式的动作,而且还会给出这个动作的音频描述,还配有令人心情平静的鸟叫声:

代码语言:javascript
复制
mitSound@ExampleData@{"Audio", "Bird"}~Do~11
Speak[n = "LotusPose"]
t = "YogaPose"~Entity~n
Speak@t@"Description"
Show@t@"Schematic"

(由于无法转码视频,小编建议你自己运行一下代码就可以听到美妙的鸟叫声啦!)

各种元素结合得特别好!我想问问你们任何人想不想挑战用比这个长10倍的其他语言写出和这个效果相当的代码。

裁判说如果代码可以生成随机瑜伽姿势的话那可以做成一个绝杀APP,可惜的是Amina有128个字符的限制,而且不是所有”YogaPose“里的内容都有充分的描述。

06

大赛第一名

Philip Maymin: 记忆游戏(127个字符)

Philip第一名的条目是传统记忆游戏的一个改编,使得其可以用一行代码表达出来。不像传统游戏那样要配对相似的项,这个游戏中你要按顺序打开1到16的数字:

当你点击星号的时候,你会听到代码告诉你被隐藏的数字,你必须记住代码在哪里说了些什么来完成比赛,尝试使用最小次数的点击来完成游戏。(由于视频转码失败,所以结果视频未能上载到这里与大家分享。大家可以点击"阅读原文"观看视频,或拷贝代码,自己在Mathematica软件中运行。)

当你打开了所有数字,那游戏面板就变成了你的分数,分数就是你使用的点击数:

仅仅用127个字符,Philip就创造了一个精美的可交互有挑战性的游戏,而且玩起来很有趣。做的不错!

裁判们评论说如果能一边玩一边看到你的分数就更好了。不过,Philip 你只剩下一个字符了。)


我想指出的是最精彩作品投票的几乎半数以上都给了Philip和Stella Maymin这对父女组合。这是”一行代码大赛“历史上的第一次。

这次一共有22支作品参赛,还有很多很多我无法在这里给大家演示的。后台发送“2019一行代码”便可以获取下载这个笔记本的链接,体验所有提交的作品。希望能在明年的”一行代码大赛“中看到你!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WOLFRAM 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档