📄 maincanvas.java
字号:
break;
case 7: // '\007'
EShotX[k12] += EShotMX[k12];
EShotY[k12] += EShotMY[k12];
if(EShotX[k12] <= 0)
EShotMX[k12] = Math.abs(EShotMX[k12]);
if(EShotX[k12] >= SCREEN_W * 10)
EShotMX[k12] = -Math.abs(EShotMX[k12]);
if(EShotY[k12] <= -100)
EShotAlive[k12] = false;
if(EShotY[k12] >= (SCREEN_H + 10) * 10)
EShotAlive[k12] = false;
break;
case 8: // '\b'
EShotX[k12] += EShotMX[k12];
EShotY[k12] += EShotMY[k12];
EShotFlag[k12]++;
if(EShotFlag[k12] >= 5)
EShotAlive[k12] = false;
break;
case 10: // '\n'
EShotX[k12] += EShotMX[k12];
EShotY[k12] += EShotMY[k12];
EShotFlag[k12]++;
if(EShotFlag[k12] >= 2)
CreateEShot(8, EShotX[k12] / 10, EShotY[k12] / 10, 0, 0);
if(EShotX[k12] <= -100)
EShotAlive[k12] = false;
if(EShotX[k12] >= (SCREEN_W + 10) * 10)
EShotAlive[k12] = false;
if(EShotY[k12] <= -100)
EShotAlive[k12] = false;
if(EShotY[k12] >= (SCREEN_H + 10) * 10)
EShotAlive[k12] = false;
break;
case 11: // '\013'
EShotFlag[k12]++;
if(EShotFlag[k12] > 120)
{
EShotX[k12] += EShotMX[k12];
EShotY[k12] += EShotMY[k12];
} else
if(EShotFlag[k12] % 12 < 10)
{
EShotX[k12] += EShotMX[k12];
EShotY[k12] += EShotMY[k12];
} else
if(EShotFlag[k12] % 12 < 12)
{
Path = SetTarget(EShotX[k12] / 10, EShotY[k12] / 10, PlayerX, PlayerY, 4);
EShotMX[k12] = Path[0];
EShotMY[k12] = Path[1];
}
if(EShotX[k12] <= -100)
EShotAlive[k12] = false;
if(EShotX[k12] >= (SCREEN_W + 10) * 10)
EShotAlive[k12] = false;
if(EShotY[k12] <= -100)
EShotAlive[k12] = false;
if(EShotY[k12] >= (SCREEN_H + 10) * 10)
EShotAlive[k12] = false;
break;
}
if(FlgBoss == 2)
{
boolean flag3 = true;
for(int l12 = 0; l12 < 5; l12++)
label0:
switch(BossType[l12])
{
default:
break;
case 1: // '\001'
if(l12 == 0)
{
if(!BossAlive[l12])
{
Muteki = 10;
BossAlive[1] = false;
BossAlive[2] = false;
BossBomb[l12]++;
if(BossBomb[l12] / 4 >= 5 && PlayerBomb <= 0)
{
BossType[l12] = 0;
GameClear = true;
}
break;
}
BossFlag2[l12]++;
int ai2[] = {
1, 1, 1, 2, 2, 2, 3, 3, 3
};
if(BossFlag2[l12] >= 10 && BossFlag2[l12] < 19)
{
int l = BossFlag2[l12] - 10;
if(Round != 1 && BossFlag2[l12] == 10)
{
CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
}
if(BossAlive[1])
{
CreateEShot(ai2[l], BossX[l12] - 24, BossY[l12] - 16, CIRCLEX[l * 2 + 16] * 6, CIRCLEY[l * 2 + 16] * 6);
if(Round != 1)
CreateEShot(ai2[l], BossX[l12] - 24, BossY[l12] - 16, -CIRCLEX[l * 2 + 16] * 6, CIRCLEY[l * 2 + 16] * 6);
flag3 = false;
}
} else
if(BossFlag2[l12] >= 30 && BossFlag2[l12] < 39)
{
int i1 = BossFlag2[l12] - 30;
if(Round != 1 && BossFlag2[l12] == 30)
{
CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
}
if(BossAlive[2])
{
CreateEShot(ai2[i1], BossX[l12] + 24, BossY[l12] - 16, -CIRCLEX[i1 * 2 + 16] * 6, CIRCLEY[i1 * 2 + 16] * 6);
if(Round != 1)
CreateEShot(ai2[i1], BossX[l12] + 24, BossY[l12] - 16, CIRCLEX[i1 * 2 + 16] * 6, CIRCLEY[i1 * 2 + 16] * 6);
flag3 = false;
}
} else
if(BossFlag2[l12] >= 50 && BossFlag2[l12] < 60 && BossFlag2[l12] % 3 == 0)
{
if(Round == 1)
{
CreateEShot(4, BossX[l12] - 4, BossY[l12] + 17, 0, 60);
CreateEShot(4, BossX[l12], BossY[l12] + 15, 0, 60);
CreateEShot(4, BossX[l12] + 4, BossY[l12] + 17, 0, 60);
} else
{
CreateEShot(4, BossX[l12] - 4, BossY[l12] + 17, 0, 80);
CreateEShot(4, BossX[l12], BossY[l12] + 15, 0, 80);
CreateEShot(4, BossX[l12] + 4, BossY[l12] + 17, 0, 80);
if(BossAlive[1])
{
CreateEShot(4, BossX[l12] - 27 - 4, BossY[l12] + 6 + 25, 0, 80);
CreateEShot(4, (BossX[l12] - 27) + 4, BossY[l12] + 6 + 25, 0, 80);
}
if(BossAlive[2])
{
CreateEShot(4, (BossX[l12] + 27) - 4, BossY[l12] + 6 + 25, 0, 80);
CreateEShot(4, BossX[l12] + 27 + 4, BossY[l12] + 6 + 25, 0, 80);
}
}
} else
if(BossFlag2[l12] == 65)
BossFlag2[l12] = 0;
else
if(BossFlag2[l12] >= 80 && BossFlag2[l12] < 89 || BossFlag2[l12] >= 100 && BossFlag2[l12] < 109)
{
if(Round != 1 && BossFlag2[l12] % 4 == 0)
{
CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -12, 36);
CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 12, 36);
CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
}
if(BossFlag2[l12] % 3 == 0)
{
if(BossAlive[1])
{
CreateEShot(4, BossX[l12] - 27 - 4, BossY[l12] + 6 + 25, 0, 60);
CreateEShot(4, (BossX[l12] - 27) + 4, BossY[l12] + 6 + 25, 0, 60);
}
if(BossAlive[2])
{
CreateEShot(4, (BossX[l12] + 27) - 4, BossY[l12] + 6 + 25, 0, 60);
CreateEShot(4, BossX[l12] + 27 + 4, BossY[l12] + 6 + 25, 0, 60);
}
}
} else
if(BossFlag2[l12] >= 120 && BossFlag2[l12] < 160)
{
if(BossFlag2[l12] >= 120 && BossFlag2[l12] < 129)
{
int j1 = BossFlag2[l12] - 120;
CreateEShot(ai2[j1], BossX[l12], BossY[l12], CIRCLEX[j1 * 2 + 16] * 4, CIRCLEY[j1 * 2 + 16] * 4);
} else
if(BossFlag2[l12] >= 130 && BossFlag2[l12] < 138)
{
int k1 = BossFlag2[l12] - 130;
CreateEShot(ai2[k1], BossX[l12], BossY[l12], -CIRCLEX[k1 * 2 + 17] * 4, CIRCLEY[k1 * 2 + 17] * 4);
}
if(BossFlag2[l12] >= 140 && BossFlag2[l12] < 149)
{
int l1 = BossFlag2[l12] - 140;
CreateEShot(ai2[l1], BossX[l12], BossY[l12], CIRCLEX[l1 * 2 + 16] * 4, CIRCLEY[l1 * 2 + 16] * 4);
} else
if(BossFlag2[l12] >= 150 && BossFlag2[l12] < 158)
{
int i2 = BossFlag2[l12] - 150;
CreateEShot(ai2[i2], BossX[l12], BossY[l12], -CIRCLEX[i2 * 2 + 17] * 4, CIRCLEY[i2 * 2 + 17] * 4);
}
if(Round != 1 && BossFlag2[l12] % 10 == 0)
{
if(BossAlive[1])
{
Path = SetTarget(BossX[l12] - 24, BossY[l12] + 16, PlayerX, PlayerY, 4);
CreateEShot(5, BossX[l12] - 24, BossY[l12] + 16, Path[0], Path[1]);
}
if(BossAlive[2])
{
Path = SetTarget(BossX[l12] + 24, BossY[l12] + 16, PlayerX, PlayerY, 4);
CreateEShot(5, BossX[l12] + 24, BossY[l12] + 16, Path[0], Path[1]);
}
}
flag3 = false;
} else
if(BossFlag2[l12] == 170)
BossFlag2[l12] = 70;
if(BossFlag2[l12] < 70 && BossLife[0] <= BossMaxLife / 2)
BossFlag2[l12] = 70;
switch(BossFlag1[l12])
{
default:
break;
case 0: // '\0'
BossY[l12] += 4;
if(BossY[l12] >= BossYSize[l12] / 2 + 0)
BossFlag1[l12] = 1;
break label0;
case 1: // '\001'
if(!flag3)
break label0;
BossX[l12] -= 2;
if(BossX[l12] <= BossXSize[l12] / 2)
BossFlag1[l12] = 2;
break label0;
case 2: // '\002'
if(!flag3)
break label0;
BossX[l12] += 2;
if(BossX[l12] >= SCREEN_W - BossXSize[l12] / 2)
BossFlag1[l12] = 1;
break;
}
break;
}
if(!BossAlive[l12])
{
BossBomb[l12]++;
if(BossBomb[l12] >= 5)
BossType[l12] = 0;
break;
}
if(l12 == 1)
{
BossX[1] = BossX[0] - 27;
BossY[1] = BossY[0] + 6;
break;
}
if(l12 == 2)
{
BossX[2] = BossX[0] + 27;
BossY[2] = BossY[0] + 6;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -