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

📄 mycanvas.java

📁 这个是早期学习时写的RPG游戏 包括地图相关 战斗相关 NPC与 存储等 功能
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                } else if (fightCount < 30) {
                    if (fightCount == 29) {
                        effectPoint++;
                    }
                    hero_battleX += 2;
                } else if (fightCount < 32) {
                    if (fightCount == 31) {
                        effectPoint++;
                    }
                    hero_battleX -= 2;
                } else if (fightCount < 34) {
                    if (fightCount == 33) {
                        effectPoint++;
                    }
                    hero_battleX += 2;
                } else if (fightCount == 36) { //英雄歸位 敵人歸位

                    emenyFightState = false; //敵人攻擊結束
                    emeny_battleX = 20;
                    hero_battleX = 120;
                    effectPoint = 0;

                    heroHpVeriable = emeny.npc_attack;
                    emenyHpVeriable = hero.attack;
                } else if (fightCount == 40) {
                    sufferNumState = true;
                    HpVariableY = 35;
                    HeroVariableX = 120;
                    EmenyVariableX = 20;
                }

                else if (fightCount == 42) {
                    HpVariableY -= 4;
                } else if (fightCount == 44) {
                    HpVariableY -= 4;
                    hero.hp -= heroHpVeriable;
                    emeny.hp -= emenyHpVeriable;
                } else if (fightCount == 50) {

                    sufferNumState = false; //數字顯示結束
                    fightCount = 0; //戰斗計時器清零
                    fightState = false; //夲回合结束結束

                    if (emeny.hp <= 0) {
                        if (emeny == boss1) {
                            mapID = 1;
                        }
                        switch (mapID) { //战斗胡后回到哪个地图
                        case 0:
                            map.readmap(0);
                            break;
                        case 1:
                            map.readmap(1);
                            break;

                        }
                        gameState = this.GAME_START;
                    }
                    ; //敌人死亡
                }

            }
            break;
        }
    }


    public void setWindow() { //屏幕移動到邊緣不再移動
        this.viewX = hero.x - this.screenWidth / 2;
        this.viewY = hero.y - this.screenHeight / 2;
        if (this.viewX < 0) {
            this.viewX = 0;
        }
        if (this.viewX + this.screenWidth >= this.map.mapWidth) {
            this.viewX = this.map.mapWidth - this.screenWidth;
        }
        if (this.viewY < 0) {
            this.viewY = 0;
        }
        if (this.viewY + this.screenHeight >= this.map.mapHeight) {
            this.viewY = this.map.mapHeight - this.screenHeight;
        }
    }

    int countKey;
    public void keyRepeated() { //重復按鍵。。。。。。。。。。

        if (gameState == GAME_START) {

            switch (this.key) {
            case UP:
            case KEY_NUM2:
                this.hero.walk_UP();
                break;
                /**
                 * 左走
                 */
            case LEFT:
            case KEY_NUM4:
                this.hero.walk_LEFT();
                break;

                /**
                 * 右走
                 */
            case RIGHT:
            case KEY_NUM6:
                this.hero.walk_RIGHT();
                break;
            case DOWN:
            case KEY_NUM8:
                this.hero.walk_DOWN();
                break;

            }

            this.pingmu();
            if (hero.collidsMap()) {
                hero.backMove();
                this.pingmu();
            }
        }

    }


    ////////////////////////////////////////////////////////////////////
    /**
       switch(key){
       case KEY_NUM8:
            case DOWN:
     break;
      case KEY_NUM2:
            case UP:
     break;
     case KEY_NUM4:
     case LEFT:
     break;
     case KEY_NUM6:
     case RIGHT:
     break;
     case FIRE:
     break;
     }

     */
//////////////////////////////////////////////////////////////////////
    //按键的所有方法
    public void AUTO() {
        if (gameState == GAME_AUTORUN) {
            if (key == FIRE) {
                map.readmap(0);
                gameState = GAME_AUTORUN1;

                boss1.setpostion(80, 50);
                hero.walk_UP();
                hero.x = 80;
                hero.y = 100;
                talk = boss1.wenchou_talk;
                talkState = true;
            }
        }
    }

    public void AUTO1() {
        if (gameState == GAME_AUTORUN1) {
            if (key == FIRE) {
                if (this.talkState) {
                    this.talk_index++;
                    if (this.talk_index > this.talk.length - 1) {
                        this.talkState = false;
                        this.talk_index = 0 - 1;
                        gameState = PLAY_FIGHT;
                        emeny = boss1;
                        img_emenyBattle = image.boss1_fight;
                        img_Eeffect = image.effect45;
                        map.readmap( -1);
                        key = 0;

                    }
                }
            }
        }
    }

    public void F_SKILL() {
        if (gameState == FIGHT_SKILL) {

            switch (key) {
            case KEY_NUM8:
            case DOWN:
                skillPoint++;
                if (skillPoint == 4) {
                    skillPoint = 3;
                }
                break;
            case KEY_NUM2:
            case UP:
                skillPoint--;
                if (skillPoint == -1) {
                    skillPoint = 0;
                }
                break;
            case FIRE:
                heroFightState = true;
                gameState = PLAY_FIGHT;
                fightState = true;
                break;
            }
        }
    }

    public void P_FIGHT() {
        if (gameState == PLAY_FIGHT) {
            switch (key) {
            case KEY_NUM8:
            case DOWN:
                battleMenuPoint++;
                if (battleMenuPoint == 4) {
                    battleMenuPoint = 3;
                }
                break;
            case KEY_NUM2:
            case UP:
                battleMenuPoint--;
                if (battleMenuPoint == -1) {
                    battleMenuPoint = 0;
                }

                break;
            case FIRE:
                switch (battleMenuPoint) {
                case 0:

                    fightState = true;

                    break;
                case 1:

                    gameState = FIGHT_SKILL;
                    break;
                case 2:

                    break;
                case 3:
                    map.readmap(1);
                    gameState = GAME_START;

                    break;

                }

                break;
            }
        }
    }

    public void MENU() {

        if (gameState == GAME_MENU) {
            switch (key) {
            case KEY_NUM2:
            case UP:
                mainMenuPoint--;
                if (mainMenuPoint > 4) {
                    mainMenuPoint = 0;
                }
                break;
            case KEY_NUM8:
            case DOWN:
                mainMenuPoint++;
                if (mainMenuPoint < 0) {
                    mainMenuPoint = 4;
                }
                break;
            case FIRE:
                switch (mainMenuPoint) {
                case 0:
                    gameState = GAME_AUTORUN;
                    break;
                case 1:
                    this.dr.readFile();
                    map.readmap(mapID);
                   gameState=GAME_START;

                    break;
                case 2:
                    gameState = GAME_HELP;
                    break;
                case 3:

                    gameState = GAME_SET;
                    break;
                case 4:
                    gameState = GAME_STOP;
                    break;
                }
                break;
            }
        }
    } //游戲主目錄下的選擇


    /////////////////////////////////////////////////////////////////////
    public void keyPressed(int keyCode) {
        this.key = keyCode;
        switch (gameState) {
        case GAME_HELP:
            switch (key) {
            case DOWN:
                helpPoint = true;
                break;
            case UP:
                helpPoint = false;
                break;
            case RIGHT_KEY:
                gameState = GAME_MENU;
                break;
            }

            break;
        case GAME_AUTORUN:
            this.AUTO();
            break;
        case GAME_AUTORUN1:

⌨️ 快捷键说明

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