⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamecanvas.java

📁 本人收集的一些j2me资料!! 有兴趣的可以
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	    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 + -