欢迎光临散文网 会员登陆 & 注册

【冰话XS】003:XS基本语法(上)

2022-01-27 00:48 作者:八重冰冰姬-丽颖明兰  | 我要投稿

※☆冰の引言☆※

前面详细介绍了XS的简要定义和杂谈攻击前摇,关于抬手方面大家应该也有比较全面的认识了,下面就来讲讲XS的基本要素和一些可用的数学类函数

※☆XSの基本要素☆※

XS在游戏中是通过 “脚本调用” 这个条件/效果实现的,具体条件/效果如何使用下文会详叙。

前文已述,XS是一种脱胎于C语言的变种语言,所以一般语法逻辑都是依照 C++ 之类的语法规则来定制的。游戏中系统会随时检测是否符合语法规则;如果出现语法错误,脚本调用的条件/效果会变成红色,系统会弹框报错,提示你修改错误写完脚本调用你可点一下其他任意的触发,如果语法正确,原来写脚本调用的那个触发会由红色转为绿色,与此同时该触发下的脚本调用条件/效果也会变成绿色,只有语法正确的脚本调用才会在触发栏变成绿色并且不会出现弹框。

※☆XS的首要原则:

  1. 必须使用ASCII字符串(英文字母/英文空格/英文标点),不能用全角、汉字等非ASCII字符,即使是用英文双引号括起的字符串,否则就会出现弹窗报错。

  2. 对于函数中的变量必须要先声明类型再使用,严禁变量在使用前未声明类型。

  3. 对于函数必须同样要先在条件中定义,才能通过效果进行调用,不能在函数未定义时调用。

自定义函数示例

这里默认讲解的是无参数的函数,有参数的函数以后再讲。

--- 关于函数/变量的Q&A ---

※☆以下是各数据类型详解:

一个函数可包括以下部分:

  • 返回值的类型: int,float,string,bool,vector  void 。

  • 自定义函数名规范:函数名只能使用 A~Z、a~z、0~9、下划线(_),且首字符不能是数字

  • 0个或N个参数:(类型 名称=设定值)。在调用函数时,输入不同的值可以改变参数的值。参数只能在函数内部使用,函数执行结束就会被销毁。

  • 变量表达式:函数被调用时执行。表达式可用参数作为变量,也可调用其他已定义函数

  • return 语句:可选。可让函数立即结束执行,并返回一个值,如果不写 return 语句,则默认返回 void(空值)。

变量表达式格式要求:

  • 一个脚本调用可视作一个子单元,变量名在子单元内部必须是唯一的,具有排他性,命名规则参照函数名命名规则,函数名可以与变量名重名,两者互不影响。

  • xs语言区分大小写,所以 Resource 和 resource 是两个不同的变量/函数。

  • 变量/函数名名称不能使用xs语言关键字(exp:int,float,void,string,bool etc.)

  • 赋值必须符合数据类型的格式要求(比如不能给整型变量设一个浮点型值:int a = 5.2)

  • 表达式末尾必须带一个英文分号,作为一句代码的结尾标识,可在同一行写多条语句(exp:int a = 1; int b = 2; )

  • 浮点数值为0.0时,将被视为一个正数

  • 等号(=)是赋值标志,表示把 右侧值 赋值给 左侧变量(exp:int a = 1; int b = a; 结果是b=1)

  • main 只能作为函数名,而不能作为变量名

※☆变量作用域&静态变量☆※

XS中的变量同C++一样,都存在局部变量全局变量。下面就简单看一下这两者的差异对比。

局部变量]- 在函数内部定义的变量。它只能在这个函数内部访问和修改

全局变量]- 在函数外部定义的变量。它在定义后可在代码的任何地方都可以访问并修改值

  • 全局变量的变量名在整个场景中可以多次修改,但只能定义一次

  • 任何函数都可访问或修改全局变量的值,只有在函数体内,才能修改或访问局部变量的值

  • 在定义新变量或函数参数时,无论是在何处,都不可以与全局变量同名。

[静态变量] - 被保护的局部变量
静态变量脱胎于局部变量,属于局部变量一个变种。但与函数用完就被系统销毁的普通局部变量不同,静态变量在函数执行结束后会保留数值,用于下一次使用。而且静态变量在首次被定义初始化后,就不会再被定义语句初始化了。

可见,静态变量不会在函数执行完毕后被清掉,而是留下来被不断累加了。

静态变量的用法:

  1. 记录一个函数被调用过多少次

  2. 作为一个低配版的全局变量使用

※☆XS中的三个数学运算函数&浮点型←→整型转换☆※ 

XS中有三个常用的数学运算函数,现罗列于下,分享于诸位。

数据类型之间的转换:(int←→float)

数据类型转换只能通过新定义一个变量,然后赋值来转换类型,只能使用隐式变换

这里只介绍浮点型与整型之间的转换(其他类型的转换在帝国2中基本不会用到)。

浮点数→整数:

整数→浮点数:

常数定义:

※☆冰の小结☆※

千里之行始于足下,万丈高楼平地起,想要对XS融会贯通灵活运用,这些基础知识必不可少。所以这里将用三个专栏讲清楚XS零散的基本语法规范,为后续真正函数的应用打下坚实的基础。下一篇章将着重描述运算符在XS中的使用以及条件、效果中的脚本调用如何通过触发在游戏中运作并发挥其作用。

欲知后事如何,请听下回分解。

私の心はいつも氷氷です 

Cly0806

01/26/2022


【冰话XS】003:XS基本语法(上)的评论 (共 条)

分享到微博请遵守国家法律