📄 jcanvas.java
字号:
}
if(duihuajixu==4){
if(biaoy==63){
zhuangtai.chushi();
zhuangtai.goumai(biaoy,biaoyy,duihuakuang,duihuajixu);
qiehuan=true;break;
}
if(biaoy==88){zhuangtai.chushi();duihuajixu=3;qiehuan=true;break;}
}
}
if(duihuakuang==10&&duihuajixu==1){qiehuan=true;break;}
if(duihuakuang==10&&biaoy==63&&duihuajixu==0){zhuangtai.chushi();duihuajixu=1;qiehuan=true;break;}
if(duihuakuang==10&&biaoy==88&&duihuajixu==0){zhuangtai.chushi();duihuajixu=2;qiehuan=true;break;}
if(duihuakuang==20&&duihuajixu==0){duihuajixu=1;qiehuan=true;break;}
if(duihuakuang==21&&duihuajixu==0){
biaoxx=biaox;biaoyy=biaoy;
duihuajixu=1;biaox=5*24+22;biaoy=4*24+22;
qiehuan=true;break;
}
if(duihuakuang==21&&duihuajixu==1){
if(biaoy>=118&&biaoy<=158){
zhuangtai.wupin(biaox,biaoy,biaoxx,biaoyy);
qiehuan=true;break;
}
if(biaoy==178){duihuakuang=0;duihuajixu=0;qiehuan=true;break;}
}
if(duihuakuang == 24){
if(biaoy == 36){
jilu.Cunchu();
}
if(biaoy == 61){
mapqiehuan = 12;
if(map == chengwaimap){
shenyin.over();
}
else{
shenyin.over();
}
}
if(biaoy == 86){
logoy = 79;
mapqiehuan = 0;
shenyin.logo(2);
}
}
break;
}
}
return qiehuan;
}
//读取记录后的地图更换
protected void MapImage(){
if(mapImage == 1){
map = huanggongmap;
}
if(mapImage == 2){
map = huanggongmap1;
}
if(mapImage == 3){
map = chengneimap;
}
if(mapImage == 4){
map = chengwaimap;
}
}
//主角与所有NPC对话的更换
public void duihua(){
if(duihuakuang>=2){duihuakuang=0;huan=0;move=0;shiweirow=1;shiwei1row=1;duihuajixu=0;zhuangtai.zhuangbeicol=1;
zhuangtai.chushi();}
else if(duihuakuang==0){duihuakuang=1;biaox=30;biaoy=14;}
else if(duihuakuang==1){
if(huan==0&&zhuangtai.xuanze(biaox,biaoy)==1){
duihuakuang=100;
}
if(huan>=1&&huan<=12&&zhuangtai.xuanze(biaox,biaoy)==1){
duihuakuang=huan+1;
if(huan==1){shiweirow=NPCfangxiang(shiweirow);}
if(huan==2||huan==6){shiwei1row=NPCfangxiang(shiwei1row);}
if(huan==3||huan==7){NPCrow=NPCfangxiang(NPCrow);}
if(huan==4||huan==8){NPCrow1=NPCfangxiang(NPCrow1);}
if(huan==9){biaox=144+10;biaoy=48+15;}
if(huan==10&&duihuajixu==0){biaox=144+10;biaoy=48+5;}
if(huan==11&&duihuajixu==0){biaox=144+10;biaoy=48+5;}
if(huan==12&&duihuajixu==0){biaox=144+10;biaoy=48+5;}
}
if(zhuangtai.xuanze(biaox,biaoy)==2){
duihuakuang=20;
duihuajixu=0;
}
if(zhuangtai.xuanze(biaox,biaoy)==3){
duihuakuang=21;
biaox=5*24+27;
biaoy=12+9;
}
if(zhuangtai.xuanze(biaox,biaoy)==4){
if(map[(lian+reny+6+24)/24][(hang+renx)/24]==15){
duihuakuang=23;
}
else{
duihuakuang=22;
}
}
if(zhuangtai.xuanze(biaox,biaoy)==5){
biaox = 6*24 + 2;
biaoy = 1*24 + 12;
duihuakuang = 24;
}
if(zhuangtai.xuanze(biaox,biaoy)==6){
duihuakuang=0;
}
}
}
//判断主角与NPC发生对话时NPC的图片更换
public int NPCfangxiang(int fangxiang){
if(row==0){fangxiang=1;}
if(row==1){fangxiang=0;}
if(row==2){fangxiang=3;}
if(row==3){fangxiang=2;}
return fangxiang;
}
//所有商店对话的判断
public void shangdianpanduan(Graphics g){
if(huan==9){
if(duihuajixu==0){
zhuangtai.panduankuang(g,144,48,72,72,biaox,biaoy,1);
}
zhuangtai.lvdian(g,biaox,biaoy,duihuajixu);
}
if(huan>=10&&huan<=12){
if(duihuajixu==0){
zhuangtai.jinqian(g,144,12-6,72,48-6,biaox,biaoy);
zhuangtai.panduankuang(g,144,48,72,72,biaox,biaoy,2);
}
if(duihuajixu==1){
zhuangtai.shangdian(g,12,12,120+12,144,biaox,biaoy,huan-10);
}
if(duihuajixu==2){
zhuangtai.daojulan(g,5*24+12,12,4*24+5,6*24,biaox,biaoy,1);
}
}
}
//光标上下移动时得情况
public void guangbiaopanduan(int move){
switch(move){
case 1:
if(mapqiehuan == 7){
if(biaoy > 50){
biaoy -= 30;
}
}
if(mapqiehuan==5){
if(duihuajixu==1){
if(biaoy>200){biaoy-=20;}
}
}
if(duihuakuang==1){
if(biaoy>14){biaoy-=25;}
}
if(duihuakuang==10){
if(biaoy>63){biaoy-=25;}
}
if(duihuakuang>=11&&duihuakuang<=13){
if(duihuajixu==4||duihuajixu==8){
if(biaoy>63){biaoy-=25;}
}
}
if(duihuakuang>=11&&duihuakuang<=13){
if(duihuajixu==0){if(biaoy>53){biaoy-=20;}}
if(duihuajixu==1){if(biaoy>22){biaoy-=20;}}
if(duihuajixu==2){if(biaoy>22){biaoy-=15;}}
}
if(duihuakuang==20){
if(biaoy>22){biaoy-=15;}
}
if(duihuakuang==21&&duihuajixu==0){
if(biaoy>22){biaoy-=15;}
}
if(duihuakuang==21&&duihuajixu==1){
if(biaoy>118){biaoy-=20;}
}
if(duihuakuang == 24 ){
if(biaoy > 36){
biaoy -= 25;
}
}
break;
case 2:
if(mapqiehuan == 7){
if(biaoy < 80){
biaoy += 30;
}
}
if(mapqiehuan==5){
if(duihuajixu==1){
if(biaoy<260){biaoy+=20;}
}
}
if(duihuakuang==1){
if(biaoy<64){biaoy+=25;}
}
if(duihuakuang==10){
if(biaoy<88){biaoy+=25;}
}
if(duihuakuang>=11&&duihuakuang<=13){
if(duihuajixu==4||duihuajixu==8){
if(biaoy<88){biaoy+=25;}
}
}
if(duihuajixu==0){
if(duihuakuang>=11&&duihuakuang<=13){
if(biaoy<93){biaoy+=20;}
}
}
if(duihuajixu==1){
if(duihuakuang==11){if(biaoy<22+3*20){biaoy+=20;}}
if(duihuakuang==12){if(biaoy<22+2*20){biaoy+=20;}}
if(duihuakuang==13){if(biaoy<22+5*20){biaoy+=20;}}
}
if(duihuakuang>=11&&duihuakuang<=13&&duihuajixu==2){
if(biaoy<zhuangtai.daojushu*15){biaoy+=15;}
}
if(duihuakuang==20){
if(biaoy<6+zhuangtai.daojushu*15){biaoy+=15;}
}
if(duihuakuang==21&&duihuajixu==0){
if(biaoy<zhuangtai.daojushu*15){biaoy+=15;}
}
if(duihuakuang==21&&duihuajixu==1){
if(biaoy<178){biaoy+=20;}
}
if(duihuakuang == 24 ){
if(biaoy < 36 + 25*3){
biaoy += 25;
}
}
break;
case 3:
if(mapqiehuan == 7 && biaoy == 50){
if(zhuangtai.setshengyin > 0){
zhuangtai.setshengyin -= 1;
}
}
if(duihuakuang==1){
if(biaox>30){biaox-=48;}
}
break;
case 4:
if(mapqiehuan == 7 && biaoy == 50){
if(zhuangtai.setshengyin < 3){
zhuangtai.setshengyin += 1;
}
}
if(duihuakuang==1){
if(biaox<78){biaox+=48;}
}
break;
}
}
/**
* duizhanhuamian{} 方法主要的作用就是绘制游戏的对战画面;
* 变量 zhandouduihua 是表示战斗中的对话切换;
* 变量 duihuajixu 是代表在战斗中的各种状态,比如攻击、防御、逃跑;
*/
protected void duizhanhuamian(Graphics g){
if(xianshidiren%5<=2&&Bxianshidiren){
zhuangtai.duizhan_guai(g,sheguai,daoguai,shilaimu);
}
if(duihuajixu==0){
jishuqi++;
if(jishuqi==20){duihuajixu=1;jishuqi=0;zhuangtai.chushi();}
}
if(duihuajixu==0){
zhuangtai.shiwei(g,23,duihuajixu);
}
if(duihuajixu==1||duihuajixu==2){
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
zhuangtai.duizhan_kongzhilan(g,12,8*24,3*24,4*24,biaox,biaoy);
zhuangtai.duizhan_mingchenglan(g,12+3*24,8*24,5*24,36,biaox,biaoy);
}
//主角攻击怪物后的情况
if(duihuajixu==3){
zhuangtai.shiwei(g,zhandouduihua,zhandoujixu);
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
if(jishuqi==15){
zhandoujixu=1;
yanshipanduan=true;
zhuangtai.jisuanshuzhi_guaiwu();
jishuqi++;
zhuangtai.chushi();
}
if(jishuqi<15){
jishuqi++;
}
if(yanshipanduan){
zhandouduihua=24;
xianshidiren++;
if(xianshidiren>=25){
if(zhandoujixu==2||zhandoujixu==3){
duihuajixu=10;
zhandouduihua=26;
Bxianshidiren=false;
}
else{
duihuajixu=4;
zhandouduihua=100;
zhandoujixu=0;
}
zhuangtai.chushi();
jishuqi=0;
xianshidiren=0;
yanshipanduan=false;
}
}
}
/**
* 怪物攻击主角后的情况
*/
if(duihuajixu==4){
zhuangtai.shiwei(g,zhandouduihua,zhandoujixu);
if(xianshizhujue%5<=2){
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
}
if(jishuqi==15){
zhuangtai.chushi();
zhandoujixu=1;
jishuqi++;
zhuangtai.jisuanshuzhi_zhujue();
yanshipanduan=true;
}
if(jishuqi<15){
jishuqi++;
}
if(yanshipanduan){
zhandouduihua=25;
xianshizhujue++;
if(xianshizhujue>=30){
zhuangtai.chushi();
zhuangtai.fangyu(duihuajixu);
jishuqi=0;
biaox=12+10;
biaoy=8*24+8;
duihuajixu=1;
xianshizhujue=0;
zhandoujixu=0;
zhandouduihua=100;
yanshipanduan=false;
/**
*
* 主角HP低于0,主角死亡
* 战斗对话变成31
*/
if(NPC.hp <= 0){
duihuajixu = 10;
zhandoujixu = 3;
zhandouduihua = 31;
zhuangtai.over = 1;
yanshipanduan=false;
}
}
}
}
/**
* 主角选择使用咒文后出现的情况
*/
if(duihuajixu==5){
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
zhuangtai.shiwei(g,29,duihuajixu);
jishuqi++;
if(jishuqi>=15){
zhuangtai.chushi();
duihuajixu=1;
jishuqi=0;
}
}
/**
* 主角选择防御后出现的情况
*/
if(duihuajixu==6){
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
zhuangtai.shiwei(g,30,duihuajixu);
jishuqi++;
if(jishuqi>=20){
zhuangtai.chushi();
zhuangtai.fangyu(duihuajixu);
duihuajixu=4;
jishuqi=0;
}
}
/**如果主角选择逃跑
* 或者战斗结束
* zhandouduihua如果等于26代表主角升级,27为切换升级对话。
*
*/
if(duihuajixu==10){
zhuangtai.duizhan_shuxinglan(g,12,12,3*24,3*24);
zhuangtai.shiwei(g,zhandouduihua,duihuajixu);
jishuqi++;
if(zhandoujixu==3){
if(jishuqi >= 35){
/**
* 主角消灭怪物了,但同时升级
*/
if(zhandouduihua==26){
jishuqi = 0;
zhandouduihua=27;
zhuangtai.chushi();
}
}
}
else{
if(zhandouduihua == 26){
/**
* 主角消灭怪物但并没有升级
*/
if(jishuqi >= 35){
jishuqi=0;
mapqiehuan=4;
yudile=2;
zhandouduihua=100;
zhuangtai.chushi();
shenyin.logo(2);
}
}
else{
/**
* 主角选择逃跑
*/
if(jishuqi >= 20){
jishuqi=0;
mapqiehuan=4;
yudile=2;
zhandouduihua=100;
zhuangtai.chushi();
shenyin.logo(2);
}
}
}
}
}
protected void over(){
row = 0;
move = 0;
yudile = 0;
hang=14*24;
lian=14*24-6;
pengx=24*24;
pengy=20*24-6;
penghuan=0;
pengnvx=12*24;
pengnvy=13*24-6;
jishuqi = 0;
duihuakuang = 0;
duihuajixu = 0;
zhandoujixu = 0;
zhandouduihua = 100;
}
/**
* 游戏变量全部附初值
*/
protected void chushi(){
row = 0;
move = 0;
yudile = 0;
hang=5*24;
lian=7*24-6;
qingnianx=23*24;
qingniany=19*24-6;
funvx=12*24;
funvy=13*24-6;
pengx=24*24;
pengy=20*24-6;
penghuan=0;
pengnvx=12*24;
pengnvy=13*24-6;
jishuqi = 0;
duihuakuang = 0;
duihuajixu = 0;
zhandoujixu = 0;
zhandouduihua = 100;
map = huanggongmap1;
NPC.dengji=1;
NPC.jingyan=0;
NPC.maxhp=80;
NPC.maxmp=50;
NPC.hp=80;
NPC.mp=50;
NPC.liliang=8;
NPC.fangyu=5;
NPC.wuqi=20;
NPC.yifu=0;
NPC.dun=0;
NPC.xiezi=0;
NPC.zhili=5;
NPC.minjie=1;
NPC.gongjili=NPC.liliang+NPC.wuqi;
NPC.fangyuli=NPC.fangyu+NPC.yifu+NPC.dun+NPC.xiezi;
NPC.jinqian=500;
for(int i = 0; i < 8; i ++){
NPC.daojulan[i] = NPC.daojulan1[i];
if(i < 4){
NPC.zhuangbeilan[i] = NPC.zhuangbeilan1[i];
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -