📄 xiyou.java
字号:
else
tmp = "";
InsertName(tmp, Jiaose.s_score[Jiaose.TYPE_TOOTHY] + Jiaose.s_score[Jiaose.TYPE_PRINCESS]);
SaveOrLoad(true);
SetGameStatus(DGameStatus.GS_HIGHSCORE_INGAME);
}
else if(charoffset == 26)
{
if(s_namePos > 0)s_namePos--;
s_name[s_namePos] = 0;
}
else if(s_namePos < NAME_LEN)
{
s_name[s_namePos] = (byte) ('A'+charoffset);
s_namePos++;
}
}
}
// else if (IsKeyPressed(GK_SOFT_LEFT) )
// {
// SetMenuStatus(MS_MAINMENU);
// }
break;
case DGameStatus.GS_HIGHSCORE_INGAME:
limitCamera();
FILLSCREEN(COLOR_BLUE_WALL);
s_g.setColor(COLOR_YELLOW_BG);
s_g.setClip(0,0,PINGMUDDD.sssCHUANNN_WIDTH , PINGMUDDD.sssCHUANNN_HEIGHT);
//s_g.fillRoundRect( MS_OPTION_BG_X , INGAME_HIGHSCORE_Y, MS_OPTION_BG_W, MS_OPTION_BG_H, MS_OPTION_BG_ARC_W, MS_OPTION_BG_ARC_W);
s_g.fillRoundRect( MS_OPTION_BG_X , INGAME_HIGHSCORE_Y, MS_OPTION_BG_W, MS_OPTION_BG_H, MS_OPTION_BG_ARC_W, MS_OPTION_BG_ARC_W);
//s_g.fillRoundRect( MS_OPTION_BG_X , INGAME_HIGHSCORE_Y, MS_OPTION_BG_W, MS_OPTION_BG_H, MS_OPTION_BG_ARC_W, MS_OPTION_BG_ARC_W);
s_g.setColor(COLOR_BLUE_WALL);
//text about bg
s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GS_HIGHSCORE_W >> 1 , INGAME_HIGHSCORE_Y + 5 ,GS_HIGHSCORE_W, GS_HIGHSCORE_TITLE_H, 10, 10);
drawImageString(s_g,GetString(DWorld.STR_ID_HIGHSCORE),
PINGMUDDD.sssCHUANNN_WIDTH >> 1, INGAME_HIGHSCORE_Y + 7, FONT_HUGE, IMG_FONT_CENTER,
0);
//blue bg
s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , INGAME_HIGHSCORE_Y + 5 + GS_HIGHSCORE_TITLE_H + 3 ,GER_MENU_W, GS_HIGHSCORE_H, 10, 10);
drawImageString(s_g, GetString(DWorld.STR_ID_HIGHSCORE),
PINGMUDDD.sssCHUANNN_WIDTH >> 1, INGAME_HIGHSCORE_Y + 7, FONT_HUGE, IMG_FONT_CENTER,
0);
for(int i = s_beginIndex ; i < s_beginIndex + NAME_SHOW ; i++)
{
String name = null;
if(s_scores[i] == 0)
{
name = "" + (i + 1);
}
else
{
name = "" + (i + 1) + " " + s_names[i];
drawImageString(s_g, "" + s_scores[i],
HIGH_SCORE_SCORE_LEFT, MS_OPTION_BG_Y + 13+ MS_BOX_OFFSET_Y + (i -s_beginIndex) * HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_RIGHT,
1);
}
drawImageString(s_g, name,
HIGH_SCORE_NAME_LEFT, MS_OPTION_BG_Y + 13+ MS_BOX_OFFSET_Y + (i -s_beginIndex)* HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_LEFT,
1);
}
if (IsKeyPressed( GK_UP) )
{
s_beginIndex = changeValueLoop( --s_beginIndex , NAME_NUM - NAME_SHOW + 1 );
}
else if (IsKeyPressed(GK_DOWN) )
{
s_beginIndex = changeValueLoop( ++s_beginIndex , NAME_NUM - NAME_SHOW + 1 );
}
DrawButtons(false ,false);
if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
{
if(Jiaose.s_score[Jiaose.TYPE_TOOTHY] + Jiaose.s_score[Jiaose.TYPE_PRINCESS] > Jiaose.SCORE_LIMIT_TO_NEXT_LEVEL)
{
Jiaose.s_level ++;
Jiaose.s_levelSaved = Jiaose.s_level;
SaveOrLoad(true);
if(Jiaose.s_level == TOTAL_LEVEL)
{
SetGameStatus(DGameStatus.GS_END_GAME);
break;
}
if(Jiaose.s_level % 3 == 0)
{
SetGameStatus(DGameStatus.GS_LOAD_GAME_RES);
InitCameralStart();
break;
}
}
SetGameStatus(DGameStatus.GS_ACTION);
Jiaose.PlayAgainInit();
Jiaose.s_gameOver = false;
ClearKey();
}
break;
}
s_ctrGameStatus++;
/*
g.setClip(0 , 0 , 176 , 204);
g.setColor(0);
g.fillRect(0 , 0 , 176 , 20);
g.setColor(0xffffff);
g.drawString(" " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory() ), 5, 2 , 0);
System.gc();
//*/
shenJIIIIIIIKeyEnd();
}
catch (Exception e)
{
e.printStackTrace();
}
}
// index for menu select
public static int s_selectedIndex;
private static int changeValueLoop ( int value, int max )
{
return ( value + max ) % max;
}
private static void changeSelect(int menuLength/*, int screenLength*/)
{
if (IsKeyPressed(GK_DOWN))
{
s_selectedIndex = changeValueLoop( ++s_selectedIndex , menuLength );
}
else if (IsKeyPressed(GK_UP))
{
s_selectedIndex = changeValueLoop( --s_selectedIndex , menuLength );
}
}
//FOR LOADING LINE PRECISELY
public static final int LOADING_GAME_RES_DURANTION = 25;
public static final int LOADING_TRAILER_RES_DURANTION = 15;
public static final int LOADING_MENU_RES_DURANTION = 27;
public static final int LOADING_END_RES_DURANTION = 11;
//for create image from gli
public static final int DATA_SIZE_TMP = 5418;
//for mini version load sounds
public static boolean s_isFirstRun = true;
private static final int SLEEP_TIME = 50;
public static void InitializeActionPhase()
{
//Jiaose.s_level = 8;
try
{
if ((s_ctrGameStatus & 1) != 0)
Debug.Mem("begin: " + s_ctrGameStatus);
switch (s_ctrGameStatus)
{
case 1:
break;
case 3:
s_isPause = false;
Jiaose.s_gameOver = false;
Jiaose.InitPlayAgain();
FreeMenuRes();
FreeStringInGame();
break;
case 5:
// Jiaose.LoadGlobalData();
Debug.Mem("LoadGlobalData: " + s_ctrGameStatus);
LoadMap(Jiaose.s_level);
Debug.Mem("LoadMap: " + s_ctrGameStatus);
break;
case 7:
img_smallMap = Image.createImage("/chengsmall.png");
InitializeCamera();
break;
case 9:
Jiaose.LoadScene(Jiaose.s_level);
break;
case 11:
Donghua.LoadAnimations(Jiaose.s_sceneAnimationMask);
Jiaose.SetAnims();
for (int i = 0; i < Donghua.s_anims.length; i++)
{
if (Donghua.s_anims[i] != null && Donghua.s_anims[i].m_imageFormat == Donghua.IMAGE_FORMAT_GLI)
{
Donghua.s_anims[i].CreateScenePals();
}
}
break;
case 13:
//SheJintou(Jiaose.s_ajiaoses[0], true, true);
SheJintou(Jiaose.CAM_START_X, Jiaose.CAM_START_Y, 0, true);
InitCameralStart();
LoadStrings(DWorld.STR_BLOCK_ID_GAME);
break;
case 15:
s_menuArrow = Image.createImage("/interface.png");
break;
case 17:
s_imgFont[2] = Image.createImage("/font_11.png");
break;
case 19:
s_imgFont[1] = Image.createImage("/font_14_01.png");
break;
case 21:
s_imgFont[3] = Image.createImage("/font_10.png");
break;
case 23:
s_interfaceFromGLI = Image.createImage("/menu_interface.png");
break;
case 25:
SetGameStatus(DGameStatus.GS_ACTION);
break;
default:
System.gc();
Thread.sleep(SLEEP_TIME);
break;
}
if ((s_ctrGameStatus & 1) != 0)
Debug.Mem("end: " + s_ctrGameStatus);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void shenJIIIIIIIActionPhase()
{
if (Debug.SHOW_TIME_COST)
Debug.s_time1 = System.currentTimeMillis();
// here update AI like
Jiaose.shenJIIIIIIIPlayer();
if((s_ctrGameStatus % Jiaose.WIND_TICK_ZHEN == 0))
Jiaose.RandomWindPower();
if (Debug.SHOW_TIME_COST)
Debug.s_time1 = System.currentTimeMillis() - Debug.s_time1;
if (Debug.SHOW_TIME_COST)
Debug.s_time2 = System.currentTimeMillis();
shenJIIIIIIICamera();
if (Debug.SHOW_TIME_COST)
Debug.s_time2 = System.currentTimeMillis() - Debug.s_time2;
}
public static void DrawActionPhase()
{
if (Debug.SHOW_TIME_COST)
Debug.s_time3 = System.currentTimeMillis();
DrawMapFast(s_jingtouX, s_jingtouY);
if (Debug.SHOW_TIME_COST)
Debug.s_time3 = System.currentTimeMillis() - Debug.s_time3;
if (Debug.SHOW_TIME_COST)
Debug.s_time4 = System.currentTimeMillis();
if (Debug.SWITCH_ACTOR_AND_MAP_DRAWING)
{
if (Xiyou.IsKeyPressed(Xiyou.GK_C))
Debug.ifShowJiaoses = !Debug.ifShowJiaoses;
if (Debug.ifShowJiaoses)
Jiaose.DrawJiaosess(s_g, s_jingtouX, s_jingtouY);
}
else
{
Jiaose.DrawJiaosess(s_g, s_jingtouX, s_jingtouY);
}
if (Debug.SHOW_TIME_COST)
Debug.s_time4 = System.currentTimeMillis() - Debug.s_time4;
if (Debug.SHOW_TIME_COST)
Debug.s_time5 = System.currentTimeMillis();
//Draw interface here
DrawInterface();
if (Debug.SHOW_TIME_COST)
Debug.s_time5 = System.currentTimeMillis() - Debug.s_time5;
if (Debug.SHOW_TIME_COST)
Debug.ShowRate();
if(s_gameStatus == DGameStatus.GS_ACTION)
Jiaose.ExeGameOver();
}
//for menu
public static void InitialMenu()
{
try
{
if ((s_ctrGameStatus & 1) != 0)
Debug.Mem("begin: " + s_ctrGameStatus);
switch (s_ctrGameStatus)
{
case 1:
FreeMenuRes();
img_smallMap = null;
FreeBgHuanchong();
Donghua.FreeAnimationAndImg();
Jiaose.FreeJiaosess();
if(s_isFirstRun)
{
LoadSounds();
}
else
{
stopSound();
}
break;
case 3:
Jiaose.LoadGlobalData();
break;
case 5:
Jiaose.FreeBlood();
SaveOrLoad(false);
break;
case 7:
s_menuBg = Image.createImage("/menu_bg.png");
break;
case 9:
break;
case 11:
break;
case 13:
case 15:
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -