自制脚本语言(第一弹)

千里之行始于足下,哪一个成熟的男孩纸不想拥有一个属于自己的游戏引擎呢?


为什么要造轮子(因为特别酷):

目前,使用图形界面编写剧本,需要使用者双手在鼠标和键盘两者之中来回切换,限制了剧本编写者的创作潜力。因此我们需要一个简洁的纯文本输入方式,以提升写作的效率。然而,目前大多数常用的脚本语言过于复杂,对非专业人员并不友好。更重要的是,由于这些语言主要是由国外人发明,他们并非考虑到非英文母语使用者的习惯,比如对英文关键词的不熟悉,以及存在对半角全角敏感的问题。许多非专业程序编写者经常会将“"和((混用。因此,需要发明一种针对中文游戏剧本解析的脚本语言,以此提升游戏剧本编写的效率。

灵感来源于知乎用户林登·胜的回答提到的内容,感觉采用缩进作为代码块特别优雅。显而易见的解决了代码分块问题,而且不会引入额外的关键词或者采用难懂的大括号方式。此外,自从Python开始流行以后,很多学校也为非计算机专业的学生开设Python的相关课程,缩进风格更容易让人接受。在此基础上,我希望参数之间采用空格分割,这样会更加优雅。同时,以行为单位,一行只干最简单的事情,这样会使得整个代码清晰易读。

以下是我希望的代码样式:

注释 这算一种注释
# 这种也可以作为注释

# 函数参数不需要括号
无参数的函数:
函数: 参数
函数: 参数1 参数2 参数3
# 此外还可以这样写
角色名: 可以直接写角色说了什么
# 所有的角色名会作为函数直接注入环境变量中。
# 如果该名字不是变量,那么字符串可以省略引号。
# 如果出现需要引号,或者操作符的情况,需要用\来转义。
# 这可能是写作中最不舒服的一种情况,我在思考应该如何回避。
角色名: \“冒号需要出现在对话框中\:引号需要出现在对话中\”

# 变量的定义
变量1 = 1 	# 整数类型
变量2 = 2.5 	# 浮点类型
变量3 = 5 / 2 # 除法结果为浮点类型
变量4 = 5 // 2 # 整除为整数类型
# 此外还支持幂函数(**)、求余(%)、取内容(.)和下标运算(【】)
# 变量类型有整数、浮点、布尔、字符串和函数

# 剧本最重要的就是流程控制
# 条件分支采用缩进作为代码分块
# 其中TAB现对于8个空格,2个全角空格
如果 表达式
	# 这里是表达式为真的情况
否则如果 表达式2
	# 这里是表达式1为假且2为真的情况
否则
	# 这里是都不是的情况
	
# 选项也是剧本里面最常见的流程控制
# 选项相对于条件分支来说,更加特殊
# 表达式接收的是一个字符串,字符串会显示在屏幕上,作为提问
# 选项是一个个字符串,玩家选择对应选项进入对应分支
选择 字符串
选项 选项A
	输出: 玩家选项A选项
选项 选项B
	输出: 玩家选项B选项

# 此外还有重要的就是场景跳转了
# 这个其实做成简单的函数就可以了
跳转场景: 场景名称

你可能感兴趣的:(游戏引擎开发,unity,开发语言,游戏程序,游戏,游戏开发)