最近(几年前),编程 网站上出现了一些有关以140 Bytes实现俄罗斯方块的嗡嗡声。...
事实证明,尽管它很小,但它是Tetris的简化版本,甚至不是完整的实现。只有核心逻辑功能适合140字节的Javascript。要实际运行它,您还需要约840个HTML字符。
我们可以做得更好!
面临的挑战是在尽可能少的推文中实现完整版本的“二进制俄罗斯方块”。
二进制俄罗斯方块规则:
- 程序必须显示至少包含5列和6行单元格的运动场。
- 可以使用任何显示方法,只要清楚地标记了区域的块和边缘即可。
- 至少必须有两种类型的块:
#
和##
。其他块支持,例如###
:P或形状像L的角度块之类的将被我:P投票,最完整的二元俄罗斯方块游戏(大多数块如原始和旋转功能)将赢得我的幸福,并可能获得50 rep奖励。 - 新块将添加到第一行的字段中,并且一个块单元必须占据中心列。
- 方块以固定的速率朝底行下降。即使没有用户输入,块也必须下降。
- 当砖块碰到场地底部或下部砖块时,它们会停止下降并固定到位。添加了一个新块。
- 当该行中的所有列都填充有块时,该行将被清空,并且上方的所有固定块将下拉一行。
- 该程序必须响应按键。必须有3个唯一的键才能执行以下功能
- 将当前块左移1列
- 将当前块右移1列
- 将当前块向下移动1行
- 每条推文只能包含140个字符。允许使用可以放在推文中的多字节字符。
一条推文中的规则很简单。如果可以鸣叫,则可以使用它。
口译语言遵循相同的规则。每个部分都必须遵循规范。只要没有发生运行时错误(其余错误均符合规范),您的答案就是有效的 Golfing规则:
由于原始实现是“可发推的”,因此这一挑战也需要同样的条件。条目必须能够以一系列推文(每行140个字符或更少)的形式发送。第一条推文必须包含编译器/解释器的名称,程序的名称以及任何命令行参数
- 它将保存为文件“ P0”
- 以下N条推文必须将该程序包含为一系列行。
- 每个推文将存储在名称为T <n>的文件中,其中n为1..N
- 每行都将添加到前面的行中并进行编译或解释。它必须产生一个有效的目标文件或程序。
- 在添加最后一行之前,该程序无需运行。
该程序将以以下方式运行(伪bash)
interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > $prog $interp $prog $args die("FAIL") if $? #detect error done
解释器必须是尚未实现俄罗斯方块的通用可执行程序。
评分:
最少的推文,包括P0。领带被最大数量的备用字符打破(140 * num tweets-总字符数)。
示例条目
chrome a.htm
<html><div id="output"></div></html>
<script>cool java script here</script>
得分= 3(334剩余)
cc a.c ;a.out
main(){/*cool prog here*/}
得分= 2(241备用)
tetris
分数= 1(备用134分), 如果合法,则不合法