📄 e070f72a48cf001216b0addf11818cf9
字号:
temp="烈焰枪";
break;
case 5:
temp="紫砂剑";
break;
case 6:
temp="榔头";
break;
case 7:
temp="战斧";
break;
case 8:
temp="战神剑";
break;
}
if(weapon[ii]!=9)
g.drawString(temp,41+ii%2*55,2+ii/2*21,0);
}
g.drawString("按"1"卖掉",41,108,0);
g.setColor(255,0,255);
g.drawRect(40+j%2*55,1+j/2*21,53,20);
if(curweapon!=9)//如果当前装备有武器就用蓝色框显示
{
for(int iii=0;iii<6;iii++)
{
if(weapon[iii]==curweapon)
{
g.setColor(0,0,255);
g.drawRect(40+iii%2*55,1+iii/2*21,53,20);
break;
}
}
}
if(weapon[j]!=9)
{
g.setColor(255,255,255);
switch(weapon[j])
{
case 0:
temp="物理攻击力加5,吸血10%";
break;
case 1:
temp="物理攻击力加10,吸血25%";
break;
case 2:
temp="物理攻击力加15,吸血45%";
break;
case 3:
temp="技能攻击力加10%";
break;
case 4:
temp="技能攻击力加20%";
break;
case 5:
temp="技能攻击力加30%";
break;
case 6:
temp="基础攻击力加15%";
break;
case 7:
temp="基础攻击力加25%";
break;
case 8:
temp="基础攻击力加35%";
break;
}
g.drawString(temp.substring(0,temp.indexOf('加')),41,68,0);
g.drawString(temp.substring(temp.indexOf('加'),temp.length()),41,88,0);
}
temp=null;
break;
}
g.setColor(255,0,0);
g.drawRect(4,9+i*27,33,20);
}
if(!atm&&!pm)//主要场景绘制
{
int iii;
if(atc!=null)
{
atc.cancel();
while(atc.cancel())
{
}
atc=null;
}
/*场景绘制*/
for(v=y0/16;v<=(y0+h-1)/16;v++)
{
for(u=x0/16;u<=(x0+w-1)/16;u++)
{
o=v*W[sl]+u;
if(o>=0&&o<W[sl]*H[sl])
{
iii=sc[o]%100;
g.drawImage(screen[iii<16?iii:(iii+16-screenStart[sl])],u*16-x0,v*16-y0,0);
}
}
}
/*精灵绘制*/
for(int i=0;i<spn[sl];i++)
{
if(NPC[i].x>=x0/16&&NPC[i].x<=x0/16+w/16&&NPC[i].y>=y0/16&&NPC[i].y<=y0/16+h/16)
{
g.setClip(NPC[i].x*16-x0,NPC[i].y*16-y0,16,16);
g.drawImage(NPCPic,NPC[i].x*16-x0-NPC[i].l%6*16,NPC[i].y*16-y0-NPC[i].l/6*16,0);
}
}
g.setClip(0,0,w,h);
/*角色绘制*/
g.setClip(x-x0,y-y0,16,32);
g.drawImage(poc,x-x0-dr%3*16,y-y0-32*(dr/3),0);
g.setClip(0,0,w,h);
/*判断有遮挡效果的精灵绘制*/
for(int i=0;i<spn[sl];i++)
{
if(NPC[i].x*16+16>=x&&NPC[i].x*16<=x+16&&NPC[i].y*16<=y+31&&NPC[i].y*16>=y+15)
{
g.setClip(NPC[i].x*16-x0,NPC[i].y*16-y0,16,16);
g.drawImage(NPCPic,NPC[i].x*16-x0-NPC[i].l%6*16,NPC[i].y*16-y0-NPC[i].l/6*16,0);
}
}
g.setClip(0,0,w,h);
/*UI绘制*/
g.setColor(0,0,0);
g.drawRect(0,h-18,50,5);
g.drawRect(0,h-12,50,5);
g.drawRect(0,h-6,100,5);
g.setColor(0,0,255);
g.fillRect(0,h-17,50*m/mm,4);
g.setColor(255,0,0);
g.fillRect(0,h-11,50*l/lm,4);
g.setColor(255,255,0);
g.fillRect(0,h-5,100*(ex-m(le))/(m(le+1)-m(le)),4);
g.setColor(0,0,255);
g.fillRect(60,h-24,ts(gold).length()*10,16);
g.setColor(255,255,255);
g.drawRect(60,h-25,ts(gold).length()*10,17);
g.setColor(255,255,0);
g.drawString(String.valueOf(gold),62,h-25,0);
/*对话显示*/
if(me)
{
addCommand(con);
removeCommand(gmenu);
g.setColor(0xffffff);
g.drawImage(dlgpic,w/2-dlgpic.getWidth()/2,h/2-dlgpic.getHeight()/2,0);
for(int i=0;i<dlgm.length()/dlgn+1;i++)
{
if(i==dlgm.length()/dlgn)
g.drawString(dlgm.substring(i*dlgn),w/2-dlgpic.getWidth()/2+2,h/2-dlgpic.getHeight()/2+2+i*20,0);
else
g.drawString(dlgm.substring(i*dlgn,i*dlgn+dlgn),w/2-dlgpic.getWidth()/2+2,h/2-dlgpic.getHeight()/2+2+i*20,0);
}
if(curnpc==6)//船工
{
g.setColor(0,255,0);
g.drawRect(36+i*49,120,34,20);
}
else
if(curnpc==4)//竞技官
{
g.setColor(0,255,0);
g.drawRect(35+i*49,130,34,20);
}
else
if(curnpc==5)//多九公
{
g.setColor(0,255,0);
if(sn==1)
g.drawRect(53,62+i*20,68,18);
else
if(sn==2)
g.drawRect(52,111+i*20,69,20);
}
}
/*提示信息显示*/
if(tip!=null)
{
addCommand(con);
removeCommand(gmenu);
g.setColor(0xffffff);
createDlgPic(tip,tip.length()>8?8:tip.length());
g.drawImage(dlgpic,(w-dlgpic.getWidth())/2,(h-dlgpic.getHeight())/2,0);
for(int i=0;i<dlgm.length()/dlgn+1;i++)
{
if(i==dlgm.length()/dlgn)
g.drawString(dlgm.substring(i*dlgn),w/2-dlgpic.getWidth()/2+2,h/2-dlgpic.getHeight()/2+2+i*20,0);
else
g.drawString(dlgm.substring(i*dlgn,i*dlgn+dlgn),w/2-dlgpic.getWidth()/2+2,h/2-dlgpic.getHeight()/2+2+i*20,0);
}
}
}
if(win)//如果战斗胜利就画出经验值获得的对话框
{
removeCommand(choose);
addCommand(con);
if(showW)
{
if(sl==6)
killCount++;
if(curEl!=15)
{
String temp;
temp=null;
boolean out=false;
g.setFont(Loading.myfont);
g.setColor(0,100,200);
g.fillRect(5,18,140,84);
g.setColor(255,255,255);
g.drawRect(5,17,140,85);
g.drawString("战斗胜利!",30,19,0);
g.drawString("获得经验值:"+String.valueOf(sn),10,39,0);
g.drawString("获得金钱:"+String.valueOf(nn),10,59,0);
gold+=nn;
/*判断人物是否升级*/
while(true)
{
if(ex+sn>=m(le+1))
{
le++;
sp++;
out=true;
m=20*le+20;
mm=m;
lm=le*le+10*le+60;
l=lm;
d=5*le+2;
D=d+addPdP*d/100+addPd;
}
else
break;
}
ex+=sn;
if(out)
g.drawString("等级升为"+String.valueOf(le)+"级",10,79,0);
/*武器check*/
for(int iii=0;iii<6;iii++)
{
if(weapon[iii]==9)
{
int ii=rR(100);
switch(curEl)
{
case 2:
if(ii<=2&&ii>=0&&!hasWeapon(0))
{
weapon[iii]=0;
temp="短剑";
}
else
if(ii<=6&&ii>=3&&!hasWeapon(3))
{
weapon[iii]=3;
temp="青剑";
}
break;
case 3:
if(ii<=5&&ii>=0&&!hasWeapon(0))
{
weapon[iii]=0;
temp="短剑";
}
else
if(ii<=10&&ii>=6&&!hasWeapon(3))
{
weapon[iii]=3;
temp="青剑";
}
else
if(ii<=14&&ii>=11&&!hasWeapon(6))
{
weapon[iii]=6;
temp="榔头";
}
break;
case 4:
if(ii<=7&&ii>=0&&!hasWeapon(0))
{
weapon[iii]=0;
temp="短剑";
}
else
if(ii<=11&&ii>=8&&!hasWeapon(1))
{
weapon[iii]=1;
temp="铁剑";
}
else
if(ii<=18&&ii>=12&&!hasWeapon(3))
{
weapon[iii]=3;
temp="青剑";
}
else
if(ii<=25&&ii>=19&&!hasWeapon(6))
{
weapon[iii]=6;
temp="榔头";
}
break;
case 5:
if(ii<=5&&ii>=0&&!hasWeapon(1))
{
weapon[iii]=1;
temp="铁剑";
}
else
if(ii<=15&&ii>=6&&!hasWeapon(3))
{
weapon[iii]=3;
temp="青剑";
}
else
if(ii<=18&&ii>=16&&!hasWeapon(4))
{
weapon[iii]=4;
temp="烈焰枪";
}
else
if(ii<=27&&ii>=19&&!hasWeapon(6))
{
weapon[iii]=6;
temp="榔头";
}
break;
case 6:
if(ii<=8&&ii>=0&&!hasWeapon(1))
{
weapon[iii]=1;
temp="铁剑";
}
else
if(ii<=14&&ii>=9&&!hasWeapon(4))
{
weapon[iii]=4;
temp="烈焰枪";
}
else
if(ii<=17&&ii>=15&&!hasWeapon(7))
{
weapon[iii]=7;
temp="战斧";
}
break;
case 7:
if(ii<=10&&ii>=0&&!hasWeapon(1))
{
weapon[iii]=1;
temp="铁剑";
}
else
if(ii<=18&&ii>=11&&!hasWeapon(4))
{
weapon[iii]=4;
temp="烈焰枪";
}
else
if(ii<=23&&ii>=19&&!hasWeapon(7))
{
weapon[iii]=7;
temp="战斧";
}
break;
case 8:
if(ii<=3&&ii>=0&&!hasWeapon(2))
{
weapon[iii]=2;
temp="守护剑";
}
else
if(ii<=13&&ii>=4&&!hasWeapon(4))
{
weapon[iii]=4;
temp="烈焰枪";
}
else
if(ii<=19&&ii>=14&&!hasWeapon(7))
{
weapon[iii]=7;
temp="战斧";
}
break;
case 9:
if(ii<=5&&ii>=0&&!hasWeapon(2))
{
weapon[iii]=2;
temp="守护剑";
}
else
if(ii<=8&&ii>=6&&!hasWeapon(5))
{
weapon[iii]=5;
temp="紫砂剑";
}
else
if(ii<=15&&ii>=12&&!hasWeapon(8))
{
weapon[iii]=8;
temp="战神剑";
}
break;
case 10:
if(ii<=7&&ii>=0&&!hasWeapon(2))
{
weapon[iii]=2;
temp="守护剑";
}
else
if(ii<=13&&ii>=8&&!hasWeapon(5))
{
weapon[iii]=5;
temp="紫砂剑";
}
else
if(ii<=19&&ii>=14&&!hasWeapon(8))
{
weapon[iii]=8;
temp="战神剑";
}
break;
default:
break;
}
break;
}
}
if(temp!=null)
{
g.setColor(0,255,255);
g.drawString("获得 "+temp,10,110,0);
}
/*任务物品check*/
if(task&&sl!=6&&temp==null)
{
temp=null;
int ii;
ii=rR(100);
if(ii<30)
{
switch(curEl)
{
case 4://豺
if(tn[0]<10)
{
tn[0]++;
temp="鹤灵草";
}
break;
case 5://狼
if(tn[1]<5)
{
tn[1]++;
temp="狼牙";
}
break;
case 6://虎
if(tn[4]<20&&task2)
{
tn[4]++;
temp="虎皮";
}
break;
case 9://僵尸将军
if(tn[2]<10)
{
tn[2]++;
temp="米云香";
}
break;
case 10://Boss
if(tn[3]<5)
{
tn[3]++;
temp="雪岩";
}
break;
default:
break;
}
}
if(temp!=null)
{
g.setColor(0,255,255);
g.drawString("获得 "+temp,10,110,0);
}
}
temp=null;
if(sl==6&&killCount!=10)
{
g.setColor(255,255,255);
g.drawString("还须进行"+ts(10-killCount)+"场战斗",0,0,0);
}
if(sl==6&&killCount==10)
{
g.setColor(0,255,255);
g.drawString("获得银子10000两",0,120,0);
}
}
else
{
MG.showGame=false;
MG.gm.ld=new Loading(3);
MG.gm.loading=new Thread(MG.gm.ld);
MG.gm.loading.start();
MG.show(MG.gm.ld);
}
showW=false;
}
else
{
win=false;
repaint();
}
}
if(die)//如果战斗失败则重生
{
removeCommand(choose);
addCommand(con);
g.setColor(153,117,26);
g.fillRect(8,18,115,43);
g.setColor(255,255,255);
g.drawRect(8,17,115,44);
g.drawString("本领不够强哟,",10,20,0);
g.drawString("再修炼一下吧!",10,40,0);
}
/*传送菜单绘制*/
if(tm)
{
String temp=new String();
g.setColor(0,0,100);
g.fillRect(2,16,118,96);
g.setColor(255,255,255);
for(int k=0;k<6;k++)
{
g.drawRect(2+k%2*59,16+k/2*32,59,32);
switch(k)
{
case 0:
temp="城郊";
break;
case 1:
temp="荒岛";
break;
case 2:
temp="女儿国";
break;
case 3:
temp="勇士国";
break;
case 4:
if(task)
temp="蓬莱岛";
else
temp=null;
break;
case 5:
if(dlg[2])
temp="军营";
else
temp=null;
break;
}
if(temp!=null)
g.drawString(temp,2+k%2*58+2,16+k/2*32+8,0);
}
temp=null;
g.setColor(0,255,0);
g.drawRect(2+i%2*59,16+i/2*32,59,32);
}
if(gameMenu)//游戏菜单绘制
{
g.setColor(0,0,255);
g.fillRect(20,30,72,100);
g.setColor(255,255,255);
g.drawRect(20,29,72,101);
if(i==0)
g.setColor(255,255,0);
else
g.setColor(255,255,255);
g.drawString("帮助说明",22,32,0);
if(i==1)
g.setColor(255,255,0);
else
g.setColor(255,255,255);
g.drawString("保存游戏",22,52,0);
if(i==2)
g.setColor(255,255,0);
else
g.setColor(255,255,255);
g.drawString(GM.playOn?"关闭音效":"打开音效",22,72,0);
if(i==3)
g.setColor(255,255,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -