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

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

📁 J2ME RPG 游戏核心代码 需要学习的可以下载看看 比较详细
💻 TXT
📖 第 1 页 / 共 5 页
字号:
y-=2;
break;
default:
break;
}
repaint();
x++;
}
ld.wait(100);//0.45秒后载入过程结束
}
catch(java.lang.InterruptedException ie)
{
}
}
running=false;
return;
}
}
public void commandAction(Command c,Displayable s)
{
if(c==skip)
{
if(type!=3)
x=79;
else
x=59;
}
}
}


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

回复: 


public void keyRepeated(int keyCode)
{
int act=getGameAction(keyCode);
if(act==Canvas.UP||act==Canvas.DOWN||act==Canvas.LEFT||act==Canvas.RIGHT)
keyPressed(keyCode);
}
public void keyPressed(int keyCode)
{
if(!change)
{
int act=getGameAction(keyCode);
switch(act)
{
case GAME_B://属性菜单弹出
if(!win&&!die&&!change&&!me&&!gameMenu&&mo==null)
{
pm=!pm;
if(pm)
removeCommand(gmenu);
else
if(!atm)
addCommand(gmenu);
i=0;
j=0;
if(!atm)
repaint(0,0,160,128);
else
repaint();
}
break;
case UP://上键
if(gameMenu)//对游戏菜单的操作
{
i=i-1>=0 i-1:0;
repaint();
}
else
if(!pm&&!tm&&!win&&!die&&!me&&tip==null&&!atm)//人物运动
{
if(mo==null)
{
if(dr/3!=2)
{
dr=6;
repaint();
}
else
stm();
}
}
else
if(pm)//对属性菜单的操作
{
j=0;
i=i-1>=0 i-1:3;
repaint(0,0,160,128);
}
else
if(tm)//对传送菜单的操作
{
if(dlg[2])
i=i-1>=0 i-1:5;
else
if(task)
i=i-1>=0 i-1:4;
else
i=i-1>=0 i-1:3;
repaint(0,0,128,128);
}
else
if(am)//对战斗菜单的操作
{
i=i-4>=0 i-4:i+8;
repaint();
}
else
if(me&&tip==null)//对对话菜单的操作
{
if(curnpc==6||curnpc==4||curnpc==5)
i=i-1>=0 i-1:0;
repaint();
}
break;
case DOWN://下键
if(gameMenu)
{
i=i+1<=4 i+1:4;
repaint();
}
else
if(!pm&&!atm&&!tm&&!win&&!die&&!me&&tip==null)
{
if(mo==null)
{
if(dr/3!=1)
{
dr=3;
repaint();
}
else
stm();
}
}
else
if(pm)
{
i=i+1<4 i+1:0;
j=0;
repaint(0,0,160,128);
}
else
if(tm)
{
if(dlg[2])
i=i+1<6 i+1:0;
else
if(task)
i=i+1<5 i+1:0;
else
i=i+1<4 i+1:0;
repaint();
}
else
if(am)
{
i=i+4<12 i+4:i-8;
repaint();
}
else
if(me&&tip==null)//对话时候的菜单选项
{
if(curnpc==6||curnpc==4)
i=i+1<=1 i+1:0;
else
if(curnpc==5)
{
switch(sn)
{
case 1:
i=i+1<=2 i+1:0;
break;
case 2:
i=i+1<=1 i+1:0;
break;
default:
break;
}
}
repaint();
}
break;
case LEFT://左键
if(pm)
{
if(i==1)
j=j-1>=0 j-1:10;
else
if(i==3&&j>0)
for(int ii=j-1;ii>=0;ii--)
{
if(weapon[ii]!=9)
{
j=ii;
break;
}
}
repaint(0,0,160,128);
}
else
if(!pm&&!atm&&!tm&&!win&&!die&&!me&&tip==null&&!gameMenu)
{
if(mo==null)
{
if(dr/3!=0)
{
dr=0;
repaint();
}
else
stm();
}
}
else
if(am)
{
i=i-1>=0 i-1:11;
repaint();
}
else
if(me&&tip==null)
{
if(curnpc==6||curnpc==4||curnpc==5)
i=i-1>=0 i-1:0;
repaint();
}
break;
case RIGHT://右键
if(pm)
{
if(i==1)
{
j=j+1<11 j+1:0;
repaint(0,0,160,128);
}
else
if(i==3)
{
for(int ii=j+1;ii<6;ii++)
{
if(weapon[ii]!=9)
{
j=ii;
break;
}
}
repaint(0,0,160,128);
}
}
else
if(!pm&&!tm&&!atm&&!win&&!die&&!me&&tip==null&&!gameMenu)
{
if(mo==null)
{
if(dr/3!=3)
{
dr=9;
repaint();
}
else
stm();
}
}
else
if(am)
{
i=i+1<=11 i+1:0;
repaint();
}
else
if(me&&tip==null)//对话时候的菜单选项
{
if(curnpc==6||curnpc==4)
i=i+1<=1 i+1:0;
else
if(curnpc==5)
{
switch(sn)
{
case 1:
i=i+1<=2 i+1:0;
break;
case 2:
i=i+1<=1 i+1:0;
break;
default:
break;
}
}
repaint();
}
break;
case FIRE:
FIRE();
break;
default:
switch(keyCode)
{
case KEY_NUM1://1键取消
//if(am&&!pm)
//{
//am=false;
//an=4;
//repaint();
//}
//else
if(pm&&i==3)
{
gold+=(weapon[j]%3+1)*(weapon[j]%3+1)*100;
if(curweapon==weapon[j])
curweapon=9;
weapon[j]=9;
addPd=0;
addMd=0;
addPdP=0;
D=d;
repaint(0,0,160,128);
}
break;
default:
break;
}
break;
}
}
}


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

