📄 qt_canvas.java
字号:
if(npc_cla_state[3] == 0)
{
is_npc[3] = false;
npcX[3] = G_WW;
}
if(npc_cla_state[3] == 1)
{
is_npc[3] = true;
npcX[3] = -NPC3_W;
}
npcY[3] = NPC3_MAPY;
npc_paint[3] = true;
}
}
if(npc_paint[3])
{
if(NPC_dead[3])
{
npcY[3] += 3;
if(is_npcB[3])
{
if(is_npc[3])
npcBX[2] += NPC_AMMO1X;
else
npcBX[2] -= NPC_AMMO1X;
npcBY[2] += NPC_AMMO1Y;
}
if(npcBY[2] > G_WH)
{
if(npcX[3] + NPC3_HCENTER < MAN_HCENTER + manX)
is_npc[3] = true;
else
is_npc[3] = false;
is_npcB[3] = false;
npcBX[2] = 0;
npcBY[2] = 0;
}
if(npcY[3] > G_WH)
{
npc_paint[3] = false;
NPC_dead[3] = false;
}
}
else
{
if(npc_cla_state[3] == 0)
npcX[3] -= 2;
if(npc_cla_state[3] == 1)
npcX[3] += 2;
if(npcX[3] > -NPC3_HCENTER && npcX[3] < G_WW - NPC3_HCENTER && npcX[3] % 44 == 0)
{
is_npcB[3] = true;
npcBX[2] = npcX[3] + (NPC3_HCENTER - (NPC_AMMO0_W>>1));
npcBY[2] = npcY[3] + (NPC3_H - NPC_AMMO0_W);
}
if(is_npcB[3])
{
if(is_npc[3])
npcBX[2] += NPC_AMMO1X;
else
npcBX[2] -= NPC_AMMO1X;
npcBY[2] += NPC_AMMO1Y;
}
if(npcBY[2] > G_WH)
{
if(npcX[3] + 12 < 32 + manX)
is_npc[3] = true;
else
is_npc[3] = false;
is_npcB[3] = false;
npcBX[2] = 0;
npcBY[2] = 0;
}
if((npc_cla_state[3] == 0 && npcX[3] <= -NPC3_W) || (npc_cla_state[3] == 1 && npcX[3] >= G_WW))
npc_paint[3] = false;
}
}
else
{
if(is_npcB[3])
{
if(is_npc[3])
npcBX[2] += NPC_AMMO1X;
else
npcBX[2] -= NPC_AMMO1X;
npcBY[2] += NPC_AMMO1Y;
}
}
//npc4
if(!npc_paint[4])
npc_cla_state[4] = (npc_cla.nextInt()>>>1)%3;
// System.out.println(npc_cla_state[4]);
if(npc_cla_state[4] != 2)
{
if((mapX == -NPC40_MAPX || mapX == -NPC41_MAPX || mapX == -NPC42_MAPX)
&& (npcX[4] <= 0 || npcX[4] >= G_WW || !NPC_dead[4]) && !npc_paint[4])
{
if(npc_cla_state[4] == 0)
{
is_npc[4] = false;
NPC_state[4] = 0;
npcX[4] = G_WW;
}
if(npc_cla_state[4] == 1)
{
is_npc[4] = true;
NPC_state[4] = 1;
npcX[4] = -NPC3_W;
}
npcY[4] = NPC4_MAPY;
npc_paint[4] = true;
}
}
if(npc_paint[4])
{
if(NPC_dead[4])
{
npcY[4] += 3;
if(is_npcB[4])
{
if(is_npc[4])
npcBX[1] += NPC_AMMO0X;
else
npcBX[1] -= NPC_AMMO0X;
npcBY[1] += NPC_AMMO0Y;
}
if(npcBY[1] > G_WH)
{
if(npcX[4] + NPC3_HCENTER < MAN_HCENTER + manX)
is_npc[4] = true;
else
is_npc[4] = false;
is_npcB[4] = false;
npcBX[1] = 0;
npcBY[1] = 0;
}
if(npcY[4] > G_WH)
{
npc_paint[4] = false;
NPC_dead[4] = false;
}
}
else
{
if(npc_cla_state[4] == 0)
npcX[4] -= 2;
if(npc_cla_state[4] == 1)
npcX[4] += 2;
if(npcX[4] > -NPC3_HCENTER && npcX[4] < G_WW - NPC3_HCENTER && npcX[4] % 44 == 0)
{
is_npcB[4] = true;
npcBX[1] = npcX[4] + (NPC3_HCENTER - (NPC_AMMO1X>>1));
npcBY[1] = npcY[4] + (NPC3_H - NPC_AMMO1_W);
}
if(is_npcB[4])
{
if(is_npc[4])
npcBX[1] += NPC_AMMO0X;
else
npcBX[1] -= NPC_AMMO0X;
npcBY[1] += NPC_AMMO0Y;
}
if(npcBY[1] > G_WH)
{
if(npcX[4] + NPC3_HCENTER < MAN_HCENTER + manX)
is_npc[4] = true;
else
is_npc[4] = false;
is_npcB[4] = false;
npcBX[1] = 0;
npcBY[1] = 0;
}
if((npc_cla_state[4] == 0 && npcX[4] <= -NPC3_W) || (npc_cla_state[4] == 1 && npcX[4] >= G_WW))
npc_paint[4] = false;
}
}
else
{
if(is_npcB[4])
{
if(is_npc[4])
npcBX[1] += NPC_AMMO0X;
else
npcBX[1] -= NPC_AMMO0X;
npcBY[1] += NPC_AMMO0Y;
}
}
//npc5
if(!npc_paint[5])
npc_cla_state[5] = (npc_cla.nextInt()>>>1)%3;
// System.out.println(npc_cla_state[5]);
if(npc_cla_state[5] != 2)
{
if((mapX == -NPC50_MAPX || mapX == -NPC51_MAPX || mapX == -NPC52_MAPX)
&& npcY[5] <= MAN_Y
&& (npcX[5] <= 0 || npcX[5] >= G_WW || !NPC_dead[5]) && !npc_paint[5])
{
if(npc_cla_state[5] == 0)
{
npcX[5] = G_WW;
}
if(npc_cla_state[5] == 1)
{
npcX[5] = -NPC3_W;
}
npcY[5] = NPC5_MAPY;
npc_paint[5] = true;
}
}
if(npc_paint[5])
{
if(NPC_dead[5])
{
npcY[5] += 3;
if(npcY[5] > G_WH)
{
npc_paint[5] = false;
NPC_dead[5] = false;
is_npcB[5] = false;
NPC_state[5] = 0;
npcY_temp[5] = 0;
}
}
else
{
if(is_npcB[5])
{
if(npcY[5] < NPC_MY)
{
npcY_temp[5] += 3;
npcY[5] += npcY_temp[5];
}
else
npcX[5] -= 1;
}
else
{
if(npc_cla_state[5] == 0)
{
npcX[5] -= 2;
}
if(npc_cla_state[5] == 1)
{
npcX[5] += 2;
}
if(npcX[5] + NPC3_W > manX + MAN_LEFT && npcX[5] < manX + MAN_RIGHT)
{
is_npcB[5] = true;
NPC_state[5] = 1;
if(npc_cla_state[5] == 0)
npcX[5] -= MAN_HCENTER_PENG;
if(npc_cla_state[5] == 1)
npcX[5] += MAN_HCENTER_PENG;
}
}
if(((npc_cla_state[5] == 0 || is_npcB[5]) && npcX[5] <= -NPC3_W) || (npc_cla_state[5] == 1 && npcX[5] >= G_WW))
{
npc_paint[5] = false;
is_npcB[5] = false;
NPC_state[5] = 0;
npcY_temp[5] = 0;
}
}
}
}
//TODO 人物相关计算
public void operatorsplayer()
{
if(player_state == 3)
{
manY += 2;
for(i = 0;i < 6;++i)
{
if(is_ruyi)
{
if((i_ammo[0][i] != 0 || i_ammo[1][i] != 0) && MAN_AMMO0_Y + i_ammo[1][i] > BACKDROP
&& MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] > 0
&& MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] < G_WW)
{
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
}
}
else
{
if((i_ammo[0][i] != 0 || i_ammo[1][i] != 0) && MAN_AMMO1_Y + i_ammo[1][i] > BACKDROP
&& MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] > 0
&& MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] < G_WW)
{
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
}
}
}
if(manY + MAN_Y > G_WH)
{
player_state = 1;
player_wudi = 30;
}
}
else
{
if(is_baoxian)
{
baoxianY += 8;
if(baoxianY > G_WH + BAOXIANY)
{
for(i = 0;i < 6;++i)
{
if(npc_paint[i])
NPC_dead[i] = true;
}
if(player_state == 0 || player_state == 1)
player_state = 1;
if(player_state == 2)
player_state = 4;
player_wudi = 30;
is_baoxian = false;
}
}
if(player_state == 1)
{
if(manY > 0)
{
manY -= 2;
}
else
{
manY = 0;
is_suo = true;
if(player_wudi > 0)
--player_wudi;
else
player_state = 0;
}
}
if(player_state == 2)
{
if(player_speed > 0)
--player_speed;
else
{
player_state = 0;
man_speed = man_speed>>1;
}
}
if(player_state == 4)
{
if(manY > 0)
{
manY -= 2;
}
else
{
manY = 0;
is_suo = true;
--player_wudi;
--player_speed;
if(player_wudi == 0 && player_speed == 0)
player_state = 0;
else if(player_speed == 0)
{
player_state = 1;
man_speed = man_speed>>1;
}
else if(player_wudi == 0)
player_state = 2;
}
}
if(player_ruyi > 0)
--player_ruyi;
else
is_ruyi = false;
if(is_fire)
{
for(i = 0;i < 6;++i)
{
if(is_left)
{
--angle[i].i_ammo;
if(angle[i].i_ammo < 0)
angle[i].i_ammo = 0;
}
if(is_right)
{
++angle[i].i_ammo;
if(angle[i].i_ammo > temp_ammo.length - 1)
angle[i].i_ammo = temp_ammo.length - 1;
}
if(is_ruyi)
{
if(MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] < 0
|| MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] > G_WW
|| MAN_AMMO0_Y + i_ammo[1][i] < BACKDROP)
{
angle[i].tempX = manX;
i_ammo[0][i] = 0;
i_ammo[1][i] = 0;
}
}
else
{
if(MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] < 0
|| MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] > G_WW
|| MAN_AMMO1_Y + i_ammo[1][i] < BACKDROP)
{
angle[i].tempX = manX;
i_ammo[0][i] = 0;
i_ammo[1][i] = 0;
}
}
}
for(i = 0;i < 6;++i)
{
if(i_ammo[0][i] == 0 && i_ammo[1][i] == 0)
{
angle[i].tempX = manX;
temp_ammo[i] = angle[i].i_ammo;
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
break;
}
else
{
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
}
}
}
else
{
for(i = 0;i < 6;++i)
{
if(is_ruyi)
{
if((i_ammo[0][i] != 0 || i_ammo[1][i] != 0) && MAN_AMMO0_Y + i_ammo[1][i] > BACKDROP
&& MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] > 0
&& MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] < G_WW)
{
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
}
}
else
{
if((i_ammo[0][i] != 0 || i_ammo[1][i] != 0) && MAN_AMMO1_Y + i_ammo[1][i] > BACKDROP
&& MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] > 0
&& MAN_AMMO1_X + angle[i].tempX + i_ammo[0][i] < G_WW)
{
i_ammo[0][i] += angle[i].angleX[temp_ammo[i]] * 16 / 10000;
i_ammo[1][i] -= angle[i].angleY[temp_ammo[i]] * 16 / 10000;
}
}
}
}
if(is_left)
{
if(manX > -MAN_LX + 5)
manX -= man_speed;
is_qianjin = true;
}
if(is_right)
{
if(manX < G_WW - MAN_RIGHT - 5)
manX += man_speed;
is_qianjin = false;
}
}
}
//道具相关计算
public void operatorsitem()
{
for(i = 0;i < 10;++i)
{
if(is_item[i])
{
if(i_itemY[i] < ITEM_MY)
i_itemY[i] += 1;
else
{
i_itemY[i] = ITEM_MY;
i_itemX[i] -= 1;
if(i_itemX[i] <= -ITEM0_W)
is_item[i] = false;
}
}
}
}
//TODO 人物碰撞
public void pengplayer()
{
if(is_fire)
{
for(i = 0;i < 6;++i)
{
for(j = 0;j < 6;++j)
{
//人物子弹和敌人的碰撞
if(is_ruyi)
{
switch(j)
{
case 0:
if(!NPC_dead[0] && npcX[0] < G_WW && npcX[0] + NPC0_W > 0)
{
if(((MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] > npcX[0]
&& MAN_AMMO0_X + angle[i].tempX + i_ammo[0][i] < npcX[0] + NPC0_W)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -