📄 zhuangtaikuang.java
字号:
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
/*
* Created on 2006-6-29
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author 陈利昌
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Zhuangtaikuang {
protected jCanvas canvas;
protected daoju wupin;
NPC npc;
boolean heipin = false; //计算是否进行对话黑屏
protected int panduan=0;
protected int huan;
protected int kuangx=1*24,kuangy=8*24; //对话框X,Y
protected int kuangxx=8*24,kuangyy=4*24; //对话框X,Y
protected int jishuqi; //计数器
protected int lvdianjishu=0; //旅店计数器
protected int daojushu; //判断道具数量
protected int zhuangbeicol=1; //判断装备数量
protected int zhuangbei; //装备
//大地图遇敌判断
protected int guainamex=0;
protected int guai=0;
protected int gaoy,gaoyy;
protected int yudipanduan=1;
protected int Getjinqian;
protected int Getjingyan;
protected int guai_hp;
protected int ren_hp;
protected int Getfangyuli = NPC.fangyuli;
protected boolean suijipanduan=true;
protected int xiaoguo[][]=daoju.xiaoguo;
protected int jiage[][]=daoju.jiage;
protected int namex=0;
protected int namey=0;
protected String name[][]=daoju.name;
protected String chushou[]=daoju.chushou;
protected String kongge=" ";
protected String huanzhuangbei[]={"","","","","","","","",""};
protected String Stringshengyin [] = {"关", "小", "中","大"};
protected int setshengyin = 3;
protected int over = 0;
int heix = kuangx + 15;
int heix1 = kuangx + 15;
int heix2 = kuangx + 15;
int heix3 = kuangx + 15;
int logoy = 120;
int heipinIndex = 0; //计算对话黑屏的时间的索引
int heipinjishu = 0; //计算对话黑屏的时间
int juli = 15; //字幕与框的距离
public Zhuangtaikuang(jCanvas canvas){
this.canvas=canvas;
wupin=new daoju();
npc = new NPC("/images/shiwei.png");
}
protected void setshengyin(Graphics g, int biaox, int biaoy){
g.setColor(255, 255, 255);
g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_MEDIUM));
g.drawString("设置声音 "+Stringshengyin[setshengyin], 80, 50, Graphics.TOP|Graphics.LEFT );
g.drawString("返回菜单", 80, 80, Graphics.TOP|Graphics.LEFT );
guangbiao(g, biaox, biaoy);
}
protected void bangzhu(Graphics g){
g.setColor(255, 0, 255);
g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_MEDIUM));
g.drawString("联系Email:", 0, 0, Graphics.TOP|Graphics.LEFT);
g.drawString("batjhjj@163.com", 0, 20, Graphics.TOP|Graphics.LEFT);
g.drawString("游戏键盘控制:", 0, 60, Graphics.TOP|Graphics.LEFT);
g.drawString("玩家可通过控制方向键命令主", 0, 80, Graphics.TOP|Graphics.LEFT);
g.drawString("角往四个方向行走。", 0, 100, Graphics.TOP|Graphics.LEFT);
g.drawString("点击确定键会出现游戏选择框。", 0, 120, Graphics.TOP|Graphics.LEFT);
g.drawString("如果主角在与怪物的战斗中阵", 0, 160, Graphics.TOP|Graphics.LEFT);
g.drawString("亡游戏将结束,玩家必须重新", 0, 180, Graphics.TOP|Graphics.LEFT);
g.drawString("读取进度。主角在与怪物的战", 0, 200, Graphics.TOP|Graphics.LEFT);
g.drawString("斗中会获取金钱以及经验值,", 0, 220, Graphics.TOP|Graphics.LEFT);
g.drawString("当主角的经验值积累到一定程", 0, 240, Graphics.TOP|Graphics.LEFT);
g.drawString("度可获得等级提升,每次提升", 0, 260, Graphics.TOP|Graphics.LEFT);
g.drawString("等级都可增加相应的力量、防", 0, 280, Graphics.TOP|Graphics.LEFT);
g.drawString("御、体力值。", 0, 300, Graphics.TOP|Graphics.LEFT);
}
protected void logo(Graphics g, Image logo, int gao, int kuan){
g.setColor(255, 255, 255);
g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_MEDIUM));
g.drawString("随着魔王艾利克的复活,魔族",10,logoy,Graphics.TOP|Graphics.LEFT);
g.drawString("再度复兴。",10,logoy+20,Graphics.TOP|Graphics.LEFT);
g.drawString("一天,奥多尔城的国王收到戈",10,logoy+40,Graphics.TOP|Graphics.LEFT);
g.drawString("尔多城国王送来的一封求救信",10,logoy+60,Graphics.TOP|Graphics.LEFT);
g.drawString(",信中讲述魔族正在大举围攻",10,logoy+80,Graphics.TOP|Graphics.LEFT);
g.drawString("戈尔多城,戈尔多城的战士们",10,logoy+100,Graphics.TOP|Graphics.LEFT);
g.drawString("已经伤亡惨重。第二天,奥多",10,logoy+120,Graphics.TOP|Graphics.LEFT);
g.drawString("尔城国王召集了全城的战士,",10,logoy+140,Graphics.TOP|Graphics.LEFT);
g.drawString("说道:现在情势严峻,如果魔",10,logoy+160,Graphics.TOP|Graphics.LEFT);
g.drawString("族攻下了戈尔多城,下一个就",10,logoy+180,Graphics.TOP|Graphics.LEFT);
g.drawString("将会是奥尔多,所以无论为了",10,logoy+200,Graphics.TOP|Graphics.LEFT);
g.drawString("哪一个国家,请勇士们去消灭",10,logoy+220,Graphics.TOP|Graphics.LEFT);
g.drawString("魔族。于是,全国的勇士们为",10,logoy+240,Graphics.TOP|Graphics.LEFT);
g.drawString("了世界的和平与安宁往戈尔多",10,logoy+260,Graphics.TOP|Graphics.LEFT);
g.drawString("城前进了………。",10,logoy+280,Graphics.TOP|Graphics.LEFT);
g.drawString("勇者安利也是其中一位!",10,logoy+300,Graphics.TOP|Graphics.LEFT);
g.setColor(0, 0, 0);
g.fillRect(10, 120, kuan, gao);
g.setColor(0, 0, 255);
g.setClip(100, 100, gao, kuan);
g.drawRect(110 - 2, 280, 120, 18);
g.drawString("点击确定键跳过", 110, 280, Graphics.TOP|Graphics.LEFT);
}
//对话框
protected void duihuakuang(Graphics g,int kuangx,int kuangy,int kuangxx,int kuangyy,int biaox,int biaoy){
kuang(g,kuangx,kuangy,kuangxx,kuangyy);
g.drawString("对话",kuangx+25,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("状态",kuangx+73,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("道具",kuangx+25,kuangy+33,Graphics.TOP|Graphics.LEFT);
g.drawString("调查",kuangx+73,kuangy+33,Graphics.TOP|Graphics.LEFT);
g.drawString("系统",kuangx+25,kuangy+58,Graphics.TOP|Graphics.LEFT);
g.drawString("取消",kuangx+73,kuangy+58,Graphics.TOP|Graphics.LEFT);
guangbiao(g,biaox,biaoy);
}
//主角金钱
protected void jinqian(Graphics g,int kuangx,int kuangy,int kuangxx,int kuangyy,int biaox,int biaoy){
kuang(g,kuangx,kuangy,kuangxx,kuangyy);
g.drawString("G "+npc.getjinqian(),kuangx+15,kuangy+15,Graphics.TOP|Graphics.LEFT);
}
//与商店对话时的判断框
protected void panduankuang(Graphics g,int kuangx,int kuangy,int kuangxx,int kuangyy,int biaox,int biaoy,int huan){
kuang(g,kuangx,kuangy,kuangxx,kuangyy);
if(huan==1){
g.drawString("是",kuangx+30,kuangy+15,Graphics.TOP|Graphics.LEFT);
g.drawString("否",kuangx+30,kuangy+40,Graphics.TOP|Graphics.LEFT);
g.drawString("",kuangx+30,kuangy+6,Graphics.TOP|Graphics.LEFT);
guangbiao(g,biaox,biaoy);
}
else{
g.drawString("买",kuangx+30,kuangy+5,Graphics.TOP|Graphics.LEFT);
g.drawString("卖",kuangx+30,kuangy+25,Graphics.TOP|Graphics.LEFT);
g.drawString("结束",kuangx+30,kuangy+45,Graphics.TOP|Graphics.LEFT);
guangbiao(g,biaox,biaoy);
}
}
//所有与NPC的对话
protected void shiwei(Graphics g,int huan,int duihuajixu){
heipinIndex = huan;
kuang(g,kuangx,kuangy,kuangxx,kuangyy);
switch(huan){
case 0:
g.drawString(" 前方没有任何人!",kuangx+15,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
break;
case 1:
g.drawString("安利,不能和你们一起",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("作战真是遗憾啊!",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 2:
g.drawString("大家都已经出发了,你",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("怎么还在这里啊?",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 3:
g.drawString("这里是奥尔多城皇宫,",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("听说魔族现在正在围攻",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("戈尔多城呢!",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
break;
case 4:
g.drawString("安利吗?求求你快去戈",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("尔多城吧,我的丈夫正",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("在那里经商啊,拜托了!",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
break;
case 5:
g.drawString("勇者,为了世界快去消",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("灭魔族吧,我等待着你",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("们带好消息回来!",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 6:
g.drawString("全城的勇士都已经出发",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("去支援戈尔多城了。",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 7:
g.drawString("黑暗的力量再次笼罩着",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("这个世界,太可怕了。",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 8:
g.drawString("听说北方的加达村有着",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("某种神圣的力量,连魔",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("族都不敢入侵。",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
break;
case 9:
if(duihuajixu==0){
g.drawString("欢迎光临,这里是旅馆。",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("休息一晚需要5金,请",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("问现在是否需要休息?",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
}
if(duihuajixu==1){
g.drawString("祝您睡个好觉,",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("晚安!",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
}
if(duihuajixu==2){
g.drawString("再见,旅客。",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("下次欢迎再来!",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
}
break;
case 10:
if(duihuajixu==0){
g.drawString("欢迎光临,这里是道具",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("店。请问您是要购买物",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("品还是出售物品?",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
}
if(duihuajixu==1){
g.drawString("本店品种齐全,",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("请问您要购买什么物品?",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
}
shangdianduihua(g,duihuajixu);
break;
case 11:
if(duihuajixu==0){
g.drawString("欢迎光临,这里是武器",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("店。这里武器齐全,您",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("需要什么?",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
}
if(duihuajixu==1){
g.drawString("本店价格公道,请问您",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("需要购买什么武器?",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
}
shangdianduihua(g,duihuajixu);
break;
case 12:
if(duihuajixu==0){
g.drawString("欢迎光临,这里是防具",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("店。这里装备齐全,请",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("问我有什么可以为您服",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
g.drawString("务的吗?",kuangx+juli,kuangy+68,Graphics.TOP|Graphics.LEFT);
heipinjishu = 4;
}
if(duihuajixu==1){
g.drawString("本店价格公道,请问您",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("需要购买什么防具?",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
}
shangdianduihua(g,duihuajixu);
break;
case 13:
if(duihuajixu==0){
g.drawString("没带钥匙。",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
}
if(duihuajixu==1){
g.drawString("这里没门。",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
}
break;
case 14:
g.drawString("安利调查,",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("眼前的情况,",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
g.drawString("但什么也没发现!",kuangx+juli,kuangy+48,Graphics.TOP|Graphics.LEFT);
heipinjishu = 3;
break;
case 15:
g.drawString("安利没有携带物品。",kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
break;
case 16:
g.drawString("安利使用了 "+NPC.daojulan[8],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("但什么也没有发生。",kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 17:
g.drawString("安利使用了 "+NPC.daojulan[8],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("HP增加了 "+jishuqi,kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 18:
g.drawString("安利使用了 "+NPC.daojulan[8],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("MP增加了 "+jishuqi,kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 19:
g.drawString("不能装备 "+NPC.daojulan[8],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
break;
case 20:
g.drawString("安利装备了 "+NPC.zhuangbeilan[namex-1],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("安利的攻击力成为 "+npc.getgongjili(),kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 21:
g.drawString("安利装备了 "+NPC.zhuangbeilan[namex-1],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
g.drawString("安利的防御力成为 "+npc.getfangyuli(),kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
break;
case 22:
g.drawString("安利丢弃了 "+NPC.daojulan[8],kuangx+juli,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
break;
case 23:
g.drawString(npc.guainame[guainamex]+" 出现",kuangx+40,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 1;
break;
case 24:
g.drawString("安利发起攻击",kuangx+10,kuangy+8,Graphics.TOP|Graphics.LEFT);
heipinjishu = 2;
if(duihuajixu==1){
g.drawString(npc.guainame[guainamex]+" 损失了 "+guai_hp,kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
}
if(duihuajixu==2){
g.drawString("安利击中了 "+npc.guainame[guainamex],kuangx+juli,kuangy+28,Graphics.TOP|Graphics.LEFT);
}
break;
case 25:
heipinjishu = 2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -