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

📄 maincanvas.java

📁 J2me月光战机游戏源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        case 1: // '\001'
            LogoCount++;
            if(LogoCount >= 20)
                ChangeMain(2);
            break;

        case 7: // '\007'
            Object obj1 = null;
            int ai[] = {
                1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 
                3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 
                5, 5
            };
            try
            {
                if(ReadCount != 0)
                    if(ReadCount >= 1 && ReadCount < 11)
                    {
                        if(ReadCount == 1)
                            is = getClass().getResourceAsStream("tboss1");
                        int j = ReadCount - 1;
                        if(ai[ReadCount - 1] == Stage)
                        {
                            byte abyte1[] = new byte[BOSS_SIZE1[j]];
                            is.read(abyte1);
                            imgBoss[j] = Image.createImage(abyte1, 0, abyte1.length);
                            abyte1 = null;
                            System.gc();
                        } else
                        {
                            is.skip(BOSS_SIZE1[j]);
                        }
                        if(ReadCount == 10)
                            is.close();
                    } else
                    if(ReadCount >= 11 && ReadCount < 23)
                    {
                        if(ReadCount == 11)
                            is = getClass().getResourceAsStream("tboss2");
                        int k = ReadCount - 11;
                        if(ai[ReadCount - 1] == Stage)
                        {
                            byte abyte2[] = new byte[BOSS_SIZE2[k]];
                            is.read(abyte2);
                            imgBoss[k + 10] = Image.createImage(abyte2, 0, abyte2.length);
                            abyte2 = null;
                            System.gc();
                        } else
                        {
                            is.skip(BOSS_SIZE2[k]);
                        }
                        if(ReadCount == 22)
                            is.close();
                    } else
                    {
                        ChangeMain(8);
                    }
                ReadCount++;
            }
            catch(Exception exception1) { }
            break;

        case 8: // '\b'
            if(FlgBoss != 0);
            if(!PlayerAlive)
            {
                PlayerBomb++;
                if(PlayerBomb > 20)
                    if(Rest > 0)
                    {
                        PlayerAlive = true;
                        PlayerBomb = 0;
                        PlayerXSp = 0;
                        PlayerYSp = 0;
                        Muteki = 10;
                        MyLife = 6;
                        Rest--;
                    } else
                    {
                        FlgGameOver = true;
                    }
            }
            for(int k11 = 0; k11 < 5; k11++)
                BossDamage[k11] = false;

            if(MySpecialCount > 0)
                MySpecialCount--;
            if(Muteki > 0)
                Muteki--;
            if(StartCount > 0)
                StartCount--;
            if(ExtendCount > 0)
                ExtendCount--;
            for(int l11 = 0; l11 < 10; l11++)
                if(StarY[l11] >= SCREEN_H + 10)
                {
                    StarType[l11] = l11 & 3;
                    StarX[l11] = Math.abs(god.nextInt() % SCREEN_W);
                    StarY[l11] = -Math.abs(god.nextInt() % 100) - 10;
                } else
                {
                    StarY[l11] += (l11 >> 2) + 5;
                }

            for(int i23 = 0; i23 < 2; i23++)
            {
                for(int i12 = 0; i12 < 30; i12++)
                    if(MyShotAlive[i12])
                    {
                        MyShotX[i12] += MyShotMX[i12];
                        MyShotY[i12] += MyShotMY[i12];
                        if(MyShotX[i12] < -10)
                            MyShotAlive[i12] = false;
                        if(MyShotX[i12] > SCREEN_W + 10)
                            MyShotAlive[i12] = false;
                        if(MyShotY[i12] < 0)
                            MyShotAlive[i12] = false;
                        if(MyShotY[i12] > SCREEN_H + 10)
                            MyShotAlive[i12] = false;
                        if(FlgBoss == 2)
                        {
                            for(int j14 = 0; j14 < 5; j14++)
                                if(BossType[j14] != 0 && BossAlive[j14] && Math.abs(BossX[j14] - MyShotX[i12]) <= BossXSize[j14] >> 1 && Math.abs(BossY[j14] - MyShotY[i12]) <= BossYSize[j14] >> 1)
                                {
                                    MyShotAlive[i12] = false;
                                    BossDamage[j14] = true;
                                    BossLife[j14]--;
                                    if(BossLife[j14] <= 0)
                                    {
                                        BossAlive[j14] = false;
                                        PlusScore(BossPoint[j14]);
                                    }
                                }

                        } else
                        {
                            for(int k14 = 0; k14 < 20; k14++)
                                if(EnemyType[k14] != 0 && EnemyAlive[k14] && Math.abs(EnemyX[k14] - MyShotX[i12]) <= (EnemyXSize[k14] >> 1) + 4 && Math.abs(EnemyY[k14] - MyShotY[i12]) <= (EnemyYSize[k14] >> 1) + 4)
                                {
                                    MyShotAlive[i12] = false;
                                    EnemyLife[k14]--;
                                    if(EnemyLife[k14] <= 0)
                                    {
                                        EnemyAlive[k14] = false;
                                        PlusScore(EnemyPoint[k14]);
                                    }
                                }

                        }
                    }

            }

            if(PlayerAlive)
                if(PAttackMode == 0)
                {
                    ShotWait--;
                    if(ShotWait <= 0)
                    {
                        if(MyChar == 0)
                        {
                            CreateMyShot(0, 0, -8);
                            CreateMyShot(0, -2, -7);
                            CreateMyShot(0, 2, -7);
                        } else
                        {
                            CreateMyShot(0, 0, -8);
                            CreateMyShot(0, -2, -7);
                            CreateMyShot(0, 2, -7);
                            CreateMyShot(1, -4, -6);
                            CreateMyShot(2, 4, -6);
                        }
                        ShotWait = 3;
                    }
                } else
                {
                    AnimMyLazer = 1 - AnimMyLazer;
                    MyLazerLength = 0;
                    boolean flag2 = false;
                    byte byte4 = 0;
                    if(MyChar == 0)
                        byte4 = 20;
                    else
                        byte4 = 16;
                    for(int j12 = 0; j12 < 15; j12++)
                    {
                        MyLazerLength += byte4;
                        if(FlgBoss == 2)
                        {
                            for(int l14 = 0; l14 < 5; l14++)
                                if(BossType[l14] != 0 && BossAlive[l14] && BossY[l14] <= PlayerY && BossY[l14] >= PlayerY - MyLazerLength && Math.abs(BossX[l14] - PlayerX) <= (BossXSize[l14] >> 1) + 4)
                                {
                                    BossDamage[l14] = true;
                                    if(MyChar == 0)
                                        BossLife[l14] -= 4;
                                    else
                                        BossLife[l14] -= 3;
                                    if(BossLife[l14] <= 0)
                                    {
                                        BossAlive[l14] = false;
                                        PlusScore(BossPoint[l14]);
                                    } else
                                    {
                                        flag2 = true;
                                    }
                                }

                        } else
                        {
                            for(int i15 = 0; i15 < 20; i15++)
                                if(EnemyType[i15] != 0 && EnemyAlive[i15] && EnemyY[i15] <= PlayerY && EnemyY[i15] >= PlayerY - MyLazerLength && Math.abs(EnemyX[i15] - PlayerX) <= EnemyXSize[i15] >> 1)
                                {
                                    if(MyChar == 0)
                                        EnemyLife[i15] -= 5;
                                    else
                                        EnemyLife[i15] -= 3;
                                    if(EnemyLife[i15] <= 0)
                                    {
                                        EnemyAlive[i15] = false;
                                        PlusScore(EnemyPoint[i15]);
                                    } else
                                    {
                                        flag2 = true;
                                    }
                                }

                        }
                        if(flag2)
                            break;
                    }

                }
            for(int k12 = 0; k12 < 100; k12++)
                if(EShotAlive[k12])
                    switch(EShotType[k12])
                    {
                    default:
                        break;

                    case 0: // '\0'
                    case 1: // '\001'
                    case 2: // '\002'
                    case 3: // '\003'
                    case 4: // '\004'
                    case 5: // '\005'
                    case 9: // '\t'
                        EShotX[k12] += EShotMX[k12];
                        EShotY[k12] += EShotMY[k12];
                        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 6: // '\006'
                        EShotX[k12] += EShotMX[k12];
                        EShotY[k12] += EShotMY[k12];
                        EShotMY[k12]++;
                        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;

⌨️ 快捷键说明

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