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

📄 j2me的rpg游戏核心代码.txt

📁 J2ME RPG 游戏核心代码 需要学习的可以下载看看 比较详细
💻 TXT
📖 第 1 页 / 共 5 页
字号:
if(x!=W[sl]*16-16)
sc[(y+31)/16*W[sl]+x/16+1]=sc[(y+31)/16*W[sl]+x/16];
break;
case 2://向上
if(y!=0)
sc[((y+31)/16-1)*W[sl]+x/16]=sc[(y+31)/16*W[sl]+x/16];
break;
}
repaint();
}
else
if(c()>10&&c()<21)//Check怪
{
fi(chn(),c()-10);
if(!atm)//没有怪出现
{
dr++;
if(dr%3==0)
dr-=2;
switch(dr)
{
//case 7://向上1
//y-=speed;
//if(y0>0&&y-y0<=64)
//y0-=speed;
//repaint();
//break;
//case 4://向下1
//y+=speed;
//if(y0<128&&y-y0>=48)
//y0+=speed;
//repaint();
//break;
//case 1://向左1
//x-=speed;
//if(x0>0&&x-x0<=64)
//x0-=speed;
//repaint();
//break;
//case 10://向右1
//x+=speed;
//if(x0<24*16&&x-x0>=64)
//x0+=speed;
//repaint();
//break;
//default://静止状态
//repaint();
//break;
case 7://向上1
y-=speed;
if(y0>0&&y-y0<=h/2)
y0-=speed;
repaint();
break;
case 4://向下1
y+=speed;
if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2)
y0+=speed;
repaint();
break;
case 1://向左1
x-=speed;
if(x0>0&&x-x0<=w/2)
x0-=speed;
repaint();
break;
case 10://向右1
x+=speed;
if(x0<(W[sl]-w/16)*16&&x-x0>=w/2)
x0+=speed;
repaint();
break;
default://静止状态
repaint();
break;
}
}
else
cancelMove();
}
else
if(c()==1)
{
dr++;
if(dr%3==0)
dr-=2;
switch(dr)
{
case 7://向上1
y-=speed;
if(y0>0&&y-y0<=h/2)
y0-=speed;
repaint();
break;
case 4://向下1
y+=speed;
if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2)
y0+=speed;
repaint();
break;
case 1://向左1
x-=speed;
if(x0>0&&x-x0<=w/2)
x0-=speed;
repaint();
break;
case 10://向右1
x+=speed;
if(x0<(W[sl]-w/16)*16&&x-x0>=w/2)
x0+=speed;
repaint();
break;
default://静止状态
repaint();
break;
}
}
else
{
mo.cancel();
mo=null;
dr=dr/3*3;
repaint();
}
}
else
{
dr++;
switch(dr)
{
case 7://向上1
y-=speed;
if(y0>0&&y-y0<=h/2)
y0-=speed;
repaint();
break;
case 8://向上2
y-=speed;
if(y0>0&&y-y0<=h/2)
y0-=speed;
repaint();
if(!walk)
cancelMove();
break;
case 4://向下1
y+=speed;
if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2)
y0+=speed;
repaint();
break;
case 5://向下2
y+=speed;
if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2)
y0+=speed;
repaint();
if(!walk)
cancelMove();
break;
case 1://向左1
x-=speed;
if(x0>0&&x-x0<=w/2)
x0-=speed;
repaint();
break;
case 2://向左2
x-=speed;
if(x0>0&&x-x0<=w/2)
x0-=speed;
repaint();
if(!walk)
cancelMove();
break;
case 10://向右1
x+=speed;
if(x0<(W[sl]-w/16)*16&&x-x0>=w/2)
x0+=speed;
repaint();
break;
case 11://向右2
x+=speed;
if(x0<(W[sl]-w/16)*16&&x-x0>=w/2)
x0+=speed;
repaint();
if(!walk)
cancelMove();
break;
default://静止状态
repaint();
break;
}
}
}


--------------------------------------------------------------------------------

回复: 

hard code

--------------------------------------------------------------------------------

回复: 


这帖子是不短呀!!!
支持一下吧!!


--------------------------------------------------------------------------------

回复: 


