📄 gamecanvas.java
字号:
if(changevalue[2])
{
t = 2;
changedraw(g);
} else
if(changevalue[0])
{
t = 0;
changedraw(g);
}
} else
if(t == 2)
{
for(int i = 0; i <= 1; i++)
{
if(!changevalue[i])
continue;
t = i;
break;
}
changedraw(g);
}
isChange = false;
for(int i = 0; i <= 13; i++)
{
if(value1[i] != 100)
{
grounddraw(g, normalx1[i], tagy1, 8, 17);
drawpai(g, normalx1[i], normaly1, value1[i]);
continue;
}
if(value1[i] == 100)
break;
}
}
private void changedraw(Graphics g)
{
if(t == 0)
{
exePeng = false;
exeGang = false;
exeChidraw(g);
isChi = true;
isPeng = false;
isGang = false;
} else
if(t == 1)
{
exeChi = false;
exeGang = false;
exePengdraw(g);
isChi = false;
isGang = false;
isPeng = true;
} else
if(t == 2)
{
exeChi = false;
exePeng = false;
exeGangdraw(g);
isGang = true;
isPeng = false;
isChi = false;
}
}
private void exeChidraw(Graphics g)
{
exechi(value1);
if(chi)
{
key1 = i1;
key2 = i2;
key3 = i3;
key4 = i4;
chivalue[0] = isexit1 && isexit2;
chivalue[1] = isexit2 && isexit3;
chivalue[2] = isexit3 && isexit4;
exeChi = true;
exeMove = false;
exeUp = true;
coverdraw(g, 27, 97, 22, 12, chi1, -83, 97);
for(int i = 0; i <= 2 && i >= 0; i++)
{
if(!chivalue[i])
continue;
keymin = i;
key = keymin;
break;
}
for(int i = 2; i <= 2 && i >= 0; i--)
{
if(!chivalue[i])
continue;
keymax = i;
break;
}
}
}
private void isChidraw(Graphics g)
{
key11 = key1;
key12 = key2;
key13 = key3;
key14 = key4;
t = 0;
int i = 100;
for(i = key; i <= keymax && i >= keymin; i++)
if(chivalue[i])
break;
if(i == 1)
{
key13 = key1;
key14 = key4;
key12 = key2;
key11 = key3;
} else
if(i == 2)
{
key13 = key1;
key14 = key2;
key12 = key4;
key11 = key3;
}
grounddraw(g, normalx1[key13], tagy1, 8, 17);
drawpai(g, normalx1[key13], normaly1, value1[key13]);
grounddraw(g, normalx1[key14], tagy1, 8, 17);
drawpai(g, normalx1[key14], normaly1, value1[key14]);
grounddraw(g, normalx1[key12], tagy1, 8, 17);
drawpai(g, normalx1[key12], tagy1, value1[key12]);
grounddraw(g, normalx1[key11], tagy1, 8, 17);
drawpai(g, normalx1[key11], tagy1, value1[key11]);
}
private void doChidraw(Graphics g)
{
key1 = key11;
key2 = key12;
draw1(g);
}
private void downdraw(Graphics g)
{
isDown = false;
grounddraw(g, normalx1[key1], tagy1, 8, 17);
drawpai(g, normalx1[key1], normaly1, value1[key1]);
grounddraw(g, normalx1[key2], tagy1, 8, 17);
drawpai(g, normalx1[key2], normaly1, value1[key2]);
grounddraw(g, normalx1[key3], tagy1, 8, 17);
drawpai(g, normalx1[key3], normaly1, value1[key3]);
grounddraw(g, normalx1[key4], tagy1, 8, 17);
drawpai(g, normalx1[key4], normaly1, value1[key4]);
}
private void exePengdraw(Graphics g)
{
exepeng(value1);
if(peng)
{
key1 = i1;
key2 = i2;
exeUp = true;
exeMove = false;
exePeng = true;
coverdraw(g, 49, 97, 22, 12, chi1, -83, 97);
}
}
private void isPengdraw(Graphics g)
{
if(isPeng)
{
grounddraw(g, normalx1[key1], tagy1, 8, 17);
drawpai(g, normalx1[key1], tagy1, value1[key1]);
grounddraw(g, normalx1[key2], tagy1, 8, 17);
drawpai(g, normalx1[key2], tagy1, value1[key2]);
}
}
private void doPengdraw(Graphics g)
{
if(tag >= 45 && tag <= 47)
fan1 = fan1 + 1;
else
if(tag == feng)
fan1 = fan1 + 1;
draw1(g);
}
private void exeGangdraw(Graphics g)
{
exegang(value1);
if(gang)
{
key1 = i1;
key2 = i2;
key3 = i3;
exeUp = true;
exeMove = false;
exeGang = true;
coverdraw(g, 5, 97, 22, 12, chi1, -83, 97);
}
}
private void isGangdraw(Graphics g)
{
if(isGang)
{
grounddraw(g, normalx1[key1], tagy1, 8, 17);
drawpai(g, normalx1[key1], tagy1, value1[key1]);
grounddraw(g, normalx1[key2], tagy1, 8, 17);
drawpai(g, normalx1[key2], tagy1, value1[key2]);
grounddraw(g, normalx1[key3], tagy1, 8, 17);
drawpai(g, normalx1[key3], tagy1, value1[key3]);
}
}
private void doGangdraw(Graphics g)
{
if(tag >= 45 && tag <= 47)
fan1 = fan1 + 1;
else
if(tag == feng)
fan1 = fan1 + 1;
int i1 = 0;
int i2 = 0;
int i3 = 0;
i1 = value1[key1];
i2 = value1[key2];
i3 = value1[key3];
value1[key1] = 100;
value1[key2] = 100;
value1[key3] = 100;
grounddraw(g, normalx1[key1], tagy1, 8, 17);
grounddraw(g, normalx1[key2], tagy1, 8, 17);
grounddraw(g, normalx1[key3], 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);
drawpai(g, 105 - changeNO1 * 9, normaly1, i3);
coverdraw(g, 5, 97, 88, 12, chi1, 5, 97);
value4[changeNO1] = value1[key1];
value4[changeNO1 + 1] = value1[key2];
value4[changeNO1 + 2] = value1[key3];
changeID2++;
changeNO1 = changeNO1 + 3;
handdraw1(g);
grounddraw(g, passx2, passy2, 8, 14);
doGang = false;
isUp = false;
}
private void exeHudraw(Graphics g)
{
isHumanDo = true;
exeHu(value1);
isHumanDo = false;
if(exeHu)
coverdraw(g, 71, 97, 22, 12, chi1, -83, 97);
}
protected void keyPressed(int keyCode)
{
int gameAction = getGameAction(keyCode);
switch(gameAction)
{
case 3: // '\003'
case 4: // '\004'
case 7: // '\007'
default:
break;
case 1: // '\001'
if(exeHu)
down = false;
if(!exeUp)
break;
if(exeGang1)
isGang1 = true;
else
if(exeGang)
isGang = true;
else
if(exePeng)
isPeng = true;
else
if(exeChi)
isChi = true;
exeUp = false;
isUp = true;
break;
case 6: // '\006'
if(isGang1)
{
isGang1 = false;
exeMove = true;
}
isChi = false;
isPeng = false;
isGang = false;
isUp = false;
exeUp = true;
isDown = true;
down = true;
break;
case 2: // '\002'
if(exeMove)
{
oldtag = value1[tagID];
oldtagx = tagx1;
if(tagID > 0 && tagID <= value1max)
{
tagx1 = tagx1 - 9;
tagID--;
} else
if(tagID == 0)
{
tagx1 = normalx1[value1max];
tagID = value1max;
}
tag = value1[tagID];
isMove = true;
break;
}
if(isUp && isChi)
{
if(key <= keymin)
isChange = true;
else
key--;
break;
}
if(isUp && isPeng || isUp && isGang)
isChange = true;
break;
case 5: // '\005'
if(exeMove)
{
oldtag = value1[tagID];
oldtagx = tagx1;
if(tagID < value1max && tagID >= 0)
{
tagx1 = tagx1 + 9;
tagID++;
} else
if(tagID == value1max)
{
tagx1 = 1;
tagID = 0;
}
tag = value1[tagID];
isMove = true;
break;
}
if(isUp && isChi)
{
if(key >= keymax)
isChange = true;
else
key++;
break;
}
if(isUp && isPeng || isUp && isGang)
isChange = true;
break;
case 8: // '\b'
if(exeHu && down)
{
doHu = true;
break;
}
if(doHu || isFinish)
{
doHu = false;
isNew = true;
break;
}
if(isGang1)
{
isGang1 = false;
doGang1 = true;
break;
}
if((exeChi || exePeng || exeGang) && !isUp)
{
isMove = false;
isChi = false;
isPeng = false;
isGang = false;
isFire = true;
break;
}
if(!exeChi && !exePeng && !exeGang)
{
isMove = false;
isPass1 = true;
passID++;
break;
}
if(isUp && isChi)
{
doChi = true;
exeUp = false;
isChi = false;
break;
}
if(isUp && isPeng)
{
doPeng = true;
exeUp = false;
isPeng = false;
break;
}
if(isUp && isGang)
{
doGang = true;
exeUp = false;
isGang = false;
}
break;
}
repaint();
serviceRepaints();
}
private void chidraw2(Graphics g)
{
chi = false;
exechi(value2);
if(chi)
{
tagx2 = tagx2 + 27;
doChi2 = true;
if(isexit2 && isexit3)
{
i1 = i2;
i2 = i3;
} else
if(isexit3 && isexit4)
{
i1 = i3;
i2 = i4;
}
grounddraw(g, passx, passy, 8, 14);
grounddraw(g, 1 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 1 + changeNO2 * 9, normaly2, value2[i1]);
grounddraw(g, 10 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 10 + changeNO2 * 9, normaly2, value2[i2]);
grounddraw(g, 19 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 19 + changeNO2 * 9, normaly2, tag);
value5[changeNO2] = value2[i1];
value5[changeNO2 + 1] = value2[i2];
value5[changeNO2 + 2] = tag;
changeID1++;
changeNO2 = changeNO2 + 3;
value2[i1] = 100;
value2[i2] = 100;
sort2();
}
}
private void pengdraw2(Graphics g)
{
exepeng(value2);
if(peng)
{
boolean isexit1 = false;
boolean isexit2 = false;
boolean isexit3 = false;
boolean isexit4 = false;
for(int i = 0; i <= 12; i++)
if(value2[i] == tag - 2)
isexit1 = true;
else
if(value2[i] == tag - 1)
isexit2 = true;
else
if(value2[i] == tag + 1)
isexit3 = true;
else
if(value2[i] == tag + 2)
isexit4 = true;
if((!isexit1 || !isexit2) && (!isexit3 || !isexit4) && (!isexit2 || !isexit3))
{
doPeng2 = true;
tagx2 = tagx2 + 27;
grounddraw(g, passx, passy, 8, 14);
grounddraw(g, 1 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 1 + changeNO2 * 9, normaly2, value2[i1]);
grounddraw(g, 10 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 10 + changeNO2 * 9, normaly2, value2[i2]);
grounddraw(g, 19 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 19 + changeNO2 * 9, normaly2, tag);
if(tag >= 65 && tag <= 67)
fan2 = fan2 + 1;
else
if(tag == feng)
fan2 = fan2 + 1;
value5[changeNO2] = value2[i1];
value5[changeNO2 + 1] = value2[i2];
value5[changeNO2 + 2] = tag;
changeID1++;
changeNO2 = changeNO2 + 3;
value2[i1] = 100;
value2[i2] = 100;
sort2();
}
}
}
private void gangdraw2(Graphics g)
{
exegang(value2);
if(gang)
{
boolean isexit1 = false;
boolean isexit2 = false;
boolean isexit3 = false;
boolean isexit4 = false;
for(int i = 0; i <= 12; i++)
if(value2[i] == tag - 2)
isexit1 = true;
else
if(value2[i] == tag - 1)
isexit2 = true;
else
if(value2[i] == tag + 1)
isexit3 = true;
else
if(value2[i] == tag + 2)
isexit4 = true;
if((!isexit1 || !isexit2) && (!isexit3 || !isexit4) && (!isexit2 || !isexit3))
{
doGang2 = true;
tagx2 = tagx2 + 27;
grounddraw(g, passx, passy, 8, 14);
grounddraw(g, 1 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 1 + changeNO2 * 9, normaly2, value2[i1]);
grounddraw(g, 10 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 10 + changeNO2 * 9, normaly2, value2[i2]);
grounddraw(g, 19 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 19 + changeNO2 * 9, normaly2, value2[i3]);
grounddraw(g, 15 + changeNO2 * 9, normaly2, 10, 14);
drawpai(g, 15 + changeNO2 * 9, normaly2, tag);
if(tag >= 65 && tag <= 67)
fan2 = fan2 + 1;
else
if(tag == feng)
fan2 = fan2 + 1;
value5[changeNO2] = value2[i1];
value5[changeNO2 + 1] = value2[i2];
value5[changeNO2 + 2] = tag;
changeID1++;
changeNO2 = changeNO2 + 3;
value2[i1] = 100;
value2[i2] = 100;
value2[i3] = 100;
finish();
if(isFinish)
{
finishdraw(g);
} else
{
handdraw2(g);
sort2();
}
}
}
}
private void tingdraw(Graphics g)
{
for(int t = 0; t <= total; t++)
{
if(value[t] == 0)
continue;
int huvalue[] = {
100, 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, 100
};
int huvalue2[] = {
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100
};
int duivalue[] = {
100, 100, 100, 100, 100, 100, 100
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -