Kotlin中的生命游戏
此示例在Kotlin中实现了康威的《生命游戏》,着重于代码的简洁性而非性能。它遵循了Nelkinda Coderetreat促进者的失败准则。
康威生命游戏规则
- 生命游戏的宇宙是一个无限的二维方格正交网格。
 - 每个单元格处于以下两种可能状态之一:活着(又名死亡,又名无人居住)。
 - 每个单元都与其八个邻居进行交互(水平、垂直或对角线相邻)。
 - 在每个时间步上,都会发生以下转换:
 - 人口不足:少于2个活邻居的任何活细胞都会死亡。
 - 生存:任何具有2个或3个活邻居的活细胞都可以存活到下一代。
 - 人口过剩:任何具有3个以上活邻居的活细胞都会死亡。
 - 繁殖(出生):任何有3个活邻居的死细胞都将成为活细胞。
 
活动(又称约束)
- 行为驱动的开发。
 - 测试驱动开发。
 - 仅不可变的对象。
 - 仅纯函数。
 - 没有变量重新分配。
 
                            
                            gameoflife-kotlin-master.zip
                            预估大小:37个文件
                        
                        
                        
                                
                                gameoflife-kotlin-master
                                文件夹
                            
                                                        
                                
                                gradlew
                                6KB
                            
                                                        
                                
                                settings.gradle
                                133B
                            
                                                        
                                
                                .github
                                文件夹
                            
                                                        
                                
                                dependabot.yml
                                196B
                            
                                                        
                                
                                workflows
                                文件夹
                            
                                                        
                                
                                maven.yml
                                418B
                            
                                                        
                                
                                gradle.yml
                                424B
                            
                                                        
                                
                                mvnw.cmd
                                6KB
                            
                                                        
                                
                                mvnw
                                10KB
                            
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                            
                            
                                                        
                                        
                                    文件大小:291.52KB
                                
                                
                                
                            
评论区