32 设置变量计算和判断

用可变数据进行运算

变量

变量,顾名思义可以简单理解为可变的量,类似于数学中的用字母表示量,可参加一定的运算。如果你学过Python、C++等高级语言,那么恭喜你,节奏医生中变量的表达与之接近;如果没有学过也无需顾虑,本节向大家介绍变量的使用。

变量分为两种,只读变量和可写变量。

只读变量

只读变量多表示游戏中的即时参数,提供有关游戏当前状态的信息。它们的值随游戏进行可以发生变化,但是不可人为修改。下面提供了只读变量的变量名及其有关定义:

变量名 定义
bpm 当前的bpm
barNumber 当前所在的小节编号
numEarlyHits 目前过早按拍的次数
numLateHits 目前过晚按拍的次数
numPerfectHits 目前完美按拍的次数
numMisses 目前错过拍子的次数(不考虑错误权重)
numMistakes 目前错过拍子的次数(考虑错误权重)
XPress 当X被按下的瞬间值为true,其余时刻为false
XRelease 当X被松开的瞬间值为true,其余时刻为false
XIsPressed 当X被按下时值为true,否则为false

特别地,上表中后三行变量名中的X特指按键名,使用时将X替换为对应的按键名,分别为p1(玩家1)、p2(玩家2)、anyPlayer(任意玩家)、up(上)、down(下)、left(左)、right(右)。

可写变量

可写变量与只读变量类似,其参数可以随游戏进程变化,与只读变量不同的是,可写变量的值可人为更改。可写变量大致可分为三类:

  1. 整型(int):整型变量可以存储整数,变量名写作i0、i1、…、i9。
  2. 浮点型(float):浮点型变量可以存储浮点数(也就是小数。特别地,形如1.0的值为浮点数),变量名写作f0、f1、…、f9。
  3. 布尔型(boolean):布尔型变量可以存储布尔值。布尔值包含且仅包含True(真)和False(伪)。布尔型变量名写作b0、b1、…、b9。

需要注意的是上述三类变量,每类有且仅有所列举的10个,且无法修改变量名。一般地,整形变量的值属于区间[-2147483648, 2147483647],而浮点型变量取值范围相对广泛。

特别地,存在一额外的整型变量,写作buttonPressCount,用法与一般整型变量相同,区别在于该变量的值在玩家按键时自动+1。

变量的运算、比较与使用

变量的运算需要使用运算符,运算符可分为三类,分别为赋值运算符、算术运算符、比较运算符。语法如下表:

表达式 含义
++ 值+1
-- 值-1
= 赋值为
+
-
*
/
%
== 相等
!= 不等
< 小于
> 大于

变量可以在调用自定义方法;浮动文字、显示对话、显示状态牌;条件中使用。

  1. 调用自定义方法 可以在调用自定义方法的表达式框里对变量进行读写、赋值,可使用赋值运算符。 例如:i1++(使i1的值+1),i4=4(将i4的值赋为4)
  2. 浮动文字、显示对话、显示状态牌 变量可以嵌入到这些事件的显示内容中,使用时将表达式用大括号包裹起来,可使用算数运算符连接。 例如:“武士有{i0}个朋友,洛根比武士多{i1}个朋友,所以洛根有{i0+i1}个朋友。”这句话在i0==4且i1==6时输出为“武士有4个朋友,洛根比武士多6个朋友,所以洛根有10个朋友。”
  3. 条件 变量可用于自定义类型条件的表达式框中。通常与比较运算符结合使用。 例如:i0==10(i0等于10)、i5<i0(i5小于i0)
编辑器提示 凹兔 凹兔 凹兔