📄 mainpit.java
字号:
switch(targetstate)
{
case 0://选择目标
if(currentactstate == 1)//目标获得焦点
{
for(int i = 0; i<= MAP_MAX_HEIGHT; i++)
{
for(int j = 0; j <= MAP_MAX_WIDTH; j++)
{
move[i][j] = -1;
}
}
fmove(currentactMX, currentactMY, currentactmovearea + mappos[map[currentactMY][currentactMX]][currentactkind]);
currentactstate = 2;
targetstate = 1;
showmovearea = true;
chooseact(currentact);//选中目标
}
else if(currentactstate == 0)
{
CurrentMenu = 0;
CurrentScene = 2;
MenuFocus = 0;
}
break;
case 1:
if(movejudge(cursorMX,cursorMY))
{
smove(cursorMX,cursorMY);//寻路
targetSX = currentactSX;
targetSY = currentactSY;
moveaction = true;
showmovearea = false;
}
break;
/*
case 2:
currentactSX = targetSX;
currentactSY = targetSY;
currentactMX = currentactSX + x;
currentactMY = currentactSY + y;
infoact[currentact][1] = currentactMX;
infoact[currentact][2] = currentactMY;
currentactmovex = 0;
currentactmovey = 0;
targetstate = 0;
currentactstate = 0;
break;
*/
}
break;
case 3:
switch(targetstate)
{
case 1:
currentactstate = 0;
targetstate = 0;
showmovearea = false;
cursorSX = currentactSX;
cursorSY = currentactSY;
break;
/*case 2:
targetstate = 1;
currentactmovex = 0;
currentactmovey = 0;
targetSX = currentactSX;
targetSY = currentactSY;
break;*/
}
break;
}
break;
case 2://菜单选择
switch(kC)
{
case 2://上键
MenuFocus--;
if(MenuFocus < 0)
{
MenuFocus = MenuInfo[CurrentMenu] - 1;
}
break;
case 8://下键
MenuFocus++;
if(MenuFocus > MenuInfo[CurrentMenu] - 1)
{
MenuFocus = 0;
}
break;
case 5://左软,中,键
switch(CurrentMenu)
{
case 0://系统菜单
switch(MenuFocus)
{
case 2://中断
MenuFocus = 0;
STATE = 1;
break;
}
break;
case 1://攻击选择菜单
if(MenuFocus == MenuInfo[CurrentMenu] - 1)//待机
{
CurrentScene = 1;
currentactSX = targetSX;
currentactSY = targetSY;
currentactMX = currentactSX + x;
currentactMY = currentactSY + y;
infoact[currentact][1] = currentactMX;
infoact[currentact][2] = currentactMY;
currentactmovex = 0;
currentactmovey = 0;
targetstate = 0;
currentactstate = 0;
}
else if(MenuFocus == MenuInfo[CurrentMenu] - 2)//攻击
{
CurrentScene = 3;
currentactSX = targetSX;
currentactSY = targetSY;
currentactMX = currentactSX + x;
currentactMY = currentactSY + y;
infoact[currentact][1] = currentactMX;
infoact[currentact][2] = currentactMY;
currentactmovex = 0;
currentactmovey = 0;
}
break;
}
break;
case 3://右软键
switch(CurrentMenu)
{
case 0:
CurrentScene = 1;
break;
case 1:
CurrentScene = 1;
targetstate = 1;
showmovearea = true;
currentactmovex = 0;
currentactmovey = 0;
targetSX = currentactSX;
targetSY = currentactSY;
cursorSX = currentactSX;
cursorSY = currentactSY;
break;
}
break;
}
break;
case 3://攻击模式
switch(kC)
{
case 2:
case 4:
currentatk--;
if(currentatk == 0)
{
currentatk = atktarget[0];
}
break;
case 8:
case 6:
currentatk++;
if(currentatk > atktarget[0])
{
currentatk = 1;
}
break;
case 5:
switch(targetstate)
{
case 1:
targetstate = 2;
break;
case 2:
targetstate = 3;
break;
}
break;
case 3:
CurrentScene = 2;
targetstate = 1;
break;
}
System.out.println(" " + currentatk + " " + atktarget[currentatk]);
break;
}
break;
}
}
/*
//小图在图片中的坐标(ix,iy)
//绘制在屏幕上的坐标(sx,xy)
public void paintImage(Graphics g,Image pic, int ix, int iy, int width, int height,int sx, int sy)
{
g.setClip(sx,sy,width,height);
g.drawImage(pic, sx - ix, sy - iy, g.LEFT|g.TOP);
g.setClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
}
*/
/*
//读取静态信息
private void readStaticInfo()
{
java.io.InputStream is = null;
try
{
is = getClass().getResourceAsStream("/info/staticinfo.txt");
if (is != null)
{
readstatic(is);
is.close();
}
else
{
System.out.println("load static wrong");
}
}
catch (Exception e)
{
System.out.println("static ");
}
}
//加载静态信息
public void readstatic(InputStream is)
{
try
{
int c;
int actpicnum;//人物图片类型数目
int mappicnum;//地图图片类型数目
int vocationnum;//职业数目
//职业属性
//System.out.println("vocation");
c = is.read();
vocationnum = c;
vocation = new byte[vocationnum][6];
for(int ih = 0; ih < vocationnum; ih++)
{
for(int iw = 0; iw < 6; iw++)
{
c = is.read();
vocation[ih][iw] = (byte)c;
}
}
//System.out.println("0");
//图片偏移
c = is.read();
actpicnum = c;
actorpos = new byte[actpicnum * 12][2];
for(int ih = 0; ih < actpicnum * 12; ih++)
{
for(int iw = 0; iw < 2; iw++)
{
c = is.read();
if(c >= 128)
{
c = 128 - c;
}
actorpos[ih][iw] = (byte)c;
}
}
//System.out.println("1");
//图片位差
actpic = new byte[2][6];
for(int ih = 0; ih < 2; ih++)
{
for(int iw = 0; iw < 6; iw++)
{
c = is.read();
actpic[ih][iw] = (byte)c;
//System.out.print(" "+c);
}
//System.out.println("");
}
//System.out.println("2");
//地形修正
c = is.read();
mappicnum = c;
maprevise = new byte[2][mappicnum];
for(int ih = 0; ih < 2; ih++)
{
for(int iw = 0; iw < mappicnum; iw++)
{
c = is.read();
maprevise[ih][iw] = (byte)c;
//System.out.print(" "+c);
}
//System.out.println("");
}
//System.out.println("3");
//地形移动力修正
mappos = new byte [mappicnum][actpicnum];
for(int ih = 0; ih < mappicnum; ih++)
{
for(int iw = 0; iw < actpicnum; iw++)
{
c = is.read();
mappos[ih][iw] = (byte)c;
//System.out.print(" "+c);
}
//System.out.println("");
}
//System.out.println("4");
c = is.read();
bluenum = (byte)c;
//初始蓝方职业,等级,五行属性,
for(int ih = 0; ih < bluenum; ih++)
{
c = is.read();
blueinfo[ih][0] = (byte)c;//职业
c = is.read();
blueinfo[ih][3] = (byte)c;//等级
c = is.read();
blueinfo[ih][4] = (byte)c;//五行属性
}
}
catch(Exception e)
{
System.out.println(e+"读取静态信息失败");
}
}
//按章节读入动态信息
private void readChapterInfo(byte chapter)
{
java.io.InputStream is = null;
try
{
is = getClass().getResourceAsStream("/info/Chapter"+gameChapter+".txt");
if (is != null)
{
readchapter(is,chapter);
is.close();
}
else
{
System.out.println("load Chapter wrong");
}
}
catch (Exception e)
{
System.out.println("Chapter ");
}
}
//加载动态信息
public void readchapter(InputStream is,byte chapter)
{
try
{
//System.out.println("6666666666");
int c;
c = is.read();
MAP_MAX_WIDTH = c - 1;//地图宽
//System.out.println("MAP_MAX_WIDTH =" + MAP_MAX_WIDTH);
c = is.read();
MAP_MAX_HEIGHT = c - 1;//地图高
//System.out.println("MAP_MAX_HEIGHT =" + MAP_MAX_HEIGHT);
map = new byte[MAP_MAX_HEIGHT+1][MAP_MAX_WIDTH+1];
//System.out.println("9");
for(int ih = 0; ih <= MAP_MAX_HEIGHT; ih++)
{
for(int iw = 0; iw <= MAP_MAX_WIDTH; iw++)
{
c = is.read();
map[ih][iw] = (byte)c;//地图信息
//System.out.print(" "+map[ih][iw]);
}
//System.out.println("");
}
c = is.read();
rednum = (byte)c;//红方数量
//System.out.println("rednum = "+rednum);
redinfo = new byte[rednum][12];
for(int ih = 0; ih < rednum; ih++)//红方初始信息(类型,坐标,等级,属性)
{
for(int iw = 0; iw < 5; iw++)
{
c = is.read();
redinfo[ih][iw] = (byte)c;//人物信息
//System.out.print(""+redinfo[ih][iw]);
}
//System.out.println();
}
//System.out.println("888888888888");
//蓝方初始信息(角色编号,坐标)
for(int ih = 0; ih < bluenum; ih++)
{
for(int iw = 1; iw < 3; iw++)
{
c = is.read();
blueinfo[ih][iw] = (byte)c;
}
}
}
catch(Exception e)
{
System.out.println("");
}
}
//读取存盘记录
private void readStore(int index)
{
try
{
ByteArrayInputStream bais;
DataInputStream dis;
byte data[];
myStore = RecordStore.openRecordStore("save"+Integer.toString(index),true);
try
{
data = myStore.getRecord(2);
bais = new ByteArrayInputStream(data);
dis = new DataInputStream(bais);
// m[1] = dis.readInt();
dis.close();
}
catch (Exception ioe)
{
System.out.println(ioe + "111111");
}
myStore.closeRecordStore();
}
catch (RecordStoreException rse)
{
System.out.println(rse + "22222");
}
}
//写入存盘记录
private void writeStore(int index)
{
try
{
ByteArrayOutputStream baos;
DataOutputStream das;
byte data[];
myStore = RecordStore.openRecordStore("save"+Integer.toString(index),true);
try
{
baos = new ByteArrayOutputStream();
das = new DataOutputStream(baos);
das.writeLong(System.currentTimeMillis());
// das.writeInt(s[1]);
data = baos.toByteArray();
das.close();
}
catch (Exception ioe)
{
throw new RecordStoreException();
}
if (myStore.getNumRecords() == 0)
{
myStore.addRecord(data,0,8);
myStore.addRecord(data,8,12);
}
else
{
myStore.setRecord(1,data,0,8);
myStore.setRecord(2,data,8,12);
}
myStore.closeRecordStore();
}
catch (RecordStoreException rse)
{
//System.out.println(rse + "333633");
}
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -