康威的生命游戏是蜂窝自动化的典型例子。这些细胞形成一个方形网格,每个细胞都有两种状态:活的或死的。在每一次轮转中,每个单元都会根据其及其八个邻居的状态同时更新:
如果你选择接受的话,你的任务就是用你最喜欢的语言来编码最短的生命游戏实现。
规则:
发布于 2011-08-23 04:32:15
我追求的是最大的黄金,有足够的界面来满足这个问题。
import time
P=input()
N=range(20)
while 1:
for i in N:print''.join(' *'[i*20+j in P]for j in N)
time.sleep(.1);Q=[(p+d)%400 for d in(-21,-20,-19,-1,1,19,20,21)for p in P];P=set(p for p in Q if 2-(p in P)<Q.count(p)<4)你就这样运行它:
echo "[8,29,47,48,49]" | ./life.py列表中的数字表示起始单元格的坐标。第一行是0-19,第二行是20-39,等等。
在一个有21行的终端上运行它,它看起来很时髦。
发布于 2015-06-21 17:57:36
为您的TI-84系列图形计算器(!)。这是一个相当大的挑战,因为编写缓冲的图形例程(绝对不是内置的)是不容易的,而图形屏幕只有四个相关的图形命令:Pxl-On()、Pxl-Off()、Pxl-Change()和pxl-Test()。
使用屏幕上的每个可访问像素,并正确包装。每个单元格是一个像素,程序在屏幕的右侧水平地逐行更新。由于计算器只有一个15 the的z80处理器,而且BASIC是一种缓慢的解释语言,所以代码每5分钟只得到一帧。
用户输入很简单:在运行程序之前,使用Pen工具在图形屏幕上绘制您的形状。
从我进入代码高尔夫竞赛在计算器论坛Omnimaga后改编而成。
0
While 1
For(X,0,94
Ans/7+49seq(pxl-Test(remainder(Y,63),remainder(X+1,95)),Y,62,123
For(Y,0,62
If 1=pxl-Test(Y,X)+int(3fPart(3cosh(fPart(6ֿ¹iPart(sum(Ans,Y+1,Y+3
Pxl-Change(Y,X
End
End
End这段代码还有一个额外的特性:它检测它是否第一次运行,以及是否将屏幕状态随机化。在随后的运行中,如果在帧完成后停止,它将自动继续进行模拟。但是,它不是一个竞争条目,因为它没有包装屏幕;如果事先清除图形屏幕,外部边框上的单元格将始终被视为死掉。
0
While 1
For(X,0,93
Ans/7+49seq(pxl-Test(Y,X+1),Y,0,62
For(Y,1,61
If 2rand>isClockOn=pxl-Test(Y,X)+int(3fPart(3cosh(fPart(6ֿ¹iPart(sum(Ans,Y,Y+2
Pxl-Change(Y,X
End
End
ClockOff
End这个版本可能是我编写过的最高级的代码,包含了一些真正令人讨厌的模糊优化:
int(3fPart(3cosh(给出1,当输入等于4/6时给出2,当输入等于0、1/6、2/6或5/6时给出0。节省约6个字节。发布于 2020-05-03 18:37:23

0xC5 0x24 0x20 0xB3 0x07 0x08 0x04 0xA7 0xC0 0x2D 0x05 0x91 0x02 0x41 0x5E 0x02
0x40 0xFC 0x02 0x80 0x9C 0x00 0x4B 0x75 0xF2 0x8A 0x04 0xF9 0xD2 0xD8 0xEB 0xE1此代码用x86汇编程序编写,并在MSDOS中工作。二进制文件的大小为32个字节。你可以找到一个非常详细的描述。可见光场为80x25。输出以文本模式直接显示在屏幕上,文本模式也用作输入,因此您可以在启动程序之前输入模式。您可以下载和评论介绍,也可以测试在线版本。
lds sp,[si]
X: db 32
mov bl,7 ; O: 3 iterations
or [si],al ; O: Add in new cell
cmpsw
shr byte [di],5 ; O: Shift previous value
C: xchg cx,ax
add al,[di+bx+94] ; O: Add in this column
add al,[si+bx-4]
add al,[si+bx+156]
dec bx ; O: Loop back
jnz C
mov al,[si] ; O: 3 = birth, 4 = stay (tricky):
stc ; O: 1.00?0000x --> 0.0x100?00 (rcr 3)
rcr al,cl ; O: +---> 0.00x100?0 (rcr 4)
jmp short X-1https://codegolf.stackexchange.com/questions/3434
复制相似问题