sysMap.java
/************************************************************************
sysMap.java VXe}bv
Xc_μ ½¬PPNUPXϊ
**************************************************************************/
import java.awt.*;
import java.util.*;
import mapdata;
import cellbom2;
public class sysMap extends Canvas
{
private int gi_mapsizeX,gi_mapsizeY; //ζΚΜTCY
private MediaTracker g_Mediatrack; //fBAΔbJ[
static final int gi_MT_ID = 1;
private Image gI_Mapfont[];
private final int gi_MapFontNo = 7;
private mapdata g_MapData;
private cellbom2 g_cellbom2;
private int gi_Row;
private int gi_Col;
private int gi_Anime =0;
private Image g_offscreanImage; //ItXN[
private Graphics g_offscreanGC;
private int baseboxs[][][]; //ζΚΜξρ
private boolean gbReqRedraw;
private final String gstr_Path = "../image";
private final String gstr_fontname[] =
{
"/cell_1.GIF","/cell_2.GIF","/cell_3.gif",
"/gan_1.GIF","/gan_2.GIF","/gan_3.gif",
"/kenbikyo.JPG",
};
private final int gi_CELL_1 = 0;
private final int gi_CELL_2 = 1;
private final int gi_CELL_3 = 2;
private final int gi_GAN_1 = 3;
private final int gi_GAN_2 = 4;
private final int gi_GAN_3 = 5;
private final int gi_HAIKEI = 6;
public sysMap(int sizex,int sizey)
{
gi_mapsizeX = sizex;
gi_mapsizeY = sizey;
g_MapData = new mapdata();
g_cellbom2 = new cellbom2();
gi_Row = g_MapData.getMapRow();
gi_Col = g_MapData.getMapCol();
g_offscreanGC = null;
gI_Mapfont = new Image[gi_MapFontNo];
for (int i = 0;i<gi_MapFontNo;i++)
{
gI_Mapfont[i] = null;
}
g_Mediatrack = new MediaTracker(this);
gbReqRedraw = true;
resize(gi_mapsizeX,gi_mapsizeY);
//{{REGISTER_LISTENERS
//}}
}
/**
* }bvtHgΜζΎ
*/
public int GetMapFontNo()
{
return gi_MapFontNo;
}
/**
* t@CΌζΎ
*/
public String GetFileName(int i)
{
return gstr_Path + gstr_fontname[i];
}
/**
* }bvtHgπZbg
*/
public void SetMapFont(int i,Image font)
{
if (i<gi_MapFontNo)
{
gI_Mapfont[i] = font;
}
}
/**
* fBAgbJ[ΦΗΑ
*/
public void AddMediaImage(Image font)
{
g_Mediatrack.addImage(font,gi_MT_ID);
}
/**
* fBAgbJ[πn·
*/
public MediaTracker GetMediaTracker()
{
return g_Mediatrack;
}
/**
* ItXN[ΙANZX
*/
public void SetOffCG(Image fint)
{
g_offscreanImage = fint;
if (g_offscreanImage != null)
{
g_offscreanGC = g_offscreanImage.getGraphics();
}
}
/**
* ..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
* ζΚ`Κ\bh
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
*/
public void paint(Graphics g)
{
// System.out.println( "--- paint ---");
if (g_Mediatrack.checkID(gi_MT_ID))
{
if (g_Mediatrack.isErrorID(gi_MT_ID))
{
g.drawString("LOADING ERROR!!",100,100);
return;
}
if (g_offscreanImage != null)
{
DrawToOffscrean(g_offscreanGC);
g.drawImage(g_offscreanImage,0,0,this);
}
else
{
DrawToOffscrean(g);
}
gi_Anime++;
if (gi_Anime==3)
{
gi_Anime = 0;
}
}
else
{
g.drawString("NOW LOADING",100,100);
}
}
/**
* ..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
* ItXN[Φ`Κ
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
*/
public void DrawToOffscrean(Graphics g)
{
HotInitialize();
for (int x=0;x<20;x++)
{
for (int y=0;y<20;y++)
{
drowBoll(g,x,y);
}
}
}
/**
* ..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
* ζΚΜXV
* ..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
*/
public void update(Graphics g)
{
paint(g);
}
/**
* ..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
* canvasΜ}EXCxg
* ..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
*/
public boolean mouseDown(Event ent,int x,int y)
{
//System.out.println( "--- mouseDown ---");
baseboxs = g_cellbom2.cellbom2_MouseClicked(x,y,baseboxs);
return true;
}
/**
*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
*@Δ`Κ
*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*..*.:'KK':..*
*/
public boolean IsReqRedrow()
{
return gbReqRedraw;
}
/**
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
* }bvf[^©ηXe[Wf[^ζΎ
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
*/
public int[][][] setstage(int i)
{
//System.out.println( "--- setstage ---");
int stage[][][] = new int[3][20][20];
for (int x=0;x<20;x++)
{
for (int y=0;y<20;y++)
{
stage[0][x][y] = g_MapData.getMapChar(x,y,i)-48;
// System.out.print( stage[0][x][y]);
}
//System.out.println("");
}
return stage;
}
/**
* cellbom2.java©ηζΚξρπΚ·
*
*/
public void setbackstage(int base[][][])
{
// System.out.println( "--- setbackstage ---");
baseboxs = new int[3][20][20];
baseboxs = base;
}
/**
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
* ζΚΜf[^πn·
*..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':..*.:'KK':
*/
public int[][][] passBase()
{
return baseboxs;
}
/**
* ζΚΜϊ»
*
*/
public void HotInitialize()
{
// System.out.print( "--- HotInitialize ---");
g_offscreanGC.drawImage(gI_Mapfont[gi_HAIKEI],0,0,this);
gbReqRedraw = false;
}
/**
* {[Μ»Κ
*
*/
private void drowBoll(Graphics g,int x,int y)
{
// System.out.println( "--- drowBoll ---");
int masuX,masuY;
masuX = x*16+40;
masuY = y*16+40;
if ( baseboxs[0][x][y]==1)
{
//System.out.println("aaaa");
switch (gi_Anime)
{
case 0:
g.drawImage(gI_Mapfont[gi_CELL_1],masuX,masuY,this);
break;
case 1:
g.drawImage(gI_Mapfont[gi_CELL_2],masuX,masuY,this);
break;
case 2:
g.drawImage(gI_Mapfont[gi_CELL_3],masuX,masuY,this);
break;
default:
g.drawImage(gI_Mapfont[gi_CELL_1],masuX,masuY,this);
break;
}
}
else if( baseboxs[0][x][y]==2)
{
// System.out.println("bbbb");
switch (gi_Anime)
{
case 0:
g.drawImage(gI_Mapfont[gi_GAN_1],masuX,masuY,this);
break;
case 1:
g.drawImage(gI_Mapfont[gi_GAN_2],masuX,masuY,this);
break;
case 2:
g.drawImage(gI_Mapfont[gi_GAN_3],masuX,masuY,this);
break;
default:
g.drawImage(gI_Mapfont[gi_GAN_1],masuX,masuY,this);
break;
}
}
}
}
cellbom2.java
mapdata.java
CtQ[
ίι
gbvΦ