tiger wang 在 用go语言创建虚拟生命:生命演化 中发帖
高中学染色体的时候我就在想,能否使用计算机模拟生物的演化。
十年过去了,我终于开始动手。
现在我写好了一个粗糙的demo:
[屏幕截图 2025-10-31 132404]
第一代全是正六边形,可以看到已经变异出了三角形的生命。
一、DNA
DNA是一个二进制字节数组,并且设置了基因起始片段和结束片段,在DNA链上寻找,找到一个起始片段,然后再往后找一个结束片段,之间的内容就是一个基因。
var (
// 起始基因片段
GENE_START_PART = [3]byte{'A', 'T', 'G'}
// 结束基因片段
GENE_END_PARTS = [3][3]byte{
{'T', 'A', 'A'},
{'T', 'A', 'G'},
{'T', 'G', 'A'},
}
)
type DNA struct {
Bin []b...