Wonky游戏编程语言2021.04)

2021-04-11 08:34:08

Wonkey是一个开源编程语言,用于创建跨平台视频游戏,受到“Blitz”的语言的影响。

如果您在GitHub上阅读这一点,请注意HTTPS://github.com/wonkey-coders/wonkey/releases提供的Wonkey(具有完整源代码)的预构造版本。

除非您使用其中一个预构造版本,否则您需要安装Mingw-64编译器。 Mingw-64有自我提取的存档,这里已经用Wonkey测试了:

如果您将其安装到Wonkey' Devtools'目录,以下步骤应该'只是工作' (哈!)否则您必须在环境变量中添加MingW64 \ Bin路径。

Wonkey自动检测您的MSVC安装并使用它默认情况下,无需更改。如果您希望使用GCC,则需要在bin \ windows \ env_windows.txt中更改wx_use_msvc变量。

如果一切顺利,你应该结束一个' Wonkey(Windows)'在Wonkey目录中exe。运行此操作以推出宽(Wonkey IDE)。

您现在应该能够构建和运行Wonkey应用程序。 &#39中有一些示例应用程序; Wonkey / Simems'目录。

在MacOS上,安装Xcode命令行工具。您可以通过输入shell来执行此操作:

在Linux上,安装GCC Toolchain和库。您可以通过输入shell来执行此操作:

如果一切顺利,你应该结束一个' onkey(...)'应用程序在Wonkey目录中。运行此操作以推出宽(Wonkey IDE)。

您现在应该能够构建和运行Wonkey应用程序。 &#39中有一些示例应用程序; Wonkey / Simems'目录。

#获取emsdk repogit clone https://github.com/emscripten-core/emsdk.git#输入该目录cd emsdk#获取最新版本的emsdk(不需要第一次克隆第一次克隆)git pull#下载和安装最新的SDK工具../ EMSDK安装最新#Make"最新" SDK"活跃"对于当前用户。 (写入.emscripten文件)./ emsdk激活最新的#激活当前终端源中的活动路径和其他环境变量./emsdk_env.sh #in上面的描述我们要求emsdk安装和激活最新,这是最新的标记发布。这通常是你想要的。 #例如,您还可以通过指定特定版本,例如,。/ emsdk安装1.38.45

持续到'基本和#39; Wonkey的原始Blitz语言的风格提供了一些非常强大的新功能,包括:

功能test1()打印" test1"结束函数test2()打印" test2"结束功能测试仪(测试:void())测试()结束'主入口功能main()测试仪(test1)测试仪(test2)结束

功能测试(Func:void())func()结束'本地i的主条目函数main():= 0直到10个测试(lambda()打印i结束)下一结束

结构与课程类似于它们封装成员数据,但不同之处在于它们在周围和#39;按值'而不是'通过参考'

这允许结构在堆栈上有效地创建,而无需任何垃圾收集开销。

结构字段数据:int = 10结束函数测试(s:s)s.data = 100 end'主条目函数main()本地s:=新s'在堆栈上创建一个新的s(非常快!)测试和#39;测试获得' s&#39的副本;打印s.data'打印' 10'结尾

函数服务器(主机:字符串,服务:字符串)本地服务器:= socket.listen(主机,服务)重复本地客户端:= server.accept()新光纤(lambda()本地数据:= client.receive(... )结束)永远结束

操作员重载允许您覆盖内置语言运算符的含义,以获取更多富有表现力的代码。

struct vec2字段x:float字段Y:float方法new(x:float,y:float)self.x = x self.y = y end运算符+:vec2(v:vec2)返回新的vec2(x + vx,y + vy)结束运算符:string()返回" vec2(" + x + + 34;" + y +")"结束'主条目函数main()本地V0:=新vec2(10,20)本地V1:=新vec2(30,40)打印v0 + v1结束

Wonkey提供A'主要是' 增量垃圾收集器有效地收集垃圾,因为它运行而没有任何烦人的讨厌和#39;扫掠' 在典型的垃圾收集器中发现的尖峰。 Wonkey包括一个可选的反射系统,允许您在运行时检查和修改变量和值: #进口"<反射> " c类方法更新(msg:string)print" c.update:msg =" + MSG结束'主条目函数main()本地c:= new c本地类型:= typeof(c)打印类型local delp:= type.getdecl("更新")张。 邀请(C,"您好世界!")结束 Wonkey是一个社区项目和由Mark Size,&#39的创造者设计的猴子2编程语言的叉子; Blitz' 语言范围。