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

📄 gamecanvas.java

📁 本人收集的一些j2me资料!! 有兴趣的可以
💻 JAVA
📖 第 1 页 / 共 4 页
字号:

	    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 + -