回复: 


ding


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

回复: 


ding


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

回复: 


楼主有功夫
不过这种代码没多大研究价值


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

回复: 


good.com
jf.com


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

回复: 


辛苦了



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

回复: 


楼主辛苦了,不过我也同意楼上的观点。。。


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

回复: 


/*判断怪物掉出的宝是否角色已经拥有*/
boolean hasWeapon(int s)
{
boolean temp=false;
for(int ii=0;ii<6;ii++)
{
if(weapon[ii]==s)
{
temp=true;
break;
}
}
return(temp);
}
/*战斗场景控制*/
public void fi(int n,int lvl)
{
/*spi为8位数组,spi[0]为主角, spi[1]为狼,spi[2]为熊,spi[3]为龙, 其余的为敌人*/
if(n!=0)
{
removeCommand(gmenu);
addCommand(choose);
for(int i=0;i<n;i++)
{
spi[i+4]=new SP(lvl);
spi[i+4].x=128;
spi[i+4].y=i*32+((lvl-1)/3==1 15:0)+32;
if(lvl!=15)
spi[i+4].p=(lvl-1)*10;
else
spi[i+4].p=160;
}
spi[0]=new SP(l,D);
spi[0].x=16;
spi[0].y=128;
spi[0].p=130;
curEl=lvl;//将当前战斗的怪的等级设为给定等级
atm=true;
am=true;
sn=0;
nn=0;
atc=new TI(this,8);
ti.schedule(atc,0,100);
repaint();
}
}
/*将数据转成字符串*/
String ts(int s)
{
return(String.valueOf(s));
}
public void paint(Graphics g)
{
System.gc();
g.setColor(0,0,0);
g.fillRect(0,0,w,183);
if(!change)//当没有进行场景切换的时候绘制下面的场景
{
if(changeMap!=null)
{
changeMap.cancel();
changeMap=null;
}
int u,v,o;
if(atm)//绘制战斗中的场景
{
int iii=sc[(y+31)/16*W[sl]+(x+15)/16]%100;
for(int p=0;p<11;p++)
for(int q=0;q<13;q++)
{
if(q<2||q>10)
g.drawImage(screen[1],p*16,q*16,0);
else
g.drawImage(screen[iii<=16 iii:(iii-screenStart[sl]+16)],p*16,q*16,0);//用主角触发战斗前所在的Tile的图片铺成战斗场景
}
for(int i=0;i<8;i++)
{
if(spi[i]!=null)
{
if(i>3)
{
if(spi[i].lv<4||spi[i].lv>6)
{
if(spi[i].lv!=15)
{
g.setClip(spi[i].x,spi[i].y,16,32);
g.drawImage(atpic,spi[i].x-spi[i].p%10*16,spi[i].y-spi[i].p/10*32,0);
}
else
{
g.setClip(spi[i].x,spi[i].y,32,32);
g.drawImage(atpic,spi[i].x,spi[i].y-spi[i].p/10*32-spi[i].p%10*32,0);
}
}
else
{
g.setClip(spi[i].x,spi[i].y,32,16);
g.drawImage(atpic,spi[i].x,spi[i].y-spi[i].p/10*32-spi[i].p%10*16,0);
}
}
else
if(i==1)
{
g.setClip(spi[1].x,spi[1].y,32,16);
g.drawImage(atpic,spi[1].x,spi[1].y-spi[1].p/10*32-spi[1].p%10*16,0);
}
else
{
g.setClip(spi[i].x,spi[i].y,16,32);
g.drawImage(atpic,spi[i].x-spi[i].p%10*16,spi[i].y-spi[i].p/10*32,0);
}
g.setClip(0,0,w,h);
g.setColor(0,0,0);
if(i<4)
g.drawRect(6,(3-i)*32+15+32,5,16);
else
g.drawRect(152,(i-4)*32+15+32,5,16);
g.drawRect(0,143,5,16);
g.setColor(255,0,0);
if(i>=4)
g.fillRect(153,(i-3)*32-16*spi[i].l/(spi[i].lv*spi[i].lv*15+10)+32,4,16*spi[i].l/(spi[i].lv*spi[i].lv*15+10)-1);
else
switch(i)
{
case 0://主角
g.fillRect(7,128-16*l/lm+32,4,16*l/lm-1);
break;
case 1://狼
g.fillRect(7,96-16*spi[1].l/(8*s[3]*s[3]+40)+32,4,16*spi[1].l/(8*s[3]*s[3]+40)-1);
break;
case 2://熊
g.fillRect(7,64-16*spi[2].l/(20*s[4]*s[4]+60)+32,4,16*spi[2].l/(20*s[4]*s[4]+60)-1);
break;
case 3://龙
g.fillRect(7,32-16*spi[3].l/(10*s[5]*s[5]+40)+32,4,16*spi[3].l/(10*s[5]*s[5]+40)-1);
break;
}
g.setColor(0,0,255);
g.fillRect(1,160-16*m/mm,4,16*m/mm-1);
}
}
if(spic0!=null)
g.drawImage(spic0,sx,sy,0);
if(atw!=null)
{
if(atw.type==5)//落星效果
{
switch(atw.s)
{
case 2:
for(int ii=0;ii<5;ii++)
{
g.drawImage(spic[1],rR(60)+112,0,0);
g.drawImage(spic[1],rR(60)+112,32,0);
}
break;
case 3:
for(int ii=0;ii<5;ii++)
{
g.drawImage(spic[1],rR(60)+112,0,0);
g.drawImage(spic[1],rR(60)+112,32,0);
g.drawImage(spic[1],rR(60)+112,64,0);
g.drawImage(spic[1],rR(60)+112,96,0);
}
break;
case 4:
for(int ii=0;ii<5;ii++)
{
g.drawImage(spic[1],rR(60)+112,0,0);
g.drawImage(spic[1],rR(60)+112,32,0);
g.drawImage(spic[1],rR(60)+112,64,0);
g.drawImage(spic[1],rR(60)+112,96,0);
g.drawImage(spic[1],rR(60)+112,128,0);
g.drawImage(spic[1],rR(60)+112,160,0);
}
break;
case 5:
for(int ii=0;ii<5;ii++)
{
g.drawImage(spic[1],rR(60)+112,0,0);
g.drawImage(spic[1],rR(60)+112,32,0);
g.drawImage(spic[1],rR(60)+112,64,0);
g.drawImage(spic[1],rR(60)+112,96,0);
g.drawImage(spic[1],rR(60)+112,128,0);
g.drawImage(spic[1],rR(60)+112,160,0);
g.drawImage(spic[1],rR(60)+112,192,0);
}
for(int i=0;i<4;i++)
{
if(spi[i+4]!=null)
{
if(spi[i+4].lv!=15)
spi[i+4].l-=(2*s[1]*s[1]+10)*(100+addMd)/100;
}
}
break;
case 6:
for(int i=0;i<4;i++)
{
if(spi[i+4]!=null)
{
if(spi[i+4].l<=0)
{
sn+=100*spi[i+4].lv*spi[i+4].lv/le;
nn+=4*spi[i+4].lv*spi[i+4].lv;
spi[i+4]=null;
}
}
}
break;
case 7:
an=4;
cancelATW();
repaint();
break;
default:
break;
}
}
else
if(atw.type==6)//风残效果
{
switch(atw.s)
{
case 2:
for(int ii=0;ii<6;ii++)
{
g.drawImage(spic[2],0,rR(128),0);
g.drawImage(spic[2],32,rR(128),0);
}
break;
case 3:
for(int ii=0;ii<6;ii++)
{
g.drawImage(spic[2],0,rR(128),0);
g.drawImage(spic[2],32,rR(128),0);
g.drawImage(spic[2],64,rR(128),0);
g.drawImage(spic[2],96,rR(128),0);
}
break;
case 4:
for(int ii=0;ii<6;ii++)
{
g.drawImage(spic[2],0,rR(128),0);
g.drawImage(spic[2],32,rR(128),0);
g.drawImage(spic[2],64,rR(128),0);
g.drawImage(spic[2],96,rR(128),0);
g.drawImage(spic[2],128,rR(128),0);
}
break;
case 5:
for(int ii=0;ii<6;ii++)
{
g.drawImage(spic[2],0,rR(128),0);
g.drawImage(spic[2],32,rR(128),0);
g.drawImage(spic[2],64,rR(128),0);
g.drawImage(spic[2],96,rR(128),0);
g.drawImage(spic[2],128,rR(128),0);
g.drawImage(spic[2],160,rR(128),0);
}
for(int i=0;i<4;i++)
{
if(spi[i+4]!=null)
{
if(spi[i+4].lv!=15)
spi[i+4].l-=3*s[2]*lm/100*(100+addMd)/100;
}
}
break;
case 6:
for(int i=0;i<4;i++)
{
if(spi[i+4]!=null)
{
if(spi[i+4].l<=0)
{
sn+=100*spi[i+4].lv*spi[i+4].lv/le;
nn+=4*spi[i+4].lv*spi[i+4].lv;
spi[i+4]=null;
}
}
}
break;
case 7:
an=4;
cancelATW();
repaint();
break;
default:
break;
}
}
}
}


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

回复: 


啥游戏?


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

回复: 


好长``````


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

回复: 


/*游戏菜单*/
import javax.microedition.lcdui.*;
import java.lang.String;
public class GM extends Canvas implements CommandListener
{
public static Image gmenu;
public static MGC mgc;//创建一个场景对象
public static MG mg;//创建一个主控制对象
public static byte i;//当前高亮选项的序号
public static Loading ld;
public static boolean playOn,showS;
public Thread loading;
public static boolean running;
Command start;
int b;
public GM(MG m)
{
running=true;
start=new Command("选择",Command.BACK,0);
addCommand(start);
setCommandListener(this);
cI();
playOn=true;
i=0;
repaint();
mg=m;
}
//创建Loading线程
void load()
{
running=false;
ld=null;
ld=new Loading(1);
loading=new Thread(ld);
loading.start();
MG.show(ld);//显示Loading界面。
gmenu=null;
}
//创建游戏菜单需要的图片
public static void cI()
{
SA s=new SA();
if(s.tO())
showS=true;
else
showS=false;
try
{
gmenu=Image.createImage("/menu.png");
}
catch(java.io.IOException ioe)

⌨️ 快捷键说明

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