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

📄 maincanvas.java.bak

📁 超精典手机版Call of Duty(使命的召唤)
💻 BAK
📖 第 1 页 / 共 5 页
字号:
            if(RecordStore.listRecordStores() == null)
                writeRecords();
            else
                readRecords();
        }
        catch(Exception exception)
        {
            System.out.println("Record Store not found");
        }
        try
        {
            tilesImage = Image.createImage("/ground.png");
            unitImage = Image.createImage("/player.png");
            enemyImage = Image.createImage("/axis.png");
            specialImage = Image.createImage("/special.png");
            craterImage = Image.createImage("/craters.png");
            explosionImage = Image.createImage("/explosion.png");
            smokeImage = Image.createImage("/smoke.png");
            symbolsImage = Image.createImage("/symbols.png");
            splashImage = Image.createImage("/activision.png");
            titleImage = Image.createImage("/title.png");
            selectImage = Image.createImage("/select.png");
            arrowsImage = Image.createImage("/arrows.png");
            menuImage = Image.createImage("/menu.png");
            statusBar = Image.createImage(66, fontHeight);
        }
        catch(Exception exception1)
        {
            System.out.println("Images not found");
        }
        int j = (height >> 4) + 1;
        if((height & 0xf) > 0)
            j++;
        screenImageHeight = j << 4;
        screenImage = Image.createImage(176, screenImageHeight);
        screenImageGraphics = screenImage.getGraphics();
        GetSound("intro");
        PlaySound(1);
        screenType = 0;
        timer = new Timer();
        frameCount = 0;
        StartSimpleTimer((short)1, 2500);
    }

    private Image GetImage(String s)
    {
        try
        {
            return Image.createImage("/" + s + ".png");
        }
        catch(Exception exception)
        {
            System.out.println(s + ".png not found");
        }
        return Image.createImage(1, 1);
    }

    private void GetSound(String s)
    {
        try
        {
            InputStream inputstream = getClass().getResourceAsStream("/" + s + ".wav");
            inputstream.read(soundWAV, 0, soundWAV.length);
        }
        catch(Exception exception)
        {
            System.out.println("Error reading " + s + ".wav - " + exception);
        }
    }

    private void ReadMap()
    {
        projectileArrayUsedStart = -1;
        projectileArrayUnusedStart = 0;
        for(int i = 38; i >= 0; i--)
            projectileArrayNext[i] = (int)(i + 1);

        projectileArrayNext[39] = -1;
        screenImageLeft = 0;
        for(int j = 0; j < 3; j++)
        {
            if(playerType[j] == 4 || playerType[j] == 3)
                playerSpecial[j] = 0;
            else
                playerSpecial[j] = INITIAL_AMMO[WEAPON_TYPE[playerType[j]]];
            playerHealth[j] = INITIAL_HEALTH[playerType[j]];
            playerNextShot[j] = 0;
            playerDirection[j] = 1;
            playerMoving[j] = false;
            playerProtected[j] = 0;
            playerInBuilding[j] = false;
            playerShowStatus[j] = 60;
        }

        Object obj = null;
        Object obj1 = null;
        Vector vector = new Vector();
        Vector vector1 = new Vector();
        Vector vector2 = new Vector();
        Vector vector3 = new Vector();
        Vector vector4 = new Vector();
        Vector vector5 = new Vector();
        try
        {
            InputStream inputstream = getClass().getResourceAsStream("m" + missionNumberCurrent);
            DataInputStream datainputstream = new DataInputStream(inputstream);
            int k = datainputstream.read();
            int j1;
            int i2;
            do
            {
                j1 = k >>> 4 & 0xf;
                i2 = k & 0xf;
                if(j1 > 1)
                    break;
                int k2 = datainputstream.read();
                vector1.addElement(new Integer(i2));
                vector2.addElement(new Integer(k2));
                k = datainputstream.read();
            } while(true);
            int int0 = 3;
            for(int k3 = vector1.size() - 1; k3 >= 0; k3--)
            {
                playerX[int0] = ((Integer)vector1.elementAt(k3)).intValue() << 4;
                playerY[int0] = ((Integer)vector2.elementAt(k3)).intValue() << 4;
                playerNextShot[int0] = 0;
                int j3;
                if(missionNumberCurrent == 9)
                    j3 = 2;
                else
                    j3 = missionNumberCurrent / 3;
                if(j3 == 0)
                    playerHealth[int0] = 0;
                else
                    playerHealth[int0] = (int)(Math.abs(random.nextInt()) % (j3 + 1));
                playerDirection[int0] = 7;
                int0++;
            }

            playerArrayNext[int0 - 1] = -1;
            for(int l3 = int0 - 2; l3 >= 0; l3--)
                playerArrayNext[l3] = (int)(l3 + 1);

            if(int0 > 3)
                opponentArrayStart = 3;
            else
                opponentArrayStart = -1;
            vector1 = new Vector();
            vector2 = new Vector();
            while(k != 240) 
            {
                int l2 = datainputstream.read();
                if(j1 == 7)
                {
                    screenImageLeft = ((i2 << 4) + 8) - width / 2;
                    if(screenImageLeft < 0)
                        screenImageLeft = 0;
                    else
                    if(screenImageLeft + width > 176)
                        screenImageLeft = 176 - width;
                    playerArrayStart = currentPlayer = 0;
                    takeCover = false;
                    playerX[0] = i2 << 4;
                    playerY[0] = l2 << 4;
                    playerX[1] = i2 - 1 << 4;
                    playerY[1] = l2 + 1 << 4;
                    playerX[2] = i2 + 1 << 4;
                    playerY[2] = playerY[1];
                } else
                {
                    vector.addElement(new Integer(j1));
                    vector1.addElement(new Integer(i2));
                    vector2.addElement(new Integer(l2));
                }
                k = datainputstream.read();
                j1 = k >>> 4 & 0xf;
                i2 = k & 0xf;
            }
            k = datainputstream.read();
            do
            {
                int k1 = k >>> 2 & 0x3f;
                i2 = k & 0x3;
                if(k1 == 63)
                    break;
                vector3.addElement(new Integer(k1 - 1));
                switch(i2)
                {
                case 0: // '\0'
                    vector4.addElement(new Integer(4));
                    break;

                case 1: // '\001'
                    vector4.addElement(new Integer(0));
                    break;

                case 2: // '\002'
                    vector4.addElement(new Integer(2));
                    break;

                case 3: // '\003'
                    vector4.addElement(new Integer(3));
                    break;
                }
                vector5.addElement(new Integer(-1));
                k = datainputstream.read();
            } while(true);
            int i4 = -1;
            int j4 = 0;
            boolean flag = false;
            int k4 = -1;
            i2 = 0;
            do
            {
                if(i4 < 0)
                {
                    j4 = 0;
                    for(int l4 = 2; l4 >= 0; l4--)
                    {
                        int l = datainputstream.read();
                        j4 += l << l4 * 8;
                    }

                    i4 = 3;
                }
                if(k4 == -1)
                {
                    k4 = j4 >>> i4 * 6 & 0x3f;
                    if(k4 == 63)
                        break;
                } else
                {
                    int i1 = j4 >>> i4 * 6 & 0x3f;
                    if(flag)
                    {
                        if(i1 == 0)
                        {
                            MapData[i2 / 11][i2 % 11] = (int)(k4 - 1);
                            i2++;
                            break;
                        }
                        for(int i5 = i1; i5 > 0; i5--)
                        {
                            MapData[i2 / 11][i2 % 11] = (int)(k4 - 1);
                            i2++;
                        }

                        flag = false;
                        k4 = -1;
                    } else
                    if(i1 == 63)
                    {
                        flag = true;
                    } else
                    {
                        MapData[i2 / 11][i2 % 11] = (int)(k4 - 1);
                        i2++;
                        k4 = i1;
                    }
                }
                i4--;
            } while(true);
            datainputstream.close();
            inputstream.close();
        }
        catch(Exception exception)
        {
            System.out.println("Exception: " + exception.toString());
        }
        int int1 = 0;
        int int2 = (int)vector3.size();
        specialArrayExplodableStart = -1;
        int aint0[] = new int[16];
        int aint1[] = new int[16];
        for(int j5 = vector.size() - 1; j5 >= 0; j5--)
        {
            int l1 = ((Integer)vector.elementAt(j5)).intValue();
            if(specialArrayExplodableStart < 0 && l1 <= 6)
                specialArrayExplodableStart = int1;
            int int3;
            int int4;
            switch(l1)
            {
            case 2: // '\002'
                int3 = 4;
                int4 = 1;
                break;

            case 3: // '\003'
                int3 = 0;
                int4 = 0;
                break;

            case 4: // '\004'
                int3 = 1;
                int4 = 0;
                break;

            case 5: // '\005'
                int3 = 3;
                int4 = 0;
                break;

            case 6: // '\006'
                int3 = 2;
                int4 = 0;
                break;

            case 8: // '\b'
                int3 = 8;
                int4 = 4;
                break;

            case 9: // '\t'
                int3 = 6;
                int4 = 4;
                break;

            case 10: // '\n'
                int3 = 5;
                int4 = 4;
                break;

            case 11: // '\013'
                int3 = 7;
                int4 = 4;
                break;

            case 12: // '\f'
                int3 = 9;
                int4 = 5;
                break;

            case 7: // '\007'
            default:
                int3 = -1;
                int4 = -1;
                break;
            }
            if(int3 >= 0)
            {
                int j2 = ((Integer)vector1.elementAt(j5)).intValue();
                int i3 = ((Integer)vector2.elementAt(j5)).intValue();

⌨️ 快捷键说明

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