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

📄 npc.java

📁 这个是早期学习时写的RPG游戏 包括地图相关 战斗相关 NPC与 存储等 功能
💻 JAVA
字号:
package perGame;

import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Graphics;

public class Npc {
    int hp;
    int npcState; //0为画,1为不画
    int npcID;
    int skillID; //所能使用的技能
    Image img;
    int exp;//打到敌人可以获得的经验
    int money;//打到敌人可以获得的金钱
    int x;
    int y;
    int clipX;
    int clipY;
    int frameWidth;
    int frameHeight;
    int npc_jingyan;
    int npc_attack;
    MyCanvas mc;
    Graphics g;
    Tools tool;
    String zhaojun_talk[] = new String[] {"趙云:哥哥,你為什么不同意我去常山找高人學習本領?",

                            "趙俊:父親在的世時候就說不讓你學武,父親當初在朝為官時遭奸人陷害慘死,我們拼命才逃了出來,只想過平淡的生活。",
                            "趙云:可是哥哥,近日我和嫂嫂趕集的時候聽聞近郊幾個村子都被強盜洗劫,如果我有了本領也能保哥哥和嫂嫂平安。",

                            "趙俊:那也不行,我是不會同意你去的。",

                            "樊秀:子龍,你就聽你哥哥的話吧,晚上想吃什么嫂嫂給你做。",

                            "趙云心想:無論怎樣我一定要上山學藝!不如去找夏侯蘭商",


                            ///////////////////////////////////////////////////
                            //手動對話內容


    };
    String zhaojun_talk01[] = new String[] {
                 "趙俊:不要到處亂跑,晚上早點回來。",
                 } ;

    String fanxiu_talk[] = new String[] {
                  "樊秀:晚上早點回來吃飯。",
                  } ;

String wenchou_talk[]=new String[]{
                      "文丑:你是何人,竟敢與我挑戰?","趙云:常山趙子龍是也","文丑:無名小辈,拿命來",

};

    public Npc(int hp, Image img,int exp,int money,
               int clipX, int clipY, int frameWidth, int frameHeight,
               MyCanvas mc,int npc_exp,int npc_att) {
        this.hp = hp;
        this.exp=exp;
        this.money=money;
   //   this.npcState = npcState;
//        this.npcID = npcID;
//        this.skillID = skillID;
        this.img = img;
        this.clipX = clipX;
        this.clipY = clipY;
        this.frameWidth = frameWidth;
        this.frameHeight = frameHeight;
        this.mc = mc;
        this.npc_jingyan=npc_exp;
        this.npc_attack=npc_att;
        tool=new Tools(mc);
    }

    /**
     * 实现NPC的对话,根据NPC的ID设置不同的头像
     * @param g Graphics
     * @param mc MyCanvas
     */
    public void npc_talk(Graphics g, MyCanvas mc) {

        if (mc.talkState && mc.talk_index >= 0) {

            g.setColor(0x0);
            g.fillRect(0, mc.screenHeight - 48, mc.screenWidth, 48);
            g.setColor(0xffffff);
            if (mc.talk[mc.talk_index].length() <= 12) {
                g.drawString(mc.talk[mc.talk_index], 0, mc.screenHeight - 48,
                             20);
            } else if (mc.talk[mc.talk_index].length() > 12 &&
                       mc.talk[mc.talk_index].length() <= 24) {
                g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
                             mc.screenHeight - 48, 20);
                g.drawString(mc.talk[mc.talk_index].substring(12,
                        mc.talk[mc.talk_index].length()), 0,
                             mc.screenHeight - 33, 20);
            } else if (mc.talk[mc.talk_index].length() > 24 &&
                       mc.talk[mc.talk_index].length() <= 36) {
                g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
                             mc.screenHeight - 48, 20);
                g.drawString(mc.talk[mc.talk_index].substring(12, 24), 0,
                             mc.screenHeight - 33, 20);
                g.drawString(mc.talk[mc.talk_index].substring(24,
                        mc.talk[mc.talk_index].length()), 0,
                             mc.screenHeight - 18, 20);
            } else if (mc.talk[mc.talk_index].length() > 36 &&
                       mc.talk[mc.talk_index].length() <= 48) {
                g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
                             mc.screenHeight - 47, 20);
                g.drawString(mc.talk[mc.talk_index].substring(12, 24), 0,
                             mc.screenHeight - 37, 20);
                g.drawString(mc.talk[mc.talk_index].substring(24, 36), 0,
                             mc.screenHeight - 27, 20);
                g.drawString(mc.talk[mc.talk_index].substring(36,
                        mc.talk[mc.talk_index].length()), 0,
                             mc.screenHeight - 15, 20);
            }

            }

        }
        public void setpostion(int x,int y){
this.x=x;
            this.y=y;

        }
        public void paint(Graphics g){

     tool.drawPartImage(g,img,x,y,clipX,clipY,frameWidth,frameHeight);

        }
    }



⌨️ 快捷键说明

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