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

📄 maincanvas.java

📁 J2me月光战机游戏源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                        }
                        break;

                    case 2: // '\002'
                        if(l12 == 0)
                        {
                            if(!BossAlive[l12])
                            {
                                Muteki = 10;
                                BossAlive[1] = false;
                                BossAlive[2] = false;
                                BossBomb[l12]++;
                                if(BossBomb[l12] / 4 >= 5 && PlayerBomb <= 0)
                                {
                                    BossType[l12] = 0;
                                    GameClear = true;
                                }
                                break;
                            }
                            BossFlag2[l12]++;
                            if(BossFlag2[l12] >= 10 && BossFlag2[l12] < 30 || BossFlag2[l12] >= 80 && BossFlag2[l12] < 90)
                            {
                                byte byte0;
                                if(Round == 1)
                                    byte0 = 3;
                                else
                                    byte0 = 2;
                                if(BossFlag2[l12] % byte0 == 0)
                                {
                                    if(BossAlive[1])
                                    {
                                        int j2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 36, BossY[l12] + 12, CIRCLEX[j2] * 3, CIRCLEY[j2] * 3);
                                        j2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 32, BossY[l12] + 6, CIRCLEX[j2] * 3, CIRCLEY[j2] * 3);
                                        j2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 28, BossY[l12] + 0, CIRCLEX[j2] * 3, CIRCLEY[j2] * 3);
                                    }
                                    if(BossAlive[2])
                                    {
                                        int k2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 36, BossY[l12] + 12, CIRCLEX[k2] * 3, CIRCLEY[k2] * 3);
                                        k2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 32, BossY[l12] + 6, CIRCLEX[k2] * 3, CIRCLEY[k2] * 3);
                                        k2 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 28, BossY[l12] + 0, CIRCLEX[k2] * 3, CIRCLEY[k2] * 3);
                                    }
                                }
                            } else
                            if(BossFlag2[l12] >= 50 && BossFlag2[l12] < 59)
                            {
                                int l2 = BossFlag2[l12] - 50;
                                int ai3[] = {
                                    1, 1, 1, 2, 2, 2, 3, 3, 3
                                };
                                CreateEShot(ai3[l2], BossX[l12] - 9, BossY[l12] - 4, CIRCLEX[l2 * 2 + 16] * 4, CIRCLEY[l2 * 2 + 16] * 4);
                                CreateEShot(ai3[l2], BossX[l12] + 9, BossY[l12] - 4, -CIRCLEX[l2 * 2 + 16] * 4, CIRCLEY[l2 * 2 + 16] * 4);
                                flag3 = false;
                            } else
                            if(BossFlag2[l12] >= 30 && BossFlag2[l12] < 49 || BossFlag2[l12] >= 70 && BossFlag2[l12] < 89)
                            {
                                if(Round != 1 && BossFlag2[l12] % 3 == 0)
                                {
                                    if(BossAlive[1])
                                        CreateEShot(4, BossX[l12] - 22, BossY[l12] - 15, 0, 60);
                                    if(BossAlive[2])
                                        CreateEShot(4, BossX[l12] + 22, BossY[l12] - 15, 0, 60);
                                }
                            } else
                            if(BossFlag2[l12] == 95)
                                BossFlag2[l12] = 0;
                            else
                            if(BossFlag2[l12] >= 110 && BossFlag2[l12] < 150)
                            {
                                if(BossFlag2[l12] >= 120 && BossFlag2[l12] < 140 && BossFlag2[l12] % 2 == 0)
                                {
                                    for(int j15 = 2; j15 <= 12; j15 += 2)
                                    {
                                        CreateEShot(5, BossX[l12] - 9, BossY[l12] - 4, CIRCLEX[j15 + 16] * 8, CIRCLEY[j15 + 16] * 8);
                                        CreateEShot(5, BossX[l12] + 9, BossY[l12] - 4, -CIRCLEX[j15 + 16] * 8, CIRCLEY[j15 + 16] * 8);
                                    }

                                    if(Round != 1)
                                        CreateEShot(5, BossX[l12], BossY[l12] - 4, 0, 80);
                                }
                                flag3 = false;
                            } else
                            if(BossFlag2[l12] >= 160 && BossFlag2[l12] < 169)
                            {
                                int i3 = BossFlag2[l12] - 160;
                                int ai4[] = {
                                    1, 1, 1, 2, 2, 2, 3, 3, 3
                                };
                                CreateEShot(ai4[i3], BossX[l12] - 9, BossY[l12] - 4, CIRCLEX[i3 * 2 + 16] * 4, CIRCLEY[i3 * 2 + 16] * 4);
                                CreateEShot(ai4[i3], BossX[l12] + 9, BossY[l12] - 4, -CIRCLEX[i3 * 2 + 16] * 4, CIRCLEY[i3 * 2 + 16] * 4);
                                byte byte1;
                                if(Round == 1)
                                    byte1 = 3;
                                else
                                    byte1 = 2;
                                if(BossFlag2[l12] % byte1 == 0)
                                {
                                    if(BossAlive[1])
                                    {
                                        int j3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 36, BossY[l12] + 12, CIRCLEX[j3] * 3, CIRCLEY[j3] * 3);
                                        j3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 32, BossY[l12] + 6, CIRCLEX[j3] * 3, CIRCLEY[j3] * 3);
                                        j3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] - 28, BossY[l12] + 0, CIRCLEX[j3] * 3, CIRCLEY[j3] * 3);
                                    }
                                    if(BossAlive[2])
                                    {
                                        int k3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 36, BossY[l12] + 12, CIRCLEX[k3] * 3, CIRCLEY[k3] * 3);
                                        k3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 32, BossY[l12] + 6, CIRCLEX[k3] * 3, CIRCLEY[k3] * 3);
                                        k3 = Math.abs(god.nextInt() % 16) + 16;
                                        CreateEShot(0, BossX[l12] + 28, BossY[l12] + 0, CIRCLEX[k3] * 3, CIRCLEY[k3] * 3);
                                    }
                                }
                                if(Round != 1 && BossFlag2[l12] % 3 == 0)
                                {
                                    if(BossAlive[1])
                                        CreateEShot(4, BossX[l12] - 22, BossY[l12] - 15, 0, 60);
                                    if(BossAlive[2])
                                        CreateEShot(4, BossX[l12] + 22, BossY[l12] - 15, 0, 60);
                                }
                                flag3 = false;
                            } else
                            if(BossFlag2[l12] == 180)
                                BossFlag2[l12] = 100;
                            else
                            if(BossFlag2[l12] < 100 && BossLife[l12] <= BossMaxLife >> 1)
                                BossFlag2[l12] = 100;
                            switch(BossFlag1[l12])
                            {
                            default:
                                break;

                            case 0: // '\0'
                                BossY[l12] += 4;
                                if(BossY[l12] >= (BossYSize[l12] >> 1) + 0)
                                    BossFlag1[l12] = 1;
                                break label0;

                            case 1: // '\001'
                                if(!flag3)
                                    break label0;
                                BossX[l12] -= 2;
                                if(BossX[l12] <= BossXSize[l12] >> 1)
                                    BossFlag1[l12] = 2;
                                break label0;

                            case 2: // '\002'
                                if(!flag3)
                                    break label0;
                                BossX[l12] += 2;
                                if(BossX[l12] >= SCREEN_W - (BossXSize[l12] >> 1))
                                    BossFlag1[l12] = 1;
                                break;
                            }
                            break;
                        }
                        if(!BossAlive[l12])
                        {
                            BossBomb[l12]++;
                            if(BossBomb[l12] >= 5)
                                BossType[l12] = 0;
                            break;
                        }
                        if(l12 == 1)
                        {
                            BossX[1] = BossX[0] - 25;
                            BossY[1] = BossY[0] - 6;
                            break;
                        }
                        if(l12 == 2)
                        {
                            BossX[2] = BossX[0] + 25;
                            BossY[2] = BossY[0] - 6;
                        }
                        break;

                    case 3: // '\003'
                        if(l12 == 0)
                        {
                            if(!BossAlive[l12])
                            {
                                Muteki = 10;
                                BossAlive[1] = false;
                                BossAlive[2] = false;
                                BossBomb[l12]++;
                                if(BossBomb[l12] / 4 >= 5 && PlayerBomb <= 0)
                                {
                                    BossType[l12] = 0;
                                    GameClear = true;
                                }
                                break;
                            }
                            BossFlag2[l12]++;
                            if(BossFlag2[l12] >= 10 && BossFlag2[l12] < 50)
                            {
                                byte byte2;
                                if(Round == 1)
                                    byte2 = 3;
                                else
                                    byte2 = 2;
                                if(BossFlag2[l12] % byte2 == 0)
                                {
                                    int l3 = Math.abs(god.nextInt() % 41) - 20;
                                    CreateEShot(6, BossX[l12], BossY[l12] + 10, l3, 10);
                                }
                            } else
                            if(BossFlag2[l12] >= 70 && BossFlag2[l12] < 80)
                            {
                                if(BossFlag2[l12] % 2 == 0)
                                {
                                    if(BossAlive[1])
                                    {
                                        CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, -36, 48);
                                        CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, -18, 54);
                                        CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, 0, 60);
                                        CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, 18, 54);
                                        CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, 36, 48);
                                        if(Round != 1)
                                        {
                                            CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, -42, 42);
                                            CreateEShot(1, BossX[l12] - 24, BossY[l12] - 8, 42, 42);
                                        }
                                    }
                                    if(BossAlive[2])
                                    {
                                        CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, -36, 48);
                                        CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, -18, 54);
                                        CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, 0, 60);
                                        CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, 18, 54);
                                        CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, 36, 48);
                                        if(Round != 1)
                                        {
                                            CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, -42, 42);
                                            CreateEShot(1, BossX[l12] + 24, BossY[l12] - 8, 42, 42);
                                        }
                                    }
                                }
                                flag3 = false;
                            } else
                            if(BossFlag2[l12] >= 100 && BossFlag2[l12] < 120)
                            {
                                if(BossFlag2[l12] % 5 == 0)
                                {
                                    for(int k15 = 0; k15 < 10; k15++)
                                    {
                                        int i4;
                                        int l8;
                                        if(Round == 1)
                                        {
                                            i4 = Math.abs(god.nextInt() % 5) - 2;
                                            l8 = Math.abs(god.nextInt() % 5) - 2;
                                        } else
                                        {
                                            i4 = Math.abs(god.nextInt() % 9) - 4;
                                            l8 = Math.abs(god.nextInt() % 9) - 4;
                                        }
                                        Path = SetTarget(BossX[l12], BossY[l12] + 10, PlayerX, PlayerY, 4);
                                        CreateEShot(1, BossX[l12], BossY[l12] + 10, Path[0] + i4 * 4, Path[1] + l8 * 4);
                                    }

                                }
                                flag3 = false;

⌨️ 快捷键说明

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