📄 gamescreen.java
字号:
menutitle = "Menu";
selecteditem = 1;
} else
if(menumode == 3)
{
menumode = 0;
menutitle = "Menu";
selecteditem = 4;
} else
if(menumode == 4)
{
menumode = 3;
menutitle = "HI-SCORES";
selecteditem = 0;
} else
if(menumode == 5)
{
menumode = 3;
menutitle = "HI-SCORES";
selecteditem = 1;
}
} else
if(mode == 5)
{
if(keycode == 50)
{
if(helpy < 0)
helpy += helpDY;
} else
if(keycode == 56)
{
if(helpy > -(helplen * fnsh - 136))
helpy -= helpDY;
} else
if(keycode == 53 || keycode == -6)
if(helpFromMenu)
{
mode = 4;
menumode = 0;
menutitle = "Menu";
selecteditem = 2;
} else
{
mode = mode0;
}
} else
if(mode == 8)
{
if(keycode == 53 || keycode == -6)
if(!gw.gs.hiscoresFromMenu)
{
gw.gs.startLogo();
} else
{
mode = 4;
menumode = 0;
menutitle = "Menu";
selecteditem = 4;
}
} else
if(keycode == -6)
setMenu();
else
if(keycode == -7)
{
mode0 = mode;
helpFromMenu = false;
help();
}
keycode = 0;
}
public void loadSplash()
{
cover = null;
gc();
try
{
for(int i = 0; i < 4; i++)
anisplash[i] = Image.createImage("/images/ani" + (i + 1) + ".png");
}
catch(Exception exception) { }
}
public void moveUragan()
{
uraganvx += (rnd.nextInt() & 3) - 2;
uraganvy += (rnd.nextInt() & 3) - 2;
if(uraganvx < 0)
uraganvx = 0;
else
if(uraganvx > 11)
uraganvx = 11;
if(uraganvy < 0)
uraganvy = 0;
else
if(uraganvy > 11)
uraganvy = 11;
uraganx -= uraganvx;
uragany += uraganvy;
if(uraganx < 22)
{
uraganx = 0;
uragan = false;
return;
}
if(uragany > 1386)
{
uragany = 0;
uragan = false;
return;
}
uragani = uraganx / 22;
uraganj = uragany / 22;
if(!uraganvisible)
{
if((gw.lv.flags[uraganj][uragani] & 1) == 0)
uraganvisible = true;
} else
if((gw.lv.flags[uraganj][uragani] & 1) != 0)
{
uragan = false;
uraganvisible = false;
gw.gm.calculateBuilds();
return;
}
byte byte0 = gw.lv.map[uraganj][uragani];
if(byte0 > 40)
{
gw.gm.byUragan = true;
gw.gm.destroyBuild(uragani, uraganj);
}
}
public void paint(Graphics g)
{
try {
int i = 0;
int j = 0;
if(mode == 1 && gamemode == 1)
{
i = -deltaScrX;
j = -deltaScrY;
}
g.drawImage(scr, i, j, 20);
} catch (RuntimeException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public void pfLogo()
{
try
{
logo = Image.createImage("/images/playfon.png");
scrGr.setColor(0);
scrGr.fillRect(0, 0, scrW, scrH);
scrGr.drawImage(logo, scrW >> 1, scrH >> 1, 3);
repaint();
serviceRepaints();
logo = null;
gw.gt.logotime = System.currentTimeMillis();
mode = 10;
}
catch(Exception exception) { }
}
public void setMenu()
{
sticker = false;
menumode = 0;
menutitle = "Menu";
mode = 4;
if(menumode == 0 && newGame && !hassave)
menui0 = 1;
else
menui0 = 0;
selecteditem = menui0;
if(sound && themeSnd.getState() != 400)
try
{
themeSnd.start();
}
catch(Exception exception) { }
}
public void start()
{
gw.lv.generate();
mode = 1;
gamemode = 1;
buildNum = 0;
needmap = true;
gw.gm.start();
days = 1;
uragan = false;
uraganvisible = false;
switchCountry(country);
newGame = false;
switch(gw.gm.chapter)
{
case 1: // '\001'
Strings _tmp = gw.st;
Strings _tmp1 = gw.st;
beginSplash(countryName, Strings.intro[gw.st.locint] + " " + Strings.introloc[gw.st.locint][country]);
break;
case 2: // '\002'
Strings _tmp2 = gw.st;
gw.gs.beginSplash(gw.gs.countryName, Strings.chapter2[gw.st.locint]);
break;
case 3: // '\003'
Strings _tmp3 = gw.st;
gw.gs.beginSplash(gw.gs.countryName, Strings.chapter3[gw.st.locint]);
break;
case 4: // '\004'
Strings _tmp4 = gw.st;
Strings _tmp5 = gw.st;
gw.gs.beginSplash(gw.gs.countryName, Strings.chapter4[gw.st.locint] + " " + Strings.chapter4loc[gw.st.locint][gw.gs.country]);
break;
}
}
public void startLogo()
{
mode = 6;
try
{
logo = Image.createImage("/images/logo.png");
}
catch(Exception exception) { }
logoy = scrH >> 1;
mode = 7;
}
public void startMainScreen()
{
mode = 1;
gamemode = 1;
for(int i = 0; i < 4; i++)
anisplash[i] = null;
gc();
Strings _tmp = gw.st;
String s = Strings.mission[gw.st.locint][gw.gm.mission];
if(s.length() > 0)
{
Strings _tmp1 = gw.st;
beginTicker(Strings.mission[gw.st.locint][gw.gm.mission]);
}
}
public void switchCountry(int i)
{
switch(i)
{
case 0: // '\0'
countryName = gw.st.get("America");
gw.gm.Plednik = 96;
gw.gm.Pvoda = 48;
gw.gm.Ppesok = 48;
break;
case 1: // '\001'
countryName = gw.st.get("Eurasia");
gw.gm.Plednik = 48;
gw.gm.Pvoda = 48;
gw.gm.Ppesok = 96;
break;
case 2: // '\002'
countryName = gw.st.get("Africa");
gw.gm.Plednik = 48;
gw.gm.Pvoda = 96;
gw.gm.Ppesok = 48;
break;
}
}
public static final int BT_CANCEL = 4;
public static final int BT_DOWN = 6;
public static final int BT_EMPTY = 0;
public static final int BT_LEFT = 2;
public static final int BT_OK = 1;
public static final int BT_RIGHT = 3;
public static final int BT_UP = 5;
public static final int ButW = 16;
public static final int CL_LAND = 21;
public static final int CL_OBJ = 33;
public static final int CL_U = 72;
public static final int GM_BUILD = 2;
public static final int GM_BUILDS = 5;
public static final int GM_LAND = 1;
public static final int GM_MAP = 4;
public static final int GM_STOCK = 3;
public static final int KEY_LSK = -6;
public static final int KEY_RSK = -7;
public static final int MD_COVER = 2;
public static final int MD_GAME = 1;
public static final int MD_HELP = 5;
public static final int MD_HISCORES = 8;
public static final int MD_LOGO = 7;
public static final int MD_MENU = 4;
public static final int MD_PAUSE = 6;
public static final int MD_PFLOGO = 10;
public static final int MD_PLNAME = 9;
public static final int MD_SPLASH = 3;
public static final int MM_HISCORES = 3;
public static final int MM_LOCSCORES = 4;
public static final int MM_MAIN = 0;
public static final int MM_ONHISCORES = 5;
public static final int MM_OPTIONS = 1;
public static final int MM_REGION = 2;
public static final int RESBIGW = 32;
public static final int RESW = 8;
public static final int S_W2 = 12;
public static final int SymH = 32;
public static final int SymSW = 44;
public static final int SymUW = 88;
public static final int SymW = 22;
public boolean addscores;
public static final int anicolors[] = {
0x998b64, 0xb3a375, 0xcbb985, 0xe6d197, 0xffffff, 0xe6d197, 0xcbb985, 0xb3a375
};
public Image anim;
public byte animation[] = {
0, 0, 0, 0, 0, 5, 0, 0, 3, 0,
0, 0, 7, 0, 0, 9, 0, 0, 0, 1,
11
};
public static final int aniseq[] = {
1, 2, 3, 4, 3, 2
};
public Image anisplash[];
public int buildNum;
public static final byte builds[] = {
57, 49, 53, 50, 51, 47, 48, 61, 62, 63,
56, 54, 44, 59, 46, 52, 58
};
public static final int buildsNum = 17;
public int buildsscreeny;
public Image buttons;
public static final int buttonstep = 18;
public boolean canbuild;
public Image canvabottom;
public Image canvaleft;
public Image canvaright;
public Image canvatop;
public int castlei;
public int castlej;
public static final int cb = 33;
public static final int cc = 3;
public int centerx;
public int centery;
public Image check;
public static final int clBlack = 0;
public static final int clBuild = 0xcd3434;
public static final int clCanva = 0xf5ebc9;
public static final int clCastle = 0xff0000;
public static final int clDesert = 0xfcff00;
public static final int clGrass = 0x29db00;
public static final int clLednik = 0xffffff;
public static final int clMap[] = {
0, 0x29db00, 0xfcff00, 0x18aff, 0x18aff, 0x18aff, 0xfcff00, 0x18aff, 0x18aff, 0xffffff,
0xfcff00, 0x18aff, 0x18aff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0, 0, 0,
0xffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0x20ab00, 0xa7aba4, 0xa7aba4, 0xcd3434, 0x29db00, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434,
0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434, 0xcd3434,
0xff0000, 0xcd3434, 0xcd3434, 0xcd3434
};
public static final int clOcean = 0x18aff;
public static final int clRed = 0xcd3705;
public static final int clShadow = 0;
public static final int clSkaly = 0xa7aba4;
public static final int clText = 0x2d0c01;
public static final int clText1 = 0x998b64;
public static final int clText2 = 0xb3a375;
public static final int clText3 = 0xcbb985;
public static final int clText4 = 0xe6d197;
public static final int clText5 = 0xffffff;
public static final int clTree = 0x20ab00;
public static final int clTxShadow = 0xc49942;
public static final int clWhite = 0xffffff;
public int country;
public String countryName;
public Image cover;
public static final int ct = 17;
public int cursori;
public int cursorj;
public int cursorpos;
public int cursorx;
public int cursory;
public int days;
public int deltaOff;
public int deltaScr;
public int deltaScrX;
public int deltaScrY;
public int dticker;
public boolean earthQuake;
public int earthQuakePeriod;
public int earthQuakeRifter;
boolean emptytable;
public int endTicker;
public int endsTicker;
public char enteredkey;
public Font fns;
public Font fnsb;
public int fnsh;
public int gamemode;
public Global gw;
public boolean hassave;
public int helpDY;
public boolean helpFromMenu;
public int helplen;
public static final int helpx0 = 18;
public int helpy;
public static final int helpy0 = 39;
public static final int helpyn = 175;
public boolean hiscoresFromMenu;
public int key;
public static final String keyboard[] = {
"0", "1", "ABC2", "DEF3", "GHI4", "JKL5", "MNO6", "PQRS7", "TUV8", "WXYZ9"
};
public int keycode;
public int keyi;
public int keywaitcnt;
public Image land;
public int lastkey;
public static final int lb = 36;
public boolean localhiscores;
public Image logo;
public int logoy;
public int lsticker;
public static final int lt = 20;
public static final int lticker = 24;
public String menu[][] = {
{
"Continue", "New Game", "Help", "Options", "HI-SCORES", "About", "Exit"
}, {
"Sound", "Vibration", "\u0420\u0443\u0441\u0441\u043A\u0438\u0439"
}, {
"America", "Eurasia", "Africa"
}, {
"Local", "Online"
}, {
"View", "Record"
}, {
"View", "Record"
}
};
public Image menubar;
public int menui0;
public int menulen;
public int menumode;
public String menutitle;
public int mode;
public int mode0;
public boolean needmap;
public boolean newGame;
boolean noconnection;
public Image objects;
public Image people;
public static final int peopleDX = 2;
public static final int peopleW = 12;
public String playerName;
public static final int rb = 40;
public static final int resDX = 32;
public Image resources;
public Image resourcesbig;
public Random rnd;
public static final int rsticker = 172;
public static final int rt = 24;
public static final int rticker = 152;
public Image scr;
public Graphics scrGr;
public int scrH;
public int scrW;
public int selecteditem;
public boolean sound;
public String spText;
public String spTitle;
public int splashPhase;
public String stText;
public boolean sticker;
public int stockicony;
public Player themeSnd;
public boolean uragan;
public Image uraganImg;
public int uragani;
public int uraganj;
public boolean uraganvisible;
public int uraganvx;
public int uraganvy;
public int uraganx;
public int uragany;
public boolean vibration;
public String winners[];
public String winnumbers[];
public String winscores[];
public int xTicker;
public int xbuttons;
public int xsTicker;
public int ybuttons;
public int ysticker;
public static final int yticker = 158;
public static final int ytitle = 6;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -