📄 xiyou.java
字号:
for(int i = 0 ; i < 28 ; i++)
{
if(i == 26)
{
s_g.setClip(MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 7, INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP, 11, 12);
s_g.drawImage(s_menuArrow , MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 44 - 7 , INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 32 , 0);
continue;
}
if(i == 27)
{
s_g.setClip(MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 7, INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP , 17, 18);
s_g.drawImage(s_menuArrow , MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 32 - 7 , INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 44 , 0);
break;
}
drawImageString(s_g, "" +(char) ('A' + i),
MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP, INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP, FONT_MEDIUM, IMG_FONT_CENTER,
1);
}
if(s_namePos != 0 && s_name != null)
{
String temp = new String(s_name , 0 , s_namePos);
drawImageString(s_g, temp,
MS_CHAR_OFFSET_X , INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y + 4* MS_CHAR_STEP + MS_NAME_OFFSET_Y, FONT_MEDIUM, IMG_FONT_LEFT,
1);
}
//indicator
DrawArrow(s_enterNameX - 7 , s_enterNameY , ARROW_INDICATOR , false);
//s_g.setClip(s_enterNameX - 7 , s_enterNameY , 13, 13);
// s_g.drawImage(s_menuArrow , s_enterNameX - 32 - 7, s_enterNameY - 31 , 0);
MoveIndicator(MS_CHAR_OFFSET_X , INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y , (MS_CHAR_NUM_LINE - 1) * MS_CHAR_STEP , MS_CHAR_STEP * 3);
DrawButtons(false ,false);
if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
{
int charoffset = CalChar(s_enterNameX , s_enterNameY , INGAME_HIGHSCORE_Y + MS_CHAR_OFFSET_Y);
if(charoffset != NO_CHAR)
{
if (charoffset == 27)
{
String tmp;
if(s_namePos != 0)
{
tmp = new String(s_name, 0, s_namePos);
}
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();
DrawActionPhase();
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 = 0 ; i < NAME_NUM ; 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 + MS_BOX_OFFSET_Y + i * HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_RIGHT,
1);
}
drawImageString(s_g, name,
HIGH_SCORE_NAME_LEFT, MS_OPTION_BG_Y + MS_BOX_OFFSET_Y + i * HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_LEFT,
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_LOAD_END_RES);
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();
//*/
}
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
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:
s_loadingP = Image.createImage("/loading.png");
FreeBgHuanchong();
Jiaose.FreeBlood();
Jiaose.FreeActos();
break;
case 3:
Jiaose.s_isTralier = false;
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:
InitializeBgHuanchong();
InitSmallMap();
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:
s_loadingP = null;
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();
}
//the tralier before loading into mainmenu
public static final int TEST_SCENE_INDEX = 9;
public static final int PRELUDE_SCENE_INDEX = 10;
public static void InitializePrelude()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -