📄 game.java
字号:
e_x[k2] = -999;
} else
if(a[11] == 0)
{
int i7 = u_x(160);
if(i7 < 10)
{
for(int i5 = 4; i5 >= 0; i5--)
{
if(inv_kaseki[i5 * 10 + i7] != 0 || inv_shot[i5 * 10 + i7] != 1 || inv_state[i5 * 10 + i7] < 0)
continue;
e_x[k2] = inv_x[i5 * 10 + i7];
e_y[k2] = inv_y[i5 * 10 + i7] + 10;
break;
}
}
}
}
}
if(Main.l[3] > 15000L && bonus_flg)
{
a[7] = a[4];
stage = preStage;
mode = 1;
nokLeft = 0;
rdisp_flg = true;
sT[stage] = Main.l[0];
sT1[stage] = Main.l[1];
Main.play = false;
Main.l[3] = 0L;
}
if(m_x != -999)
{
for(int l2 = 0; l2 < inv_num; l2++)
if(inv_state[l2] >= 0 && inv_y[l2] - 2 <= m_y && m_y < inv_y[l2] + 5 && (inv_row[l2] == 0 && inv_x[l2] + 1 <= m_x && m_x < inv_x[l2] + 8 || inv_row[l2] == 1 && inv_x[l2] + 1 <= m_x && m_x < inv_x[l2] + 8 || inv_row[l2] == 2 && inv_x[l2] <= m_x && m_x < inv_x[l2] + 8 || inv_row[l2] == 3 && inv_x[l2] <= m_x && m_x < inv_x[l2] + 8 || inv_row[l2] == 4 && inv_x[l2] <= m_x && m_x < inv_x[l2] + 8 || bonus_flg && inv_x[l2] + 10 <= m_x && m_x < inv_x[l2] + 20))
{
add_x = 0;
if(inv_kaseki[l2] == 0)
{
score += inv_score[l2];
if(score >= 10000)
score -= 10000;
inv_state[l2] = -1;
inv_time[l2] = a[4];
m_x = -999;
inv_left--;
inv_shot[l2] = 0;
if(Main.gaM == 1 && inv_kind[l2] == 0)
nokLeft--;
}
if(score >= inv_extend && a[6] != 6 && !isGet)
{
isGet = true;
a[6]++;
}
if(Main.gaM == 0)
{
if(inv_state[l2] == -1 && inv_row[l2] == 0)
a[14] = 0;
else
if(inv_state[l2] == -1 && (inv_row[l2] == 1 || inv_row[l2] == 2))
a[14] = 1;
else
if(inv_state[l2] == -1 && (inv_row[l2] == 3 || inv_row[l2] == 4))
a[14] = 2;
else
a[14] = 2;
} else
if(inv_kind[l2] == 0)
a[14] = 1;
else
a[14] = 2;
if(Main.gaM == 0)
switch(inv_left)
{
case 0: // '\0'
if(u_state == 2)
{
score += u_score;
if(score >= inv_extend && a[6] != 6 && !isGet)
{
isGet = true;
a[6]++;
}
if(score >= 10000)
score -= 10000;
}
down6dot += 4;
if(down6dot >= 13)
down6dot = 4;
mode = 1;
a[7] = a[4];
return;
case 3: // '\003'
a[20] = 1;
a[21] = 5;
break;
case 1: // '\001'
a[21] = 1;
break;
}
else
switch(nokLeft)
{
default:
break;
case 0: // '\0'
mode = 1;
tmp_time = Main.l[1];
a[7] = a[4];
rdisp_flg = false;
return;
case 1: // '\001'
if(bonus_flg)
stage = preStage;
break;
}
}
}
if(!bonus_flg)
{
for(int i3 = 0; i3 < 4; i3++)
{
int j8 = m_x - (13 + 30 * i3);
if(0 <= j8 && j8 < 9)
{
for(int j5 = 4; j5 >= 0; j5--)
{
int i9 = (m_y + j5) - 84;
if(0 > i9 || i9 >= 7 || shield[i3][i9][j8] != 1)
continue;
shield[i3][i9][j8] = 2;
if(j8 > 0)
{
if(i9 > 0)
shield[i3][i9 - 1][j8 - 1] = 2;
if(i9 < 8)
shield[i3][i9 + 1][j8 - 1] = 2;
}
if(j8 < 10)
{
if(i9 > 0)
shield[i3][i9 - 1][j8 + 1] = 2;
if(i9 < 8)
shield[i3][i9 + 1][j8 + 1] = 2;
}
m_x = -999;
int i10 = -50;
int l9 = Math.abs(rnd.nextInt() % 100);
for(int j10 = 40; j10 < 45; j10++)
{
if(kaseki_flg != 0 || Main.gaM != 0)
continue;
if(inv_state[j10] >= 0 && i10 == -50)
i10 = inv_x[j10];
if(inv_y[j10] < 70 || inv_y[j10] > 80 || inv_dir != 0 || a[10] >= i10 || l9 % 4 != 0)
continue;
kaseki_num = Math.abs(rnd.nextInt() % 5) + 40;
if(a[18] != 0 || inv_state[kaseki_num] != 4)
continue;
kaseki_flg = 1;
a[18] = 1;
inv_left--;
inv_kaseki[kaseki_num] = 1;
a[16] = inv_x[kaseki_num];
a[17] = inv_y[kaseki_num];
score += inv_score[kaseki_num];
inv_time[kaseki_num] = a[4];
break;
}
break;
}
}
}
for(int j3 = 0; j3 < 3; j3++)
if(e_x[j3] != -999)
{
boolean flag = false;
for(int k5 = 0; k5 < 4; k5++)
{
int k8 = e_x[j3] - (9 + 30 * k5);
if(k8 < 0 || k8 >= 10)
continue;
int j9 = e_y[j3] - 84;
for(int j7 = k8; j7 < k8 + 3; j7++)
if(j7 >= 0 && 10 > j7)
{
for(int l7 = j9; l7 < j9 + 5; l7++)
if(0 <= l7 && l7 < 8 && shield[k5][l7][j7] == 1)
{
shield[k5][l7][j7] = 2;
flag = true;
}
}
if(!flag)
continue;
e_x[j3] = -999;
break;
}
}
for(int k3 = 0; k3 < inv_num; k3++)
if(inv_state[k3] >= 0 && inv_y[k3] >= 79)
{
for(int i8 = 1; i8 < 5; i8++)
{
int k9 = (inv_y[k3] + i8) - 84;
if(k9 >= 0 && k9 <= 8)
{
for(int l5 = 0; l5 < 4; l5++)
{
for(int k7 = inv_l[inv_row[k3]]; k7 < inv_r[inv_row[k3]]; k7++)
{
int l8 = (inv_x[k3] + k7) - (15 + 30 * l5);
if(0 <= l8 && l8 < 10 && 0 <= k9 && k9 < 8)
shield[l5][k9][l8] = 2;
}
}
}
}
}
for(int l3 = 0; l3 < 4; l3++)
{
for(int i6 = 0; i6 < 8; i6++)
{
for(int k6 = 0; k6 < 10; k6++)
if(shield[l3][i6][k6] == 2)
shield[l3][i6][k6] = 0;
}
}
}
if(m_x != -999 && u_x != -999 && u_state <= 4 && u_x + 1 <= m_x && m_x < u_x + 11 && m_y < 28 && m_y > 21)
{
if(u_x <= 0)
u_score_p = 12;
else
if(u_x >= 118)
u_score_p = -12;
else
u_score_p = 0;
m_x = -999;
u_state = 2;
u_score = u_p[a[15]];
u_time = a[4];
if(Main.gaM == 1)
if(Main.l[0] / 1000L >= 0L && Main.l[0] / 1000L < 5L)
{
old_time -= 55000L;
old_time1 += 5000L;
} else
{
old_time += 5000L;
old_time1 += 5000L;
}
}
if(m_x != -999)
{
for(int i4 = 0; i4 < 3; i4++)
{
if(e_x[i4] - 1 > m_x || m_x > e_x[i4] + 1 || m_y - 2 > e_y[i4] || e_y[i4] > m_y + 2)
continue;
e_x[i4] = -999;
m_x = -999;
break;
}
}
if(a[11] == 0)
{
for(int j4 = 0; j4 < 3; j4++)
{
if(e_x[j4] == -999 || a[10] + 2 > e_x[j4] + 5 || e_x[j4] + 7 > a[10] + 2 + 7 || a[3] + e_y[j4] + 4 <= a[3] + 94 || a[3] + e_y[j4] >= 106)
continue;
if(Main.gaM == 1)
if(Main.l[0] / 1000L > 55L && Main.l[0] / 1000L <= 59L)
{
old_time += 55000L;
old_time1 -= 5000L;
} else
{
old_time -= 5000L;
old_time1 -= 5000L;
}
a[11] = 1;
a[12] = a[4];
for(int j6 = 0; j6 < 3; j6++)
e_x[j6] = -999;
break;
}
}
}
public void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0, 0, a[0], a[1]);
g.setFont(Font.getFont(0, 0, 8));
g.setColor(0xfefefe);
if(bonus_flg && Main.disp_cnt <= 200)
{
g.drawImage(Main.abs[8], 10, a[3] + 94, 0);
g.drawImage(Main.abs[56], 32, 31, 0);
g.drawImage(Main.abs[57], 32, 49, 0);
g.drawImage(Main.abs[84], a[0] - Main.abs[84].getWidth(), a[1] - Main.abs[84].getHeight(), 0);
g.setColor(0xff0000);
g.drawLine(0, 106, a[0], 106);
Main.l[3] = 0L;
old_time = System.currentTimeMillis();
return;
}
g.drawImage(Main.abs[84], a[0] - Main.abs[84].getWidth(), a[1] - Main.abs[84].getHeight(), 0);
if(mode == 2 && Main.gaM == 1)
g.drawImage(Main.abs[5], 0, a[1] - Main.abs[5].getHeight(), 0);
else
g.drawImage(Main.abs[7], 0, a[1] - Main.abs[7].getHeight(), 0);
if(Main.gaM == 0)
{
g.drawImage(Main.abs[2], 8, 0, 0);
int l2 = 1000;
for(int i = 0; i < 4; i++)
{
g.drawString("" + (score / l2) % 10, 15 + i * 6, 9, 0);
g.drawString("" + (hi_score / l2) % 10, 84 + i * 6, 9, 0);
l2 /= 10;
}
g.drawImage(Main.abs[1], 72, 0, 0);
} else
if(!bonus_flg || bonus_flg && Main.disp_cnt > 200)
{
g.drawImage(Main.abs[50], 52, 0, 0);
g.drawImage(Main.abs[21], 90, 0, 0);
g.drawImage(Main.abs[21], 108, 0, 0);
int i3 = 10;
for(int j = 0; j < 2; j++)
{
if(timer_cnt2 <= 20)
{
g.drawString("0", 78 + 6 * j, 0, 0);
g.drawString("0", 96 + 6 * j, 0, 0);
g.drawString("0", 114 + 6 * j, 0, 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -