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

📄 player.java

📁 格斗类型的游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            {
                if(b1.getPlayerCor() < getPlayerCor())
                    playerAction(1);
                else
                    playerAction(2);
            } else
            if(K == 3)
                if(b1.getPlayerCor() < getPlayerCor())
                    playerAction(1);
                else
                    playerAction(2);
        } else
        {
            if(K == 1 || K == 2)
                playerAction(0);
            byte byte0 = playerCordi[Math.abs(GC.t.nextInt() % playerCordi.length)][getPlayer()];
            if(byte0 != 0)
                playerAction(byte0);
        }
    }

    /**
     * 设定游戏角色状态
     */
    public void setState()
    {

        a = false;
        if(g > 0)
        {
            g--;
            //if(eNum <= 0)
                //fistImage = 0;
        }
        if(skillState)
        {
            if(++F >= 2)
                F = 0;
            playerbyte += D;
            q += b;
            Player b1 = GC.getPlayer2();
            if(PS)
                b1 = GC.getPlayer1();
            if(D == 0)
            {
                if(b > 0 && q > 140)
                {
                    b = -b;
                    playerbyte = b1.getPlayerCor();
                }
                if(b < 0 && q < playerD[palyer] && Math.abs(playerbyte - b1.getPlayerCor()) < 25)
                {
                    skillState = false;
                    b1.reduceBlood(eSkill[getPlayer()]);
                }
            } else
            if(Math.abs(playerbyte - b1.getPlayerCor()) < 10)
            {
                skillState = false;
                b1.reduceBlood(eSkill[getPlayer()]);
            }
            if(q < 0 || Math.abs(playerbyte - b1.getPlayerCor()) > 500)
                skillState = false;
        }
        if((v > 0 || K == 3) && K != 9 && K != 10)
        {
            v += f;
            if(v > 10 * playerS[getPlayer()] && f > 0)
                f = -f;
            else
            if(v <= 0)
            {
                v = 0;
                playerAction(0);
            }
        }
        if(skillNum > 0)
        {
            skillNum--;
            if(skillNum == 3)
                skillState();
            if(skillNum == 0)
                playerAction(0);
            else
                return;
        }
        if(H > 0)
        {
            H--;
            if(H == 0)
                playerAction(0);
            else
                return;
        } else
        if(t > 0)
        {
            t--;
            if(t == 0)
            {
                if(v > 0)
                    K = 3;
                else
                    playerAction(0);
            } else
            {
                return;
            }
        } else
        if(y > 0)
        {
            y--;
            if(y == 0)
            {
                K = 3;
                if(f > 0)
                    f = -f;
            }
        } else
        if(A > 0)
        {
            A--;
            if(A == 0)
                if(e > 0)
                    playerAction(0);
                else
                if(GC.getP().backToGameMode() != 0)
                    GC.setPlayer1(this);
                else
                    playerAction(0);
        }
        if(PS)
        {
            int i1 = GC.getP().getGameRank() ? 4 : 2;
            i1 += (100 - e) / 20;
            if(GC.getRefreshNum() % (long)i1 == (long)(i1 - 1))
                setAction();
        }
        G = 0;
        if(K == 0)
            playerInt = 0;
        else
        if(K == 1)
        {
            setPlayerCor(-increCoor[getPlayer()] * 2);
            playerInt = playerInt != 0 ? 0 : 1;
        } else
        if(K == 2)
        {
            setPlayerCor(increCoor[getPlayer()] * 2);
            playerInt = playerInt != 0 ? 0 : 1;
        } else
        if(K == 3)
            playerInt = 2;
        else
        if(K == 5)
        {
            t = 4;
            playerInt = 3;
            reduceE();
        } else
        if(K == 6)
        {
            t = 4;
            playerInt = 4;
            reduceE();
        } else
        if(K == 7)
        {
            t = 4;
            playerInt = 5;
            reduceE();
        } else
        if(K == 8)
        {
            t = 4;
            playerInt = 6;
            reduceE();
        } else
        if(K == 4)
        {
            H = 10;
            playerInt = 7;
        } else
        if(K == 9 || K == 10)
        {
            setPlayerCor(-20);
            playerInt = 8;
            if (y == 3 || y == 1) {
                a = true;
            }
        }  else
        if(K == 11)
        {
            setPlayerCor(15 * (P ? -1 : 1));
            playerInt = 9;
        } else
        if(K == 12)
        {
            skillNum = 6;
            playerInt = 10;
        }
        if(!P)
            G += 8192;
        if(PS)
        {
            if(GC.getPlayer1().getPlayerCor() < w)
                P = false;
            else
                P = true;
        } else
        if(GC.getPlayer2().getPlayerCor() < w)
            P = false;
        else
            P = true;
        if((K == 0 || K == 3 || K == 1 || K == 2) && Math.abs(GC.getPlayer2().getPlayerCor() - GC.getPlayer1().getPlayerCor()) < 15 && !PS)
            setPlayerCor(5 * (w <= GC.getPlayer2().getPlayerCor() ? -1 : 1));
        Player b2 = GC.getPlayer2();
        if(PS)
            b2 = GC.getPlayer1();
        if(b2.getE() <= 0 && GC.getP().backToGameMode() != 0)
        {
            v = 0;
            playerInt = 0;
        }
    }

    /**
     * 根据角色的普通动作去掉相应的血量
     */
    public void reduceE()
    {
        Player b1 = GC.getPlayer2();
        if(PS)
            b1 = GC.getPlayer1();
        if(Math.abs(b1.getPlayerCor() - w) < (playerPhoto.getWidth() * 2) / 12 && Math.abs(b1.getDistance() - v) < 50 && (b1.getState() == 0 || b1.getState() == 1 || b1.getState() == 2))
            if(v > 0)
                b1.reduceBlood((byte)eReduce[K - 5][getPlayer()]);
            else
                b1.reduceBlood((byte)eSet[K - 5][getPlayer()]);
    }

    /**
     * 去掉角色的血量
     * @param byte0 byte,去掉的血量
     */
    public void reduceBlood(byte byte0)
    {
        GC.c = true;
        //fistImage = byte0;
        e -= byte0;
        if(e < 0)
            e = 0;
        g = 20;
        playerAction(11);
    }

    /**
     * 获得角色的坐标
     * @return w int,游戏角色的坐标
     */
    public int getPlayerCor()
    {
        return w;
    }

    /**
     * 计算游戏角色的坐标
     * @param i1 int,角色移动的距离
     */
    public void setPlayerCor(int i1)
    {
        int j1 = w;
        w += i1;
        if(Math.abs(GC.getPlayer2().getPlayerCor() - GC.getPlayer1().getPlayerCor()) > 120)
            w = j1;
    }

    /**
     * 给角色坐标变量赋值
     * @param i1 int,游戏角色坐标
     */
    public void setW(int i1)
    {
        w = i1;
    }

    /**
     * 获得游戏角色距离
     * @return v int,角色相对坐标
     */
    public int getDistance()
    {
        return v;
    }

    /**
     * 根据角色移动不断更新游戏图片坐标
     * @param i1 int,角色坐标
     * @return 更新图片的坐标
     */
    public int refreshCoor(int i1)
    {
        return (i1 / 2 + GC.getWidth() / 2) - GC.getB();
    }

    /**
     * 控制游戏角色间的距离
     * @param i1 int,角色相对坐标
     * @return 角色间的距离
     */
    public int getDistance(int i1)
    {
        return 173 - i1 / 2;
    }

    /**
     * 判断是否可以发绝技
     * @return 发绝技条件是否满足
     */
    public boolean judgeSkill()
    {
        if(judgeForceTime() && !skillState && K == 0 && (Math.abs(GC.getPlayer2().getPlayerCor() - GC.getPlayer1().getPlayerCor()) > 40))
        {
            playerAction(12);
            resetForceTime();
            return true;
        } else
        {
            return false;
        }
    }

    /**
     * 发绝技后角色状态设定
     */
    public void skillState()
    {
        skillState = true;
        F = 0;
        playerbyte = P ? w + coorSet[palyer] : w - coorSet[palyer];
        q = v + playerD[palyer];
        D = 0;
        b = 0;
        if(coorSet[palyer] > 0)
            D = P ? 10 : -10;
        else
            b = 20;
        GC.start(8);
    }

    /**
     * 绘制角色的绝技
     * @param g1 Graphics
     */
    public void drawSkill(Graphics g1)
    {
        if(!skillState)
            return;
        int i1 = refreshCoor(playerbyte) - skill.getWidth() / 2;
        int j1 = getDistance(q) - skill.getHeight() / 4;
        DirectGraphics directgraphics = DirectUtils.getDirectGraphics(g1);
        g1.setClip(i1, j1, skill.getWidth(), skill.getHeight() / 2);
        if(D > 0)
            g1.drawImage(skill, i1, j1 - (skill.getHeight() / 2) * F, 0x10 | 0x4);
        else
            directgraphics.drawImage(skill, i1, j1 - (skill.getHeight() / 2) * F, 0x10 | 0x4, 8192);
    }
