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

📄 maincanvas.java

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

                    case 7: // '\007'
                        EShotX[k12] += EShotMX[k12];
                        EShotY[k12] += EShotMY[k12];
                        if(EShotX[k12] <= 0)
                            EShotMX[k12] = Math.abs(EShotMX[k12]);
                        if(EShotX[k12] >= SCREEN_W * 10)
                            EShotMX[k12] = -Math.abs(EShotMX[k12]);
                        if(EShotY[k12] <= -100)
                            EShotAlive[k12] = false;
                        if(EShotY[k12] >= (SCREEN_H + 10) * 10)
                            EShotAlive[k12] = false;
                        break;

                    case 8: // '\b'
                        EShotX[k12] += EShotMX[k12];
                        EShotY[k12] += EShotMY[k12];
                        EShotFlag[k12]++;
                        if(EShotFlag[k12] >= 5)
                            EShotAlive[k12] = false;
                        break;

                    case 10: // '\n'
                        EShotX[k12] += EShotMX[k12];
                        EShotY[k12] += EShotMY[k12];
                        EShotFlag[k12]++;
                        if(EShotFlag[k12] >= 2)
                            CreateEShot(8, EShotX[k12] / 10, EShotY[k12] / 10, 0, 0);
                        if(EShotX[k12] <= -100)
                            EShotAlive[k12] = false;
                        if(EShotX[k12] >= (SCREEN_W + 10) * 10)
                            EShotAlive[k12] = false;
                        if(EShotY[k12] <= -100)
                            EShotAlive[k12] = false;
                        if(EShotY[k12] >= (SCREEN_H + 10) * 10)
                            EShotAlive[k12] = false;
                        break;

                    case 11: // '\013'
                        EShotFlag[k12]++;
                        if(EShotFlag[k12] > 120)
                        {
                            EShotX[k12] += EShotMX[k12];
                            EShotY[k12] += EShotMY[k12];
                        } else
                        if(EShotFlag[k12] % 12 < 10)
                        {
                            EShotX[k12] += EShotMX[k12];
                            EShotY[k12] += EShotMY[k12];
                        } else
                        if(EShotFlag[k12] % 12 < 12)
                        {
                            Path = SetTarget(EShotX[k12] / 10, EShotY[k12] / 10, PlayerX, PlayerY, 4);
                            EShotMX[k12] = Path[0];
                            EShotMY[k12] = Path[1];
                        }
                        if(EShotX[k12] <= -100)
                            EShotAlive[k12] = false;
                        if(EShotX[k12] >= (SCREEN_W + 10) * 10)
                            EShotAlive[k12] = false;
                        if(EShotY[k12] <= -100)
                            EShotAlive[k12] = false;
                        if(EShotY[k12] >= (SCREEN_H + 10) * 10)
                            EShotAlive[k12] = false;
                        break;
                    }

            if(FlgBoss == 2)
            {
                boolean flag3 = true;
                for(int l12 = 0; l12 < 5; l12++)
label0:
                    switch(BossType[l12])
                    {
                    default:
                        break;

                    case 1: // '\001'
                        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]++;
                            int ai2[] = {
                                1, 1, 1, 2, 2, 2, 3, 3, 3
                            };
                            if(BossFlag2[l12] >= 10 && BossFlag2[l12] < 19)
                            {
                                int l = BossFlag2[l12] - 10;
                                if(Round != 1 && BossFlag2[l12] == 10)
                                {
                                    CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
                                    CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
                                    CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
                                }
                                if(BossAlive[1])
                                {
                                    CreateEShot(ai2[l], BossX[l12] - 24, BossY[l12] - 16, CIRCLEX[l * 2 + 16] * 6, CIRCLEY[l * 2 + 16] * 6);
                                    if(Round != 1)
                                        CreateEShot(ai2[l], BossX[l12] - 24, BossY[l12] - 16, -CIRCLEX[l * 2 + 16] * 6, CIRCLEY[l * 2 + 16] * 6);
                                    flag3 = false;
                                }
                            } else
                            if(BossFlag2[l12] >= 30 && BossFlag2[l12] < 39)
                            {
                                int i1 = BossFlag2[l12] - 30;
                                if(Round != 1 && BossFlag2[l12] == 30)
                                {
                                    CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
                                    CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
                                    CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
                                }
                                if(BossAlive[2])
                                {
                                    CreateEShot(ai2[i1], BossX[l12] + 24, BossY[l12] - 16, -CIRCLEX[i1 * 2 + 16] * 6, CIRCLEY[i1 * 2 + 16] * 6);
                                    if(Round != 1)
                                        CreateEShot(ai2[i1], BossX[l12] + 24, BossY[l12] - 16, CIRCLEX[i1 * 2 + 16] * 6, CIRCLEY[i1 * 2 + 16] * 6);
                                    flag3 = false;
                                }
                            } else
                            if(BossFlag2[l12] >= 50 && BossFlag2[l12] < 60 && BossFlag2[l12] % 3 == 0)
                            {
                                if(Round == 1)
                                {
                                    CreateEShot(4, BossX[l12] - 4, BossY[l12] + 17, 0, 60);
                                    CreateEShot(4, BossX[l12], BossY[l12] + 15, 0, 60);
                                    CreateEShot(4, BossX[l12] + 4, BossY[l12] + 17, 0, 60);
                                } else
                                {
                                    CreateEShot(4, BossX[l12] - 4, BossY[l12] + 17, 0, 80);
                                    CreateEShot(4, BossX[l12], BossY[l12] + 15, 0, 80);
                                    CreateEShot(4, BossX[l12] + 4, BossY[l12] + 17, 0, 80);
                                    if(BossAlive[1])
                                    {
                                        CreateEShot(4, BossX[l12] - 27 - 4, BossY[l12] + 6 + 25, 0, 80);
                                        CreateEShot(4, (BossX[l12] - 27) + 4, BossY[l12] + 6 + 25, 0, 80);
                                    }
                                    if(BossAlive[2])
                                    {
                                        CreateEShot(4, (BossX[l12] + 27) - 4, BossY[l12] + 6 + 25, 0, 80);
                                        CreateEShot(4, BossX[l12] + 27 + 4, BossY[l12] + 6 + 25, 0, 80);
                                    }
                                }
                            } else
                            if(BossFlag2[l12] == 65)
                                BossFlag2[l12] = 0;
                            else
                            if(BossFlag2[l12] >= 80 && BossFlag2[l12] < 89 || BossFlag2[l12] >= 100 && BossFlag2[l12] < 109)
                            {
                                if(Round != 1 && BossFlag2[l12] % 4 == 0)
                                {
                                    CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -24, 32);
                                    CreateEShot(5, BossX[l12] - 4, BossY[l12] + 17, -12, 36);
                                    CreateEShot(5, BossX[l12], BossY[l12] + 15, 0, 40);
                                    CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 12, 36);
                                    CreateEShot(5, BossX[l12] + 4, BossY[l12] + 17, 24, 32);
                                }
                                if(BossFlag2[l12] % 3 == 0)
                                {
                                    if(BossAlive[1])
                                    {
                                        CreateEShot(4, BossX[l12] - 27 - 4, BossY[l12] + 6 + 25, 0, 60);
                                        CreateEShot(4, (BossX[l12] - 27) + 4, BossY[l12] + 6 + 25, 0, 60);
                                    }
                                    if(BossAlive[2])
                                    {
                                        CreateEShot(4, (BossX[l12] + 27) - 4, BossY[l12] + 6 + 25, 0, 60);
                                        CreateEShot(4, BossX[l12] + 27 + 4, BossY[l12] + 6 + 25, 0, 60);
                                    }
                                }
                            } else
                            if(BossFlag2[l12] >= 120 && BossFlag2[l12] < 160)
                            {
                                if(BossFlag2[l12] >= 120 && BossFlag2[l12] < 129)
                                {
                                    int j1 = BossFlag2[l12] - 120;
                                    CreateEShot(ai2[j1], BossX[l12], BossY[l12], CIRCLEX[j1 * 2 + 16] * 4, CIRCLEY[j1 * 2 + 16] * 4);
                                } else
                                if(BossFlag2[l12] >= 130 && BossFlag2[l12] < 138)
                                {
                                    int k1 = BossFlag2[l12] - 130;
                                    CreateEShot(ai2[k1], BossX[l12], BossY[l12], -CIRCLEX[k1 * 2 + 17] * 4, CIRCLEY[k1 * 2 + 17] * 4);
                                }
                                if(BossFlag2[l12] >= 140 && BossFlag2[l12] < 149)
                                {
                                    int l1 = BossFlag2[l12] - 140;
                                    CreateEShot(ai2[l1], BossX[l12], BossY[l12], CIRCLEX[l1 * 2 + 16] * 4, CIRCLEY[l1 * 2 + 16] * 4);
                                } else
                                if(BossFlag2[l12] >= 150 && BossFlag2[l12] < 158)
                                {
                                    int i2 = BossFlag2[l12] - 150;
                                    CreateEShot(ai2[i2], BossX[l12], BossY[l12], -CIRCLEX[i2 * 2 + 17] * 4, CIRCLEY[i2 * 2 + 17] * 4);
                                }
                                if(Round != 1 && BossFlag2[l12] % 10 == 0)
                                {
                                    if(BossAlive[1])
                                    {
                                        Path = SetTarget(BossX[l12] - 24, BossY[l12] + 16, PlayerX, PlayerY, 4);
                                        CreateEShot(5, BossX[l12] - 24, BossY[l12] + 16, Path[0], Path[1]);
                                    }
                                    if(BossAlive[2])
                                    {
                                        Path = SetTarget(BossX[l12] + 24, BossY[l12] + 16, PlayerX, PlayerY, 4);
                                        CreateEShot(5, BossX[l12] + 24, BossY[l12] + 16, Path[0], Path[1]);
                                    }
                                }
                                flag3 = false;
                            } else
                            if(BossFlag2[l12] == 170)
                                BossFlag2[l12] = 70;
                            if(BossFlag2[l12] < 70 && BossLife[0] <= BossMaxLife / 2)
                                BossFlag2[l12] = 70;
                            switch(BossFlag1[l12])
                            {
                            default:
                                break;

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

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

                            case 2: // '\002'
                                if(!flag3)
                                    break label0;
                                BossX[l12] += 2;
                                if(BossX[l12] >= SCREEN_W - BossXSize[l12] / 2)
                                    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] - 27;
                            BossY[1] = BossY[0] + 6;
                            break;
                        }
                        if(l12 == 2)
                        {
                            BossX[2] = BossX[0] + 27;
                            BossY[2] = BossY[0] + 6;

⌨️ 快捷键说明

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