/*下面是对攻击顺序的切换*/
if(m.an<3&&m.an>0)
{
if(m.spi[m.an]!=null)
m.sat(m.an+20);
else
m.an=m.an==2 1:0;
}
else
if(m.an==0)
{
m.am=true;
/*判断隐身的回合数*/
if(m.t)
{
m.count++;
if(m.count==1+m.s[6])
m.t=!m.t;
}
else
if(m.tran)
{
m.count++;
if(m.count>m.s[8])
{
m.tran=!m.tran;
m.lm=m.le*m.le+10*m.le+60;
m.l=m.l*80/100>m.lm m.lm:m.l*80/100;
m.spi[0].l=m.l;
m.spi[0].d=5*m.le+2;
m.d=m.spi[0].d;
}
}
m.repaint();
}
else
{
while(m.an<8)
{
if(m.spi[m.an]!=null)
{
m.sat(12);
break;
}
else
m.an++;
}
if(m.an>7)
m.an=2;
}
}
}
break;
case 9://敌人攻击
if(s==1)
{
for(int i=3;i>=0;i--)
{
if(m.spi[i]!=null)
{
if((i==0&&!m.t)||i!=0)
{
m.spi[j].x=m.spi[i].x+16;
m.spi[j].y=m.spi[i].y/32*32;
m.spi[j].p++;
if(i!=0&&m.spi[j].lv==15)
m.spi[i].l-=2*m.spi[j].d;
else
m.spi[i].l-=m.spi[j].d;
if(m.spi[i].l<0)
m.spi[i].l=0;
m.l=m.spi[0].l;
if(i==3&&m.spi[j].lv!=15)
m.spi[j].l-=m.spi[j].d*10*m.s[5]/100;
if(m.spi[j].l<0)
m.spi[j].l=0;
m.repaint();
n=i;
break;
}
else
s=4;
}
}
}
else
if(s==2)
{
m.spi[n].x-=5;
if(n==0)
m.spi[0].p=141;
m.repaint();
}
else
if(s==3)
{
m.spi[n].x+=5;
m.spi[j].x=128;
m.spi[j].y=(j-4)*32+((m.spi[j].lv-1)/3==1 15:0)+32;
m.spi[j].p--;
if(n==0)
{
if(!m.tran)
m.spi[0].p=130;
else
m.spi[0].p=150;
}
if(m.spi[n].l==0)
m.spi[n]=null;
if(m.spi[j].l==0)
{
if(m.spi[0].l>0)
{
m.sn+=100*m.spi[j].lv*m.spi[j].lv/m.le;
m.nn+=4*m.spi[j].lv*m.spi[j].lv;
}
m.spi[j]=null;
}
m.repaint();
}
else
{
m.an++;
if(m.an>7)
m.an=2;
m.repaint();
m.cancelATW();
}
s++;
break;
case 7:
m.move();
break;
case 4://火球攻击
switch(s)
{
case 1:
for(int i=0;i<4;i++)
{
if(m.spi[i+4]!=null)
{
m.sx=m.spi[i+4].x;
m.sy=m.spi[i+4].y-16;
m.spic0=m.spic[3];
m.repaint();
n=i;
break;
}
}
break;
case 2:
m.sy+=8;
m.repaint();
break;
case 3:
m.sy+=8;
m.spic0=m.spic[0];
m.repaint();
break;
case 4:
m.sy-=2;
m.repaint();
break;
case 5:
m.sy+=2;
if(m.spi[n+4].lv!=15)
m.spi[n+4].l-=(5*m.s[0]*m.s[0]+15)*(100+m.stealB)/100;
if(m.spi[n+4].l<0)
m.spi[n+4].l=0;
m.repaint();
break;
case 6:
m.spic0=null;
if(m.spi[n+4].l==0)
{
m.sn+=100*m.spi[n+4].lv*m.spi[n+4].lv/m.le;
m.nn+=4*m.spi[n+4].lv*m.spi[n+4].lv;
m.spi[n+4]=null;
}
m.repaint();
break;
case 7:
m.an=4;
m.repaint();
m.cancelATW();
break;
default:
break;
}
s++;
break;
case 5://落星攻击
s++;
m.repaint();
break;
case 6://风残攻击
s++;
m.repaint();
break;
default://普通攻击
if(s==1)
{
for(int i=0;i<4;i++)
{
if(m.spi[i+4]!=null)
{
m.spi[type].x=m.spi[i+4].x-16;
m.spi[type].y=m.spi[i+4].y;
m.spi[type].p++;
if(type==0)
{
if(m.spi[i+4].l<m.D)
m.l+=m.spi[i+4].l*m.stealB/100;
else
m.l+=m.D*m.stealB/100;
if(m.l>m.lm)
m.l=m.lm;
m.spi[0].l=m.l;
}
m.spi[i+4].l-=m.spi[type].d;
if(m.spi[i+4].l<0)
m.spi[i+4].l=0;
m.repaint();
n=i;
break;
}
}
}
else
if(s==2)
{
m.spi[n+4].x+=5;
m.repaint();
}
else
if(s==3)
{
m.spi[n+4].x-=5;
m.spi[type].x=16;
m.spi[type].y=96-32*type+(type==1 16:0)+32;
m.spi[type].p--;
if(m.spi[n+4].l==0)
{
m.sn+=100*m.spi[n+4].lv*m.spi[n+4].lv/m.le;
m.nn+=4*m.spi[n+4].lv*m.spi[n+4].lv;
m.spi[n+4]=null;
}
m.repaint();
}
else
{
m.an--;
if(m.an<0)
m.an=4;
m.repaint();
m.cancelATW();
}
s++;
break;
}
}
}
}