/*
    public void getPlayer2()
    {
        x = !x;
    }

    public boolean getX()
    {
        return x;
    }*/

    /**
     * 绘制竞技选手
     * @param g1 Graphics
     */
    public void drawPlayer(Graphics g1)
    {
        g1.setColor(0x996655);
        int i1 = refreshCoor(w);
        int j1 = getDistance(v);
        DirectGraphics directgraphics = DirectUtils.getDirectGraphics(g1);
        int k1 = playerWidth[palyer][1][playerInt];
        if(a)
            k1 = GC.player_u.getWidth();

		g1.setClip(i1 - k1 / 2, 170, k1, 6);
        g1.fillArc(i1 - k1 / 2, 170, k1, 6, 0, 360);
        if(a) {
            Image image = GC.player_u;
            g1.setClip(i1 - k1 / 2, j1 - image.getHeight() / 8, k1, image.getHeight() / 8);
            g1.drawImage(image, i1 - k1 / 2, j1 - (image.getHeight() / 8) * (getPlayer() + 1), 0x10 | 0x4);
        } else
        if(G == 0) {
            g1.setClip(i1 - k1 / 2, j1 - playerPhoto.getHeight(), k1, playerPhoto.getHeight());
            g1.drawImage(playerPhoto, i1 - k1 / 2 - playerWidth[palyer][0][playerInt], j1 - playerPhoto.getHeight(), 0x10 | 0x4);
        } else {
            g1.setClip(i1 - k1 / 2, j1 - playerPhoto.getHeight(), k1, playerPhoto.getHeight());
            directgraphics.drawImage(playerPhoto, i1 - k1 / 2 - (playerPhoto.getWidth() - playerWidth[palyer][0][playerInt] - playerWidth[palyer][1][playerInt]), j1 - playerPhoto.getHeight(), 0x10 | 0x4, 8192);
        }
//        g1.setClip(0, 0, GC.getWidth(), GC.getHeight());
//        if(showLogoCanvas() > 0 && GC.reduceE().backToGameMode() == 0) {
//            g1.setFont(Font.getFont(64, 1, 8));
//            g1.setColor(0);
//            //g1.drawString("".concat(String.valueOf(String.valueOf(showLogoCanvas()))), i1 + 1, (j1 - playerPhoto.getHeight() - 6) + 1, 0x1 | 0x20);
//            g1.drawString(String.valueOf(showLogoCanvas()), i1 + 1, (j1 - playerPhoto.getHeight() - 6) + 1, 0x1 | 0x20);
//            g1.setColor(0xffff00);
//            //g1.drawString("".concat(String.valueOf(String.valueOf(showLogoCanvas()))), i1, j1 - playerPhoto.getHeight() - 6, 0x1 | 0x20);
//            g1.drawString(String.valueOf(showLogoCanvas()), i1, j1 - playerPhoto.getHeight() - 6, 0x1 | 0x20);
//        }
    }
}

⌨️ 快捷键说明

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