?? field.java
字號:
private void set_priority(int i, int ai[])
{
int j3 = 2;
for(int j = 1; j < 7; j++)
{
for(int i1 = 0; i1 < 2; i1++)
{
int k3;
int l3;
if((k3 = height[j] - i1) > 0)
{
l3 = argo[4 + j] + AgesBase.rnd(argo[0]);
l3 += height[j] * argo[3];
l3 -= height[j - 1] + height[j + 1] << 1;
boolean flag = false;
label0:
for(int l1 = 0; l1 < 3; l1++)
{
int i4 = j + (l1 != 0 ? l1 != 1 ? -1 : 1 : 0);
int l4 = k3 + (l1 != 0 ? 0 : 1);
int ai1[] = field[i4 + l4 * 8];
if(ai1[0] != i)
continue;
if(ai1[2] == 3)
{
flag = true;
l3 += argo[1];
int k5 = i4 - 2;
do
{
if(k5 >= i4 + 3)
continue label0;
if(k5 > 0 && k5 < 7)
{
int l2 = height[k5];
if(l2 < l4)
l3 += l4 - l2 << 5;
l2 -= ojama_num / 6;
if(l2 < 8)
l3 += (8 - l2) * (k5 != 3 ? 24 : 96);
}
k5++;
} while(true);
}
l3 += l1 != 0 ? 96 : 144;
}
if(!flag)
{
label1:
for(int i5 = k3 + 1; i5 < k3 + 4; i5++)
{
if(i5 >= 14)
continue;
int i2 = (j - 1) + i5 * 8;
int j4 = j - 1;
do
{
if(j4 >= j + 2)
continue label1;
if(j4 > 0 && j4 < 7 && field[i2][0] == i)
l3 += field[i2][2] << 3;
i2++;
j4++;
} while(true);
}
for(int j5 = k3 - 1; j5 > k3 - 4; j5--)
{
if(j5 <= 1)
continue;
int j2 = (j - 1) + j5 * 8;
for(int k4 = j - 1; k4 < j + 2; k4++)
if(k4 > 0 && k4 < 7 && field[j2][0] == i)
l3 += field[j2][2] << 3;
}
int k2 = j + k3 * 8;
int i3 = field[k2 + 8][0];
if(i3 >= 0 && i3 < 5 && i3 != i)
{
l3 -= 32;
if((dif_puyo(i3, (k2 - 1) + 8) || dif_puyo(i3, k2 - 1)) && (dif_puyo(i3, k2 + 1 + 8) || dif_puyo(i3, k2 + 1)))
l3 -= field[k2 + 8][2] << 6;
}
i3 = field[k2 - 1][0];
if(i3 >= 0 && i3 < 5 && i3 != i && dif_puyo(i3, k2 - 1 - 8))
l3 -= field[k2 - 1 - 8][2] << 5;
i3 = field[k2 + 1][0];
if(i3 >= 0 && i3 < 5 && i3 != i && dif_puyo(i3, (k2 + 1) - 8))
l3 -= field[(k2 + 1) - 8][2] << 5;
if(j == 3 && height[3] < 4)
l3 = -10000;
}
} else
{
l3 = -10000;
}
ai[j3++] = l3;
}
}
for(int k = 1; k < 3; k++)
{
if(height[k] >= 2)
continue;
for(int j1 = 2; j1 <= k << 1; j1 += 2)
{
ai[j1] = -10000;
ai[j1 + 1] = -10000;
}
}
for(int l = 4; l < 7; l++)
{
if(height[l] >= 2)
continue;
for(int k1 = l << 1; k1 < 14; k1 += 2)
{
ai[k1] = -10000;
ai[k1 + 1] = -10000;
}
}
}
private boolean dif_puyo(int i, int j)
{
return field[j][0] != -1 && field[j][0] != i;
}
private int get_key()
{
int i = 0;
int j = falling[0][1] % 8;
if(j < target_x)
i |= 0x4040;
else
if(j > target_x)
i |= 0x2010;
if(target_turn > 0)
if(target_turn < 3)
{
target_turn--;
i |= 0x10c20;
} else
{
target_turn = 0;
i |= 0x1005;
}
if(i == 0)
{
if(set_cnt < 0)
return 33024;
if(AgesBase.rnd(++set_cnt) + (now_priority >> 4) >= argo[2] + (level << 1))
set_cnt = -1;
}
return i;
}
public void draw(boolean flag)
{
if(bonus3[player] == 1)
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[0], sx + 5, sy + 38, 0, 0, 0);
else
if(bonus3[player] == 2)
{
flag = true;
bonus3[player] = 0;
}
if(ojama_kill[player] == 0)
{
flag = true;
ojama_kill[player]--;
}
if(flag)
{
int i = 17;
for(int j1 = 13; j1 > 0; j1--)
{
for(int k = 6; k > 0; k--)
field[i++][1] = 1;
i += 2;
}
for(int l = 0; l < 3; l++)
draw_flag[l] = true;
}
int j = 17;
int i1 = stat != 8 || land_cnt < 12 ? 12 : 13;
for(short word3 = (short)(sy - 2); i1 > 0; word3 += 10)
{
int k1 = 6;
for(short word0 = sx; k1 > 0; word0 += 10)
{
int l2 = 0;
int ai[] = field[j++];
if(ai[1] != 0)
{
int l1;
int k2;
if((l1 = ai[0]) == -1 || pause_flag)
k2 = 0;
else
if(l1 < 5)
{
l2 = ai[3];
k2 = 3 + l1;
if(ai[2] >= 4)
if(erase_cnt >= 11)
l2 = 16;
else
if((erase_cnt & 0x1) == 0)
k2 = 0;
} else
if(ai[2] < 4 || (erase_cnt & 0x1) != 0)
{
k2 = 1;
l2 = 1;
} else
{
k2 = 0;
}
PuyoPuyo2.gc.setColor(0);
PuyoPuyo2.gc.fillRect(word0 + AgesBase.offsetX, word3 + AgesBase.offsetY, 10, 10);
if(k2 != 0)
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[k2], word0, word3, 10, 10, l2);
ai[1] = 0;
}
if(i1 == 10 && bonus3[player] == 1 && ai[0] != -1)
bonus3[player] = 2;
k1--;
}
j += 2;
i1--;
}
if(ojama_kill[player] > 0)
{
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[8 + (ojama_kill[player] % 2 != 0 ? 1 : 0)], sx + 3, sy - 3, 0, 0, 0);
ojama_kill[player]--;
}
switch(stat)
{
case 8: // '\b'
if(land_cnt >= 40 && enemy.player == 1)
{
PuyoPuyo2.draw_message("GAME", sx + 15, sy + 40, 0, 0);
PuyoPuyo2.draw_message("OVER", sx + 20, sy + 54, 0, 0);
PuyoPuyo2.totalScore(score + d_score, false);
}
break;
case 9: // '\t'
if(player == 0 && land_cnt > 40)
{
PuyoPuyo2.gc.setColor(0);
PuyoPuyo2.gc.fillRect(sx + AgesBase.offsetX, sy + AgesBase.offsetY, 60, 118);
PuyoPuyo2.draw_message("YOU WIN", sx + 7, sy + 20, 0, 0);
PuyoPuyo2.draw_message("PLAY TIME", sx + 3, sy + 41, 27, 0);
PuyoPuyo2.draw_value(pass_time, sx + 40, sy + 52, 0);
PuyoPuyo2.draw_message("SEC", sx + 40, sy + 55, 27, 0);
PuyoPuyo2.draw_message("BONUS", sx + 12, sy + 70, 27, 0);
PuyoPuyo2.draw_value(d_score, sx + 40, sy + 81, 0);
PuyoPuyo2.draw_message("PTS", sx + 40, sy + 84, 27, 0);
PuyoPuyo2.totalScore(score + d_score, true);
}
break;
}
if(draw_flag[2])
{
PuyoPuyo2.gc.setColor(0);
if(player == 0)
PuyoPuyo2.gc.fillRect(60 + AgesBase.offsetX, AgesBase.offsetY, 30, 75);
else
PuyoPuyo2.gc.fillRect(60 + AgesBase.offsetX, 75 + AgesBase.offsetY, 30, 75);
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[3 + next_col[1]], next_x, next_y, 10, 10, 0);
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[3 + next_col[0]], next_x, next_y + 10, 10, 10, 0);
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[3 + next2_col[1]], next2_x, next2_y, 10, 10, 0);
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[3 + next2_col[0]], next2_x, next2_y + 10, 10, 10, 0);
PuyoPuyo2.gc.drawImage(PuyoPuyo2.img_gframe2, 60 + AgesBase.offsetX, AgesBase.offsetY, 20);
PuyoPuyo2.draw_message("NEXT", 61, 75, 0, 2);
draw_flag[2] = false;
if(player == 0)
PuyoPuyo2.score_get(score);
}
if(draw_flag[0])
{
short word1 = sx;
short word4 = (short)(sy - 24);
PuyoPuyo2.gc.setColor(0);
PuyoPuyo2.gc.fillRect(word1 + 5 + AgesBase.offsetX, word4 + AgesBase.offsetY, 50, 10);
word1 += 59;
if(erase_score == 0)
{
PuyoPuyo2.draw_value(score, word1 - 4, word4, player != 0 ? 1 : 0);
} else
{
int i2;
if((i2 = erase_bonus) > 1)
{
word1 = (short)(PuyoPuyo2.draw_value(i2, word1 - 4, word4, player != 0 ? 1 : 0) - 6);
PuyoPuyo2.drawSprite(PuyoPuyo2.img_font[player != 0 ? 1 : 0], word1 - 4, word4 - 2, 10, 10, 36);
word1 -= 2;
}
PuyoPuyo2.draw_value(erase_score, word1 - 4, word4, player != 0 ? 1 : 0);
}
draw_flag[0] = false;
}
boolean flag1 = false;
int j2 = ojama_num;
short word2 = sx;
short word5 = (short)(sy - 12);
draw_ojama_field();
byte byte0;
for(; j2 > 0 && word2 < (sx + 60) - 10; word2 += byte0)
{
byte byte1;
byte byte2;
if(j2 >= 400)
{
byte1 = 2;
byte2 = 3;
byte0 = 9;
j2 -= 400;
} else
if(j2 >= 300)
{
byte1 = 2;
byte2 = 2;
byte0 = 9;
j2 -= 300;
} else
if(j2 >= 200)
{
byte1 = 2;
byte2 = 1;
byte0 = 9;
j2 -= 200;
} else
if(j2 >= 30)
{
byte1 = 2;
byte2 = 0;
byte0 = 9;
j2 -= 30;
} else
if(j2 >= 6)
{
byte1 = 1;
byte2 = 1;
byte0 = 9;
j2 -= 6;
} else
{
byte1 = 1;
byte2 = 0;
byte0 = 7;
j2--;
}
PuyoPuyo2.drawSprite(PuyoPuyo2.img_spr[byte1], word2, word5, 10, 10, byte2);
}
draw_flag[1] = false;
}
public void draw_ojama_field()
{
ojamaImg.getGraphics().drawImage(PuyoPuyo2.img_gframe, 0, -15, 20);
PuyoPuyo2.gc.drawImage(ojamaImg, sx + AgesBase.offsetX, 15 + AgesBase.offsetY, 20);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -