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

📄 gamecanvas.java.bak

📁 GOGOGO游戏源码
💻 BAK
📖 第 1 页 / 共 5 页
字号:
                        lastplayerxpos = playerXpos;
                        lastplayerypos = playerYpos;
                        lastscrollx = scrollX;
                        lastscrolly = scrollY;
                    }
                    PlayerDead();
                }
                setSpritePos(ee, getSpriteXpos(ee) + 8, getSpriteYpos(ee) + 8);
            }
            if(sprites[ee][7] >= 10 && sprites[ee][7] < 20)
            {
                if(sprites[ee][1] != 30)
                    if(sprites[ee][8] > 0)
                    {
                        sprites[ee][8]--;
                    } else
                    {
                        sprites[ee][8] = 4;
                        if(sprites[ee][1] == 19)
                            setSpriteAnim(ee, 20);
                        else
                            setSpriteAnim(ee, 19);
                    }
                if(sprites[ee][7] == 10)
                    setSpritePos(ee, getSpriteXpos(ee) + 1, getSpriteYpos(ee));
                else
                    setSpritePos(ee, getSpriteXpos(ee) - 1, getSpriteYpos(ee));
                if(sprites[ee][1] != 30)
                {
                    setSpritePos(ee, getSpriteXpos(ee), getSpriteYpos(ee) - 10);
                    if(checkkollision(ee, player, 5, 0) == 1 && playerlostlive == 0 && playerflashing == 0)
                    {
                        lastplayerxpos = playerXpos;
                        lastplayerypos = playerYpos;
                        lastscrollx = scrollX;
                        lastscrolly = scrollY;
                        PlayerDead();
                    }
                    setSpritePos(ee, getSpriteXpos(ee), getSpriteYpos(ee) + 10);
                } else
                {
                    setSpritePos(ee, getSpriteXpos(ee) - 8, getSpriteYpos(ee) - 16);
                    if(checkkollision(player, ee, 9, 8) == 1 && playerlostlive == 0 && playerflashing == 0)
                    {
                        lastplayerxpos = playerXpos;
                        lastplayerypos = playerYpos;
                        lastscrollx = scrollX;
                        lastscrolly = scrollY;
                        PlayerDead();
                    }
                    setSpritePos(ee, getSpriteXpos(ee) + 8, getSpriteYpos(ee) + 16);
                }
                if(GetIcon(getSpriteXpos(ee), getSpriteYpos(ee) - 16) == MASK_FIREDIRCHANGE)
                    if(sprites[ee][7] == 10)
                        sprites[ee][7] = 11;
                    else
                        sprites[ee][7] = 10;
            }
            if(sprites[ee][7] >= 20 && sprites[ee][7] < 30)
            {
                if(sprites[ee][1] != 23)
                {
                    if(sprites[ee][8] > 0)
                    {
                        sprites[ee][8]--;
                    } else
                    {
                        sprites[ee][8] = 4;
                        if(sprites[ee][1] == 24)
                            setSpriteAnim(ee, 25);
                        else
                            setSpriteAnim(ee, 24);
                    }
                } else
                if(getSpriteXpos(player) + 6 > getSpriteXpos(ee) - 12 && getSpriteXpos(player) + 6 < getSpriteXpos(ee) + 8 && getSpriteYpos(player) + getSpriteHeight(player) >= getSpriteYpos(ee) - 8 && getSpriteYpos(player) + getSpriteHeight(player) <= getSpriteYpos(ee) - 2 && game_keypressed != 1)
                {
                    if(playerONlift != ee)
                    {
                        playerYpos = (getSpriteYpos(ee) - 6 - getSpriteHeight(player)) * 1000;
                        playerONlift = ee;
                    }
                } else
                if(playerONlift == ee)
                    playerONlift = 0;
                if(sprites[ee][7] == 20)
                    setSpritePos(ee, getSpriteXpos(ee) + 1, getSpriteYpos(ee));
                if(sprites[ee][7] == 21)
                    setSpritePos(ee, getSpriteXpos(ee) - 1, getSpriteYpos(ee));
                if(sprites[ee][7] == 22)
                {
                    setSpritePos(ee, getSpriteXpos(ee), getSpriteYpos(ee) - 1);
                    if(playerONlift == ee)
                    {
                        playerYpos = playerYpos - 1000;
                        setSpritePos(player, getSpriteXpos(player), playerYpos / 1000);
                        Scroll(2, 1000);
                    }
                }
                if(sprites[ee][7] == 23)
                {
                    setSpritePos(ee, getSpriteXpos(ee), getSpriteYpos(ee) + 1);
                    if(playerONlift == ee)
                    {
                        playerYpos = playerYpos + 1000;
                        setSpritePos(player, getSpriteXpos(player), playerYpos / 1000);
                        Scroll(8, 1000);
                    }
                }
                if(checkkollision(ee, player, 2, 2) == 1 && playerlostlive == 0 && playerflashing == 0 && sprites[ee][1] != 23 && getSpriteAnim(player) != 13)
                {
                    playerflashing = 40;
                    playerpower = playerpower - (level + 1) * 8;
                    if(soundopt == "YES")
                        PlaySound(2);
                    if(playerpower <= 0)
                        PlayerDead();
                }
                int plasmaIcon = GetIcon(getSpriteXpos(ee) - 8, getSpriteYpos(ee) - 8);
                if(plasmaIcon == 92)
                    sprites[ee][7] = 23;
                if(plasmaIcon == 93)
                    sprites[ee][7] = 21;
                if(plasmaIcon == 94)
                    sprites[ee][7] = 22;
                if(plasmaIcon == 95)
                    sprites[ee][7] = 20;
            }
            if(sprites[ee][7] >= 30 && sprites[ee][7] < 50)
            {
                if(checkkollision(ee, player, 0, 15) == 1 && sprites[ee][7] == 30)
                    sprites[ee][7] = 31;
                if(sprites[ee][7] > 30)
                    sprites[ee][7]++;
                if(sprites[ee][7] == 40)
                    setSpriteAnim(ee, 19);
                if(sprites[ee][7] == 42)
                    setSpriteAnim(ee, 20);
                if(sprites[ee][7] == 44)
                {
                    setSpriteAnim(ee, 21);
                    setSpritePos(ee, getSpriteXpos(ee) - 5, getSpriteYpos(ee) - 16);
                    if(checkkollision(ee, player, 0, 5) == 1 && playerlostlive == 0 && playerflashing == 0)
                    {
                        lastplayerxpos = playerXpos;
                        lastplayerypos = playerYpos;
                        lastscrollx = scrollX;
                        lastscrolly = scrollY;
                        PlayerDead();
                    }
                    setSpritePos(ee, getSpriteXpos(ee) + 5, getSpriteYpos(ee) + 16);
                }
                if(sprites[ee][7] == 48)
                    setSpriteAnim(ee, 20);
                if(sprites[ee][7] == 49)
                    setSpriteAnim(ee, 19);
                if(sprites[ee][7] == 50)
                {
                    setSpriteAnim(ee, 22);
                    sprites[ee][7] = 30;
                }
            }
            if(sprites[ee][7] > 100 && sprites[ee][7] < 130)
                if(sprites[ee + 1][9] > 0)
                {
                    sprites[ee + 1][9]--;
                    sprites[ee][0] = -99;
                    ee++;
                    sprites[ee][0] = -99;
                } else
                {
                    int doordir = 0;
                    if(sprites[ee][7] > 110)
                        doordir = 1;
                    else
                        doordir = -1;
                    setSpritePos(ee, getSpriteXpos(ee) - doordir, getSpriteYpos(ee));
                    setSpritePos(ee + 1, getSpriteXpos(ee + 1) + doordir, getSpriteYpos(ee + 1));
                    tileimagebuffer.setColor(0, 0, 0);
                    tileimagebuffer.fillRect(((getSpriteXpos(ee) + 8) - levelxpos * 16) + softxpos, (getSpriteYpos(ee) - levelypos * 16) + softypos, (getSpriteXpos(ee + 1) + levelxpos * 16 + softxpos) - (getSpriteXpos(ee) + levelxpos * 16 + softxpos), 27);
                    sprites[ee][7]--;
                    showSprite(ee);
                    if(sprites[ee][7] == 100)
                        hideSprite(ee);
                    ee++;
                    sprites[ee][7]--;
                    showSprite(ee);
                    if(sprites[ee][7] == 100)
                    {
                        hideSprite(ee);
                        sprites[ee][9] = 200 - level * 10;
                    }
                }
            int icoff = 0;
            int distance = 0;
            if(sprites[ee][7] < 200 || sprites[ee][7] >= 300)
                continue;
            sprites[ee][0] = -99;
            if(sprites[sprites[ee][8]][7] > 110)
                continue;
            showSprite(ee);
            if(sprites[ee][7] == 200 || sprites[ee][7] == 202)
            {
                setSpritePos(ee, getSpriteXpos(ee) + 1, getSpriteYpos(ee));
                setSpriteManipulation(ee, 8192);
            }
            if(sprites[ee][7] == 201 || sprites[ee][7] == 203)
            {
                setSpritePos(ee, getSpriteXpos(ee) - 1, getSpriteYpos(ee));
                setSpriteManipulation(ee, 0);
            }
            if(sprites[ee][9] > 0)
            {
                sprites[ee][9]--;
            } else
            {
                sprites[ee][9] = 4;
                if(sprites[ee][7] < 204)
                    if(sprites[ee][1] == 26)
                        setSpriteAnim(ee, 27);
                    else
                        setSpriteAnim(ee, 26);
                if(sprites[ee][7] == 204 || sprites[ee][7] == 205)
                    if(sprites[ee][1] == 27)
                        setSpriteAnim(ee, 28);
                    else
                        setSpriteAnim(ee, 27);
            }
            int attackrange = 0;
            if(getSpriteXpos(player) + getSpriteWidth(player) / 2 > getSpriteXpos(ee) - (50 + level * 10) && getSpriteXpos(player) + getSpriteWidth(player) / 2 < getSpriteXpos(ee) + (50 + level * 10) && getSpriteYpos(player) + getSpriteHeight(player) / 2 > getSpriteYpos(ee) && getSpriteYpos(player) + getSpriteHeight(player) / 2 < getSpriteYpos(ee) + getSpriteHeight(ee))
            {
                attackrange = 1;
                if(getSpriteXpos(ee) < getSpriteXpos(player) + getSpriteWidth(player) / 2)
                    sprites[ee][7] = 202;
                else
                    sprites[ee][7] = 203;
                distance = 0;
                distance = (getSpriteXpos(player) + getSpriteWidth(player) / 2) - getSpriteXpos(ee);
                if(distance < 0)
                    distance *= -1;
                if(distance < 80 && playerlostlive == 0)
                {
                    tileimagebuffer.setColor(0, 0, 0);
                    tileimagebuffer.fillRect(3, 14, 52, 4);
                    tileimagebuffer.fillRect(73, 14, 52, 4);
                    int epower = 0;
                    try
                    {
                        epower = 0x186a0 / sprites[sprites[ee][8]][9];
                        epower = (epower * sprites[sprites[ee][8]][8]) / 1000;
                    }
                    catch(Exception exception) { }
                    tileimagebuffer.setColor(255, 0, 0);
                    tileimagebuffer.drawLine(54 - epower / 2, 15, 53, 15);
                    tileimagebuffer.drawLine(54 - epower / 2, 16, 53, 16);
                    tileimagebuffer.setColor(0, 143, 231);
                    tileimagebuffer.drawLine(124 - playerpower / 2, 15, 123, 15);
                    tileimagebuffer.drawLine(124 - playerpower / 2, 16, 123, 16);
                }
                if((random.nextInt() >>> 1) % 100 < (level + difficulty) * 7 && distance < 14 + difficulty)
                {
                    sprites[ee][7] = sprites[ee][7] + 2;
                    setSpriteAnim(ee, 29);
                    sprites[ee][9] = 5;
                }
                if(getSpriteAnim(ee) == 29 && playerjumps == 0 && getSpriteAnim(player) != 13 && playerhit == 0 && playerflashing == 0)
                {
                    playerhit = 5;
                    playerhitdir = sprites[ee][7] - 204;
                    if(soundopt == "YES")
                        PlaySound(2);
                    setSpritePos(explo, playerXpos / 1000 + (1 - playerhitdir) * 12, playerYpos / 1000 + 5);
                    setSpriteAnim(explo, 3);
                    showSprite(explo);
                    explowaiter = 5;
                    exploonly = 0;
                    playerflashing = 40;
                    playerpower = playerpower - (level + 1) * 8;
                    if(playerpower <= 0)
                    {
                        playerpower = 100;
                        playerlostlive = 30;
                        swordpower = swordpower - 2;
                        if(swordpower <= 0)
                            swordpower = 0;
                        hitrotate = 0;
                        hitrotatedelay = 2;
                        lastplayerxpos = playerXpos;
                        lastplayerypos = playerYpos;
                        lastscrollx = scrollX;
                        lastscrolly = scrollY;
                        lives--;
                        playerflashing = 100;
                    }
                }
            } else
            {
                attackrange = 0;
                if(sprites[ee][7] == 202 || sprites[ee][7] == 203)
                    sprites[ee][7] = sprites[ee][7] - 2;
                if(sprites[ee][7] == 204 || sprites[ee][7] == 205)
                    sprites[ee][7] = sprites[ee][7] - 4;
            }
            icoff = 0;
            if(sprites[ee][7] == 200 || sprites[ee][7] == 202)
                icoff = 8;
            if(sprites[ee][7] == 201 || sprites[ee][7] == 203)
                icoff = -8;
            if(sprites[ee][9] > 10)
            {
                sprites[ee][9]--;
                if(playerdir == 0 && GetIcon(getSpriteXpos(ee) + icoff + 6, getSpriteYpos(ee) + 10) != 101)
                    setSpritePos(ee, getSpriteXpos(ee) + 6, getSpriteYpos(ee));
                if(playerdir == 1 && GetIcon((getSpriteXpos(ee) + icoff) - 6, getSpriteYpos(ee) + 10) != 101)
                    setSpritePos(ee, getSpriteXpos(ee) - 6, getSpriteYpos(ee));
            }
            if(GetIcon(getSpriteXpos(ee) + icoff, getSpriteYpos(ee) + 10) == 101 || distance < 14 && attackrange == 1)
            {
                if(sprites[ee][7] == 202 || sprites[ee][7] == 203)
                    sprites[ee][7] = sprites[ee][7] + 2;
                if(sprites[ee][7] < 202)
                    if(sprites[ee][7] == 200)
                        sprites[ee][7] = 201;
                    else
                        sprites[ee][7] = 200;
            }
            if(getSpriteAnim(player) != 9 || distance >= 20 || attackrange != 1 || getSpriteAnim(ee) == 29 || explowaiter != 0)
                continue;
            sprites[ee][9] = 19;
            if(soundopt == "YES")
                PlaySound(2);
            setSpritePos(explo, getSpriteXpos(ee), getSpriteYpos(ee) + 5);
            setSpriteAnim(explo, 3);
         

⌨️ 快捷键说明

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