Kotlin中的生命游戏

此示例在Kotlin中实现了康威的《生命游戏》,着重于代码的简洁性而非性能。它遵循了Nelkinda Coderetreat促进者的失败准则。

康威生命游戏规则

  • 生命游戏的宇宙是一个无限的二维方格正交网格。
  • 每个单元格处于以下两种可能状态之一:活着(又名死亡,又名无人居住)。
  • 每个单元都与其八个邻居进行交互(水平、垂直或对角线相邻)。
  • 在每个时间步上,都会发生以下转换:
  • 人口不足:少于2个活邻居的任何活细胞都会死亡。
  • 生存:任何具有2个或3个活邻居的活细胞都可以存活到下一代。
  • 人口过剩:任何具有3个以上活邻居的活细胞都会死亡。
  • 繁殖(出生):任何有3个活邻居的死细胞都将成为活细胞。

活动(又称约束)

  • 行为驱动的开发。
  • 测试驱动开发。
  • 仅不可变的对象。
  • 仅纯函数。
  • 没有变量重新分配。
zip
gameoflife-kotlin-master.zip 预估大小:37个文件
folder
gameoflife-kotlin-master 文件夹
file
gradlew 6KB
file
settings.gradle 133B
folder
.github 文件夹
file
dependabot.yml 196B
folder
workflows 文件夹
file
maven.yml 418B
file
gradle.yml 424B
file
mvnw.cmd 6KB
file
mvnw 10KB
folder
src 文件夹
folder
doc 文件夹
folder
images 文件夹
file
GameOfLife_Sonar.png 164KB
folder
test 文件夹
folder
resources 文件夹
folder
features 文件夹
file
GameOfLife.feature 2KB
folder
Highlife.feature 文件夹
file
junit-platform.properties 193B
file
cucumber.properties 284B
folder
kotlin 文件夹
folder
com 文件夹
folder
nelkinda 文件夹
folder
training 文件夹
folder
gameoflife 文件夹
folder
life3d 文件夹
file
Point3DTest.kt 1KB
file
RulesTest.kt 999B
file
UniverseTest.kt 264B
file
RunCukesTest.kt 291B
file
GameOfLifeSteps.kt 537B
file
Parser.kt 652B
file
ParserTest.kt 801B
folder
life2d 文件夹
file
Point2DTest.kt 747B
folder
main 文件夹
folder
kotlin 文件夹
folder
com 文件夹
folder
nelkinda 文件夹
folder
training 文件夹
folder
gameoflife 文件夹
folder
life3d 文件夹
file
Point3D.kt 632B
file
Point.kt 278B
file
Rules.kt 810B
folder
life2d 文件夹
file
Point2D.kt 560B
file
Universe.kt 995B
file
LICENSE 34KB
folder
gradle 文件夹
folder
wrapper 文件夹
file
gradle-wrapper.properties 202B
file
gradle-wrapper.jar 58KB
folder
.mvn 文件夹
folder
wrapper 文件夹
file
MavenWrapperDownloader.java 5KB
file
maven-wrapper.jar 50KB
file
maven-wrapper.properties 218B
file
README.md 3KB
file
Makefile 1KB
file
gradlew.bat 3KB
file
pom.xml 11KB
file
.gitignore 122B
file
build.gradle 5KB
zip 文件大小:291.52KB