--------------------------------------------------------------------------------

回复: 


import javax.microedition.lcdui.*;
import java.lang.*;
/*定义载入画面
*/
public class Loading extends Canvas implements Runnable,CommandListener
{
public static Thread ld;//定义Loading的进程
private int type;
private Image i1,intro;//定义载入时的图片
private int x;
private int y;
private int proid;
private Command skip;
public static boolean running;
public static Font myfont;
/*参数i表示Loading的类型,1是新游戏的Loading,0是读取进度,2是移动Logo*/
public Loading(int i)
{
running=true;
skip=new Command("跳过",Command.OK,0);
this.type=i;
y=50;
proid=0;
//myfont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_SMALL);
if(i==2)
{
try
{
i1=Image.createImage("/logo.png");
intro=Image.createImage("/intro.png");
}
catch(java.io.IOException e)
{
}
}
}
public void paint(Graphics g)
{
g.setColor(0,0,0);
g.fillRect(0,0,getWidth(),getHeight());
//g.setFont(myfont);
if(type!=3)
{
if(x<11)
{
if(type!=2)
{
g.setColor(255,255,255);
g.drawString("载入中.....",45,50,0);
}
else
{
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(),getHeight());
g.drawImage(i1,30,15,g.TOP|g.LEFT);
g.setColor(0,0,0);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN ,Font.SIZE_SMALL));
g.drawString("正在下载",35,120,g.TOP|g.LEFT);
g.drawRect(30,140,116,14);
g.setColor(0,0,255);
for(int i=0;i<proid/3;i++)
g.fillRect(32+ i*19,142,17,11);
proid++; 
}
}
else
if(type==1)
{
addCommand(skip);
setCommandListener(this);
if(x<80)
{
g.setColor(255,255,255);
g.drawString("当年, 徐敬业同骆",20,y,0);
g.drawString("宾王讨伐武后, 寡",20,y+18,0);
g.drawString("不敌众, 仅余千人",20,y+36,0);
g.drawString("逃出, 骆宾王帐下",20,y+54,0);
g.drawString("有一员大将逃出重",20,y+72,0);
g.drawString("围后来到关内隐姓",20,y+90,0);
g.drawString("埋名生下一子名叫",20,y+108,0);
g.drawString("李景鸿。如今长大",20,y+126,0);
g.drawString("成人,为完成父亲",20,y+144,0);
g.drawString("的遗愿,决定前往",20,y+162,0);
g.drawString("蓬莱仙岛寻找徐敬",20,y+180,0);
g.drawString("业与骆宾王的后人",20,y+198,0);
g.drawString(", 辅助完成大业..",20,y+216,0);
g.setColor(0);
g.fillRect(0,0,19,getHeight());
g.fillRect(157,0,19,getHeight());
g.setColor(0xffffff);
for(int ii=0;ii<getHeight()/15;ii++)
{
g.fillArc(5,ii*15+5,10,10,0,360);
g.fillArc(161,ii*15+5,10,10,0,360);
}

}
else
{
System.out.println("start");
GM.mgc=new MGC();
GM.mgc.ge();
GM.ld=null;
GM.mg.show(GM.mgc);
MG.showGame=true;
if(GM.playOn)
bgThread.shouldPause=false;
}
}
else
{
if(x<30)
{
if(type!=2)
{
g.setColor(255,255,255);
g.drawString("载入中.....",45,50,0);
}
else
{
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(),getHeight());
if(x<20)
{
g.drawImage(i1,30,15,g.TOP|g.LEFT);
g.setColor(0,0,0);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN ,Font.SIZE_SMALL));
g.drawString("正在下载",35,120,g.TOP|g.LEFT);
g.drawRect(30,140,116,14);
g.setColor(0,0,255);
for(int i=0;i<proid/3;i++)
g.fillRect(32+ i*19,142,17,11);
proid++; 
}
else
g.drawImage(intro,0,0,0); 
}
}
else
{
GM.ld=null;
if(type==2)
{
GM.mg.show(MG.gm);
MG.ld=null;
}
else
{
GM.mg.show(GM.mgc);
MG.showGame=true;
if(GM.playOn)
bgThread.shouldPause=false;
}
i1=null;
intro=null;
}
}
}
else
{
addCommand(skip);
setCommandListener(this);
if(x<60)
{
g.setColor(255,255,255);
g.drawString("景鸿, 你经历了诸",0,y,0);
g.drawString("多磨难, 打败了无",0,y+18,0);
g.drawString("数敌人, 为二位将",0,y+36,0);
g.drawString("军的复国大业立下",0,y+54,0);
g.drawString("了汗马功劳, 如今",0,y+72,0);
g.drawString("正是严冬, 等这个",0,y+90,0);
g.drawString("冬天过后, 你就跟",0,y+108,0);
g.drawString("随二位将军一起出",0,y+126,0);
g.drawString("征吧!..........",0,y+144,0);
g.setColor(255,255,0);
g.drawString("敬请关注后续版本!",0,y+180,0);
}
else
{
GM.cI();
GM.mg.show(MG.gm);
}
}
}
public void run()
{
x=0;
ld=new Thread(MG.gm.ld);
synchronized(ld)
{
while(x<(type==1 80:(type==3 60:30)))
{
try
{
if(running)
{
switch(type)
{
case 0://读取存档
if(x==1)
{
GM.mgc=null;
System.gc();
MGC.sl=0;
MGC.cI();//导入图形
}
else
if(x==5)
{
GM.mgc=new MGC();
GM.mgc.ge();
}
else
if(x==7)
{
SA s=new SA();
s.r();
s=null;
}
else
if(x==10)
{
GM.mgc.lm=GM.mgc.le*GM.mgc.le+10*GM.mgc.le+60;
GM.mgc.mm=20*GM.mgc.le+20;
GM.mgc.d=5*GM.mgc.le+2;
GM.mgc.D=GM.mgc.d;
if(GM.mgc.dlg[0])
{
GM.mgc.me=false;
GM.mgc.dlgpic=null;
MGC.x=MGC.startx[MGC.sl];
MGC.y=MGC.starty[MGC.sl];
}
else
{
GM.mgc.me=true;
MGC.x=384;
MGC.y=304;
}
if(MGC.x>=MGC.w/2)
{
if(MGC.x<=MGC.W[MGC.sl]*16-MGC.w/2)
MGC.x0=MGC.x-MGC.w/2;
else
MGC.x0=MGC.W[MGC.sl]*16-MGC.w;
}
else
MGC.x0=0;
if(MGC.y>=MGC.h/2)
{
if(MGC.y<=MGC.H[MGC.sl]*16-MGC.h/2)
MGC.y0=MGC.y-MGC.h/2;
else
MGC.y0=MGC.H[MGC.sl]*16-MGC.h;
}
else
MGC.y0=0;
GM.mgc.repaint();
}
break;
case 1://开始新游戏
if(x==1)
{
GM.mgc=null;
System.gc();
MGC.sl=0;
MGC.cI();//导入图形
}
else
if(x>10)
y-=2;
break;
case 3://游戏结束

⌨️ 快捷键说明

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