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

📄 gamecanvas.java

📁 本人收集的一些j2me资料!! 有兴趣的可以
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	    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;
	    if(exeTing)
		break;
	    for(int i = 0; i <= 13; i++)
		huvalue[i] = value2[i];

	    if(doChi2 || doPeng2)
		huvalue[13] = 100;
	    else
		huvalue[13] = tag;
	    huvalue[14] = value[t];
	    sort(14, huvalue);
	    int i = 0;
	    while(i <= 13)
	    {
		if(huvalue[i] != 100 && huvalue[i] == huvalue[i + 1])
		{
		    duivalue[m] = i;
		    i += 2;
		    m++;
		    continue;
		}
		if(huvalue[i] == 1000)
		    break;
		i++;
	    }
	    i = 0;
	    while(i <= 12)
	    {
		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)
	    {
		exeTing = false;
	    } else
	    {
		for(int h = 0; h <= m - 1; h++)
		{
		    if(exeTing)
			break;
		    for(int j = 0; j <= 14; 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(exeTing)
			    break;
			for(int j = 0; j <= 14; 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 <= 14; 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 <= 14; 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 <= 14; j++)
			    if(huvalue2[j] == 100)
				l++;

			if(l == 14)
			    exeTing = true;
			if(exeTing)
			{
			    for(int j = 0; j <= 14; j++)
				if(huvalue2[j] != 100)
				    tag = huvalue2[j];

			    for(int j = 0; j <= 14; j++)
			    {
				if(value2[j] != tag)
				    continue;
				value2[j] = 100;
				break;
			    }

			    isTing = true;
			    hutag = value[t];
			    computerpasspaint(g);
			    coverdraw(g, 100, 17, 25, 5, ting, 100, 17);
			}
			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;
			    }

		    }

		}

	    }
	}

    }

    private void computerpass(Graphics g)
    {
	ispass2 = false;
	int feng[] = new int[14];
	int feng1[] = new int[14];
	int tiao[] = new int[14];
	int tong[] = new int[14];
	int wan[] = new int[14];
	for(int i = 0; i <= 13; i++)
	{
	    feng[i] = 0;
	    feng1[i] = 0;
	    tiao[i] = 0;
	    tong[i] = 0;
	    wan[i] = 0;
	}

	int fengNO = 0;
	int tiaoNO = 0;
	int tongNO = 0;
	int wanNO = 0;
	if(isTing)
	{
	    value2[13] = 100;
	    computerpasspaint(g);
	} else
	{
	    for(int i = 0; i <= 13; i++)
		if(value2[i] >= 61 && value2[i] <= 67)
		{
		    feng[fengNO] = value2[i];
		    feng1[fengNO] = value2[i];
		    fengNO++;
		} else
		if(value2[i] >= 1 && value2[i] <= 9)
		{
		    tiao[tiaoNO] = value2[i];
		    tiaoNO++;
		} else
		if(value2[i] >= 21 && value2[i] <= 29)
		{
		    tong[tongNO] = value2[i];
		    tongNO++;
		} else
		if(value2[i] >= 41 && value2[i] == 49)
		{
		    wan[wanNO] = value2[i];
		    wanNO++;
		}

	    for(int i = 0; i <= 11; i++)
	    {
		if(ispass2)
		    break;
		if(i == 0)
		{
		    tingdraw(g);
		    if(isTing)
		    {
			sort2();
			break;
		    }
		    sort2();
		} else
		if(i == 1)
		{
		    for(int k = 0; k <= 12; k++)
		    {
			for(int j = k + 1; j <= 13; j++)
			    if(feng[k] == feng[j] && feng[k] != 100)
			    {
				feng1[k] = 100;
				feng1[j] = 100;
			    }

		    }

		    for(int k = 0; k <= 13; k++)
		    {
			if(feng1[k] == 100)
			    continue;
			tag = feng1[k];
			for(int j = 0; j <= 13; j++)
			{
			    if(value2[j] != feng1[k])
				continue;
			    value2[j] = 100;
			    break;
			}

			computerpasspaint(g);
			ispass2 = true;
			break;
		    }

		} else
		if(i == 2)
		    bi1draw(g, tiao);
		else
		if(i == 3)
		    bi2draw(g, tiao);
		else
		if(i == 4)
		    bi1draw(g, tong);
		else
		if(i == 5)
		    bi2draw(g, tong);
		else
		if(i == 6)
		    bi1draw(g, wan);
		else
		if(i == 7)
		    bi2draw(g, wan);
		else
		if(i == 8)
		    kadraw(g, tiao);
		else
		if(i == 9)
		    kadraw(g, tong);
		else
		if(i == 10)
		    kadraw(g, wan);
		else
		if(i == 11)
		{
		    tag = value2[0];
		    value2[0] = 100;
		    computerpasspaint(g);
		    ispass2 = true;
		}
	    }

	}
    }

    private void bi1draw(Graphics g, int a[])
    {
	if(a[0] != 100 && a[1] == 100 || a[0] != 100 && a[1] != 100 && a[1] - a[0] >= 2)
	{
	    tag = a[0];
	    for(int j = 0; j <= 13; j++)
	    {
		if(value2[j] != a[0])
		    continue;
		value2[j] = 100;
		break;
	    }

	    computerpasspaint(g);
	    ispass2 = true;
	}
    }

    private void bi2draw(Graphics g, int b[])
    {
	int a = 0;
	if(b[0] != 100 && b[1] != 100)
	{
	    for(int j = 0; j <= 13; j++)
	    {
		if(b[j] == 100)
		{
		    a = j - 1;
		    break;
		}
		if(b[13] == 100)
		    continue;
		a = 13;
		break;
	    }

	    if(b[a] - b[a - 1] >= 2)
	    {
		tag = b[a];
		for(int j = 0; j <= 13; j++)
		{
		    if(value2[j] != b[a])
			continue;
		    value2[j] = 100;
		    break;
		}

		computerpasspaint(g);
		ispass2 = true;
	    }
	}
    }

    private void kadraw(Graphics g, int b[])
    {
	int c[] = {
	    100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
	    100, 100, 100
	};
	for(int j = 0; j <= 12; j++)
	    if(b[j] != 100 && b[j + 1] != 100)
		c[j] = b[j + 1] - b[j];

	for(int j = 0; j <= 11; j++)
	{
	    if(c[j] < 2 || c[j + 1] < 2 || c[j] == 100 || c[j + 1] == 100)
		continue;
	    tag = b[j + 1];
	    for(int k = 0; k <= 13; k++)
	    {
		if(value2[k] != tag)
		    continue;
		value2[k] = 100;
		break;
	    }

	    computerpasspaint(g);
	    ispass2 = true;
	    break;
	}

    }

    private void computerpasspaint(Graphics g)
    {
	grounddraw(g, tagx2, tagy2, 8, 14);
	passx2 = 119 - (passID - 1 - changeID2) * 9;
	passy2 = 37;
	if(passx2 >= -124 && passx2 <= -7)
	{
	    passy2 = passy2 - 14;
	    passx2 = passx2 + 126;
	} else
	if(passx2 >= -250 && passx2 <= -133)
	{
	    passy2 = 37;
	    passx2 = passx2 + 252;
	} else
	if(passx2 >= -376 && passx2 <= -259)
	{
	    passy2 = passy2 - 14;
	    passx2 = passx2 + 378;
	}
	drawpai(g, passx2, passy2, tag);
    }

    private void computerDo(Graphics g)
    {
	if(isTing)
	{
	    hudraw2(g);
	    if(!hu2)
	    {
		finish();
		if(isFinish)
		    finishdraw(g);
		else
		if(score1 >= 1500 || noHu == 12)
		{
		    tag = hutag;
		    value2[13] = hutag;
		    hudraw2(g);
		} else
		{
		    handdraw2(g);
		    hudraw2(g);
		    if(hu2)
		    {
			fan = fan + 1;
		    } else
		    {
			computerpass(g);
			sort2();
			noHu++;
		    }
		}
	    }
	} else
	{
	    for(int i = 0; i <= 4; i++)
	    {
		doGang2 = false;
		doPeng2 = false;
		doChi2 = false;
		if(i == 0)
		{
		    hudraw2(g);
		    if(hu2)
			break;
		}
		if(i == 1)
		{
		    gangdraw2(g);
		    if(!doGang2)
			continue;
		    computerpass(g);
		    sort2();
		    break;
		}
		if(i == 2)
		{
		    pengdraw2(g);
		    if(!doPeng2)
			continue;
		    computerpass(g);
		    sort2();
		    break;
		}
		if(i == 3)
		{
		    chidraw2(g);
		    if(!doChi2)
			continue;
		    computerpass(g);
		    sort2();
		    break;
		}
		if(i != 4)
		    continue;
		finish();
		if(isFinish)
		{
		    finishdraw(g);
		} else
		{
		    handdraw2(g);
		    computerpass(g);
		    sort2();
		}
		break;
	    }

	}
    }

    private void hudraw2(Graphics g)
    {
	exeHu(value2);
	if(exeHu)
	{
	    exeHu = false;
	    hu2 = true;
	    int k = 0;
	    drawpai(g, tagx2, normaly2, tag);
	    for(int i = 0; i <= 13; i++)
	    {
		if(value2[i] != 100)
		{
		    drawpai(g, normalx2[i], normaly2, value2[i]);
		    continue;
		}
		if(value2[i] == 100)
		    break;
	    }

	    grounddraw(g, 0, 15, 128, 98);
	    fan = fan2;
	    countScore(g);
	    score2 = score2 + 10 * fan;
	    score1 = score1 - 10 * fan;
	    g.setColor(255);
	    g.setFont(bigFont);
	    g.drawString("+" + 10 * fan, 70, 30, 20);
	    g.drawString("=" + score2, 70, 45, 20);
	    g.drawString("-" + 10 * fan, 70, 70, 20);
	    g.drawString("=" + score1, 70, 85, 20);
	    doHu = true;
	    zhuang = false;
	}
    }

    private void countScore(Graphics g)
    {
	boolean duiduihu = false;
	boolean qing = false;
	boolean hun = false;
	int value6[] = {
	    100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
	    100, 100, 100, 100
	};
	int value8[] = {
	    100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
	    100, 100, 100, 100
	};
	int value7[] = {
	    100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
	    100, 100
	};
	if(hu2)
	{
	    sort2();
	    for(int i = 0; i <= 13; i++)
		value6[i] = value2[i];

	    value6[13] = tag;
	    for(int i = 0; i <= 11; i++)
		value7[i] = value5[i];

	} else
	{
	    for(int i = 0; i <= 13; i++)
		value6[i] = value1[i];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -