文件名称:生命游戏的实现:Conway的生命游戏以多种语言实现
文件大小:48KB
文件格式:ZIP
更新时间:2024-02-24 08:56:27
javascript ruby kotlin game python
康威生活游戏的多语言实现 该项目的目标是以多种编程语言创建几乎相同的“ ”(GOL)实现。 我这样做是为了学习新的编程语言,并通过简单的实现粗略了解每种语言的语法差异和运行速度(没有特定语言的优化无法应用于其他语言)。 为了进行公平的比较,所有实现都使用核心语言中可用的功能(尽可能没有框架)进行尽可能相似的编码。 每个实现都演示了基本的控制流(如果是,for,foreach,while等),以及每种语言的核心概念(例如变量赋值,方法定义,数组/列表,哈希/字典等)。 它还使用标准的OOP功能(例如,类定义/变量/方法,实例变量/方法,类/变量/方法可见性)。 注意:因为我已使所有实现尽可能地相似,所以如果我使用了仅以该语言提供的本机模式/优化功能,则某些实现的运行时可能不会以最快的速度运行。 我想尽可能避免使用特定于语言的优化。 但是,可能存在可以应用于所有实现的通用优化,可以加快处理速度。 如果有人发现任何问题,请打开Github问题,详细说明可能的改进。 速度结果(按滴答时间) 注意:这些速度结果是在Macbook Pro 15英寸Retina(2018年中),2.6 GHz
【文件预览】:
Game-Of-Life-Implementations-master
----.gitignore(10B)
----kotlin()
--------.gitignore(17B)
--------world.kt(4KB)
--------README.md(124B)
--------play.kt(1KB)
----swift()
--------.gitignore(5B)
--------world.swift(5KB)
--------README.md(139B)
--------main.swift(1KB)
----nim()
--------.gitignore(14B)
--------world.nim(5KB)
--------play.nim(1KB)
--------README.md(101B)
----dart()
--------.gitignore(0B)
--------play.dart(1KB)
--------world.dart(5KB)
--------README.md(92B)
----typescript()
--------.gitignore(5B)
--------tsconfig.json(423B)
--------README.md(185B)
--------world.ts(4KB)
--------play.ts(1KB)
----LICENSE(1KB)
----crystal()
--------.gitignore(19B)
--------play.cr(1KB)
--------README.md(113B)
--------world.cr(4KB)
----scala()
--------.gitignore(8B)
--------World.scala(4KB)
--------README.md(128B)
--------Play.scala(1KB)
----javascript()
--------.gitignore(0B)
--------world.js(4KB)
--------play.js(1KB)
--------README.md(348B)
--------play.html(300B)
----java()
--------World.java(5KB)
--------.gitignore(8B)
--------README.md(94B)
--------Play.java(1KB)
----README.md(9KB)
----python()
--------.gitignore(12B)
--------world.py(4KB)
--------play.py(1KB)
--------README.md(87B)
----ruby()
--------.gitignore(0B)
--------play.rb(1KB)
--------world.rb(3KB)
--------README.md(75B)
----go()
--------.gitignore(3B)
--------world.go(3KB)
--------play.go(1KB)
--------README.md(93B)
----lua()
--------.gitignore(0B)
--------README.md(73B)
--------world.lua(4KB)
--------play.lua(1KB)
----c#()
--------.gitignore(6B)
--------play.cs(1KB)
--------world.cs(5KB)
--------README.md(98B)
----php()
--------.gitignore(0B)
--------world.php(4KB)
--------README.md(73B)
--------play.php(1KB)
----groovy()
--------.gitignore(0B)
--------Play.groovy(1KB)
--------README.md(112B)
--------World.groovy(4KB)