📄 gamecanvas.java
字号:
value6[value1max] = tag;
for(int i = 0; i <= 11; i++)
value7[i] = value4[i];
}
int l = 0;
for(int i = 0; i <= 13; i++)
value8[i] = value6[i];
for(int j = 0; j <= 13; j++)
{
if(value8[j] != 100)
continue;
l = j;
break;
}
for(int j = 0; j <= 11; j++)
if(value7[j] != 100)
value8[l + j] = value7[j];
for(int i = 0; i <= 5; i++)
if(i == 0)
{
int k = 0;
for(int j = 0; j <= 12; j++)
if(value8[j] != 100 && value8[j + 1] != 100 && value8[j + 1] - value8[j] >= -8 && value8[j + 1] - value8[j] <= 8)
k++;
if(k == 13)
{
qing = true;
fan = fan + 4;
}
} else
if(i == 1 && !qing)
{
int k = 0;
for(int j = 0; j <= 12; j++)
if(value8[j] != 100 && value8[j + 1] != 100 && value8[j + 1] - value8[j] >= -8 && value8[j + 1] - value8[j] <= 8 || value8[j] >= 61 && value8[j] <= 67)
k++;
if(k == 13)
{
hun = true;
fan = fan + 2;
}
} else
if(i == 2)
{
int aa = 0;
int k = 0;
for(int j = 0; j <= 13; j++)
{
if(value8[j] != 0)
aa = value8[j];
for(int m = 0; m <= 13; m++)
if(value8[m] == aa && m != j)
{
value8[j] = 100;
value8[m] = 100;
}
}
for(int j = 0; j <= 13; j++)
if(value8[j] == 100)
k++;
if(k == 14)
{
duiduihu = true;
fan = fan + 3;
}
} else
if(i == 4)
{
for(int j = 0; j <= 12; j++)
{
int k = 0;
if(value6[j] >= 65 && value6[j] <= 67 || value6[j] == feng)
{
for(int m = j + 1; m <= 13; m++)
if(value6[j] == value6[m])
k++;
}
if(k == 2)
fan = fan + 1;
}
} else
if(i == 5 && !qing && !hun && !duiduihu)
{
fan = fan + 1;
g.setColor(255);
g.setFont(bigFont);
g.drawString("\u5E73\u80E1", 25, 55, 20);
}
if(hun && duiduihu)
{
g.setColor(255);
g.setFont(bigFont);
g.drawString("\u6DF7\u5BF9", 25, 55, 20);
} else
if(qing && duiduihu)
{
g.setColor(255);
g.setFont(bigFont);
g.drawString("\u6E05\u5BF9", 25, 55, 20);
} else
if(qing)
{
g.setColor(255);
g.setFont(bigFont);
g.drawString("\u5BF9\u5BF9\u80E1", 25, 55, 20);
}
}
private void exechi(int value10[])
{
isexit1 = false;
isexit2 = false;
isexit3 = false;
isexit4 = false;
if(tag >= 61)
{
chi = false;
} else
{
for(int i = 0; i <= 12; i++)
if(value10[i] == tag - 2)
{
isexit1 = true;
i1 = i;
} else
if(value10[i] == tag - 1)
{
isexit2 = true;
i2 = i;
} else
if(value10[i] == tag + 1)
{
isexit3 = true;
i3 = i;
} else
if(value10[i] == tag + 2)
{
isexit4 = true;
i4 = i;
}
chi = isexit1 && isexit2 || isexit2 && isexit3 || isexit3 && isexit4;
}
}
private void exepeng(int value10[])
{
peng = false;
int j = 0;
for(int i = 0; i <= 12; i++)
if(value10[i] == tag)
if(++j == 1)
i1 = i;
else
if(j == 2)
{
t = 1;
i2 = i;
}
if(j >= 2)
peng = true;
}
private void exegang(int value10[])
{
gang = false;
int j = 0;
for(int i = 0; i <= value1max - 1; i++)
if(value10[i] == tag)
if(++j == 1)
i1 = i;
else
if(j == 2)
{
t = 1;
i2 = i;
} else
if(j == 3)
{
t = 2;
i3 = i;
}
if(j == 3)
gang = true;
}
private void draw1(Graphics g)
{
int i1 = value1[key1];
int i2 = value1[key2];
value1[key1] = 100;
value1[key2] = 100;
grounddraw(g, normalx1[key1], tagy1, 8, 17);
grounddraw(g, normalx1[key2], tagy1, 8, 17);
sortdraw(g);
drawpai(g, 119 - changeNO1 * 9, normaly1, i1);
drawpai(g, 110 - changeNO1 * 9, normaly1, i2);
drawpai(g, 101 - changeNO1 * 9, normaly1, tag);
coverdraw(g, 5, 97, 88, 12, chi1, 5, 97);
value4[changeNO1] = i1;
value4[changeNO1 + 1] = i2;
value4[changeNO1 + 2] = tag;
changeID2++;
changeNO1 = changeNO1 + 3;
value1max = value1max - 1;
tag = value1[value1max];
tagx1 = normalx1[value1max];
tagID = value1max;
grounddraw(g, tagx1, tagy1, 8, 17);
drawpai(g, tagx1, tagy1, tag);
grounddraw(g, passx2, passy2, 8, 14);
exeChi = false;
exePeng = false;
exeGang = false;
doChi = false;
doPeng = false;
exeMove = true;
isUp = false;
}
private void exeHu(int value10[])
{
int huvalue[] = {
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100
};
int huvalue1[] = {
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100
};
int huvalue2[] = {
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100
};
int duivalue[] = {
100, 100, 100, 100, 100, 100, 100
};
int sanvalue[] = {
100, 100, 100, 100
};
int sanvalue1[] = {
100, 100, 100, 100
};
int san[] = {
0, 0, 0, 0
};
int san2[] = {
0, 0, 0, 0
};
int i1 = 0;
int i2 = 0;
int m = 0;
int n = 0;
for(int i = 0; i <= 13; i++)
huvalue[i] = value10[i];
if(isHumanDo)
huvalue[value1max] = tag;
else
huvalue[13] = tag;
sort(13, huvalue);
int i = 0;
while(i <= 12)
{
if(huvalue[i] != 100 && huvalue[i] == huvalue[i + 1])
{
duivalue[m] = i;
i += 2;
m++;
continue;
}
if(huvalue[i] == 100)
break;
i++;
}
i = 0;
while(i <= 11)
{
if(huvalue[i] != 100 && huvalue[i] == huvalue[i + 1] && huvalue[i + 1] == huvalue[i + 2])
{
sanvalue[n] = i;
san[n] = 1;
i += 3;
n++;
continue;
}
if(huvalue[i] == 100)
break;
i++;
}
if(m == 0)
{
exeHu = false;
} else
{
for(int h = 0; h <= m - 1; h++)
{
if(exeHu)
break;
for(int j = 0; j <= 13; j++)
huvalue1[j] = huvalue[j];
for(int j = 0; j <= 3; j++)
{
san2[j] = san[j];
sanvalue1[j] = sanvalue[j];
}
huvalue1[duivalue[h]] = 100;
huvalue1[duivalue[h] + 1] = 100;
for(i = 0; i <= 3; i++)
if(sanvalue1[i] == duivalue[h])
{
sanvalue1[i] = 100;
san2[i] = 0;
}
sort(3, sanvalue1);
int y = 0;
for(i = 0; i <= 3; i++)
if(san2[i] == 1)
y++;
if(y == 1)
{
san2[0] = 1;
san2[1] = 0;
san2[2] = 0;
san2[3] = 0;
} else
if(y == 2)
{
san2[0] = 1;
san2[1] = 1;
san2[2] = 0;
san2[3] = 0;
} else
if(y == 3)
{
san2[0] = 1;
san2[1] = 1;
san2[2] = 1;
san2[3] = 0;
} else
if(y == 4)
{
san2[0] = 1;
san2[1] = 1;
san2[2] = 1;
san2[3] = 1;
}
int san1[] = {
0, 0, 0, 0
};
int mm = san2[3] * 2 * 2 * 2 + san2[2] * 2 * 2 + san2[1] * 2 + san2[0];
for(i = 0; i <= san2[3] * 2 * 2 * 2 + san2[2] * 2 * 2 + san2[1] * 2 + san2[0]; i++)
{
if(exeHu)
break;
for(int j = 0; j <= 13; j++)
huvalue2[j] = huvalue1[j];
for(int j = 0; j <= 3; j++)
if(san1[j] == 1)
{
huvalue2[sanvalue1[j]] = 100;
huvalue2[sanvalue1[j] + 1] = 100;
huvalue2[sanvalue1[j] + 2] = 100;
}
for(int j = 0; j <= 11; j++)
{
if(huvalue2[j] >= 61 && huvalue2[j] <= 67)
break;
if(huvalue2[j] != 100 && huvalue2[j] < 61)
{
boolean exit1 = false;
boolean exit2 = false;
for(int x = j + 1; x <= 13; x++)
if(huvalue2[x] == huvalue2[j] + 1)
{
i1 = x;
exit1 = true;
} else
if(huvalue2[x] == huvalue2[j] + 2)
{
i2 = x;
exit2 = true;
}
if(exit1 && exit2)
{
huvalue2[j] = 100;
huvalue2[i1] = 100;
huvalue2[i2] = 100;
}
}
}
int l = 0;
for(int j = 0; j <= 13; j++)
if(huvalue2[j] == 100)
l++;
if(l == 14)
exeHu = true;
san1[0] = san1[0] + 1;
for(int j = 0; j <= 2; j++)
if(san1[j] == 2)
{
san1[j + 1] = san1[j + 1] + 1;
san1[j] = 0;
}
}
}
}
}
protected void keyReleased(int i)
{
}
protected void keyRepeated(int i)
{
}
protected void pointerDragged(int i, int j)
{
}
protected void pointerPressed(int i, int j)
{
}
protected void pointerReleased(int i, int j)
{
}
private final int groundColor = 0xffffff;
private static int fontColor = 0;
private final int BLUE = 255;
static final int BLOCKWIDTH = 8;
static final int BLOCKHEIGHT = 14;
static final int BLOCKWIDTH1 = 22;
static final int BLOCKHEIGHT1 = 12;
private int tag;
private int changeNO1;
private int changeNO2;
private int value1max;
private int value2max;
private int changeID1;
private int changeID2;
private int key;
private int keymin;
private int keymax;
private int key1;
private int key2;
private int key3;
private int key4;
private int i1;
private int i2;
private int i3;
private int i4;
private int key11;
private int key12;
private int key13;
private int key14;
private int oldtagx;
private int tagchuID;
private int tagx1;
private int tagy1;
private int tagx2;
private int tagy2;
private int oldtag;
private int tagID;
private int passID;
private int w;
private int h;
private int choicex;
private int t;
private int passx1;
private int passy1;
private int passx2;
private int passy2;
private int passx;
private int passy;
private boolean isHumanDo;
private boolean isChange;
private boolean isFinish;
private boolean isSort;
private boolean exeUp;
private boolean isUp;
private boolean isDown;
private boolean down;
private boolean isFirst;
private boolean exeMove;
private boolean isMove;
private boolean isPass1;
private boolean ispass2;
private boolean exeChi;
private boolean exePeng;
private boolean exeGang;
private boolean exeHu;
private boolean exeGang1;
private boolean exeTing;
private boolean chi;
private boolean peng;
private boolean gang;
private boolean isChi;
private boolean isPeng;
private boolean isGang;
private boolean isGang1;
private boolean isTing;
private boolean doChi;
private boolean doPeng;
private boolean doGang;
private boolean doHu;
private boolean doGang1;
private boolean doGang2;
private boolean doPeng2;
private boolean doChi2;
private boolean isFire;
private boolean isNew;
private boolean fa;
private boolean hu2;
private boolean isexit1;
private boolean isexit2;
private boolean isexit3;
private boolean isexit4;
private Random random;
private Font font;
private Font bigFont;
Timer timer;
private int y;
private int score1;
private int score2;
private int hutag;
private int normalx1[] = {
1, 10, 19, 28, 37, 46, 55, 64, 73, 82,
91, 100, 109, 118
};
private int normalx2[] = {
119, 110, 101, 92, 83, 74, 65, 56, 47, 38,
29, 20, 11, 2
};
private int normaly1;
private int normaly2;
private int value3[] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 21,
22, 23, 24, 25, 26, 27, 28, 29, 41, 42,
43, 44, 45, 46, 47, 48, 49, 61, 62, 63,
64, 65, 66, 67
};
private int value[];
private int value1[];
private int value2[];
private int value4[];
private int value5[];
private boolean chivalue[];
private boolean changevalue[];
private Image feng1;
private Image pai1;
private Image pai;
private Image chi1;
private Image image;
private Image ting;
private int total;
private int fan;
private int fan1;
private int fan2;
private int feng;
private int noHu;
private boolean zhuang;
// static
// {
// BLOCKWIDTH = 8;
// BLOCKHEIGHT = 14;
// BLOCKWIDTH1 = 22;
// BLOCKHEIGHT1 = 12;
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -