switch (num) { case 0 : if (col==0) { if (row%2==0) { core_r = row - 1; core_c = col; } else { core_r = row - 1; core_c = col + 1 ; } bullet.x = suroundPositionArr[1][0]; bullet.y = suroundPositionArr[1][1]; break;是什么意思
时间: 2024-04-26 12:24:31 浏览: 4
这是一段代码,是一个 switch-case 语句块。其中 num 是一个变量,该变量的值被用于进行条件判断,如果满足某个条件,就会执行相应的代码块。在这个代码块中,如果 num 的值是 0,那么会执行 case 0 的代码块。在这个代码块中,首先会判断 col 的值是否为 0,如果是,则会进入 if 语句块中。在 if 语句块中,又会判断 row 是否为偶数,如果是偶数,就会让 core_r 的值等于 row 减去 1,core_c 的值等于 col,否则 core_r 的值等于 row 减去 1,core_c 的值等于 col 加 1。最后,会设置 bullet.x 和 bullet.y 的值,并且使用 break 语句跳出 switch 语句块。
相关问题
function setSuitablePlace(num:uint):void { //很多特殊情况得一一手动排除,包括奇偶行的差别,还有墙壁 switch (num) { case 0 : if (col==0) { if (row%2==0) { core_r = row - 1; core_c = col; } else { core_r = row - 1; core_c = col + 1 ; } bullet.x = suroundPositionArr[1][0]; bullet.y = suroundPositionArr[1][1]; break; } else { if (row%2==0) { core_r = row - 1; core_c = col - 1; } else { core_r = row - 1; core_c = col ; } bullet.x = suroundPositionArr[0][0]; bullet.y = suroundPositionArr[0][1]; break; }
这段代码的作用是根据周围点的索引值num来确定子弹移动到的位置。
具体来说,这里使用了一个switch语句,根据num的值来确定子弹应该移动到哪个位置上。num的值是在之前的代码中计算出来的,表示离碰撞点最近的周围点的索引值。
在每个case语句中,会先判断当前的列号col是否为0,如果是,则需要特别处理。因为在列号为0的情况下,子弹只能移动到suroundPositionArr数组中的第1个点或第2个点,而不能移动到第0个点。
接着,根据当前的行号row的奇偶性来确定子弹应该移动到哪个位置上。如果当前行号是偶数,那么子弹应该移动到周围点的左下方或左上方的位置上;如果当前行号是奇数,那么子弹应该移动到周围点的右下方或右上方的位置上。
最后,根据计算出来的core_r和core_c的值,确定子弹应该移动到哪个位置上,然后将子弹的坐标设置为对应的位置,并使用break语句跳出switch语句。
需要注意的是,这段代码仍然缺少上下文,因此无法判断其完整的功能和作用。
case 1 : if (col==12) { if (row%2==0) { core_r = row - 1; core_c = col - 1; } else { core_r = row - 1; core_c = col ; } bullet.x = suroundPositionArr[0][0]; bullet.y = suroundPositionArr[0][1]; break; } else { if (row%2==0) { core_r = row - 1; core_c = col; } else { core_r = row - 1; core_c = col + 1 ; } bullet.x = suroundPositionArr[1][0]; bullet.y = suroundPositionArr[1][1]; break; }
这段代码是switch语句中的第二个case语句,用于处理num等于1的情况。
与第一个case语句类似,这里也首先判断当前的列号col是否为12,如果是,则需要特别处理。因为在列号为12的情况下,子弹只能移动到suroundPositionArr数组中的第0个点或第1个点,而不能移动到第2个点。
接着,根据当前的行号row的奇偶性来确定子弹应该移动到哪个位置上。如果当前行号是偶数,那么子弹应该移动到周围点的右下方或左下方的位置上;如果当前行号是奇数,那么子弹应该移动到周围点的右上方或左上方的位置上。
最后,根据计算出来的core_r和core_c的值,确定子弹应该移动到哪个位置上,然后将子弹的坐标设置为对应的位置,并使用break语句跳出switch语句。
需要注意的是,这段代码仍然缺少上下文,因此无法判断其完整的功能和作用。