📄 titlegame.java
字号:
{
case 2: // '\002'
titleMode = 0;
break;
case 0: // '\0'
titleMode = 1;
break;
case 1: // '\001'
titleMode = 10;
initLevel();
break;
case 10: // '\n'
titleMode = 20;
initLevel();
break;
}
numTime = 0;
}
} else
if(titleMode == 90)
{
if(showNextPlayer)
{
showNextPlayer = false;
realEnd = false;
levelFinish = 2;
}
} else
if(keyCode == -7 || keyCode == 55)
switch(titleMode)
{
case 60: // '<'
titleMode = 20;
selectNewGame = 2;
break;
case 30: // '\036'
titleMode = 20;
if(showTrue)
selectNewGame = 0;
else
selectNewGame = 1;
break;
case 20: // '\024'
if(!showMenu)
{
selectMenu = 0;
showMenu = true;
} else
{
showMenu = false;
}
break;
}
else
if(keyCode == -6 || gameAction == 8)
switch(titleMode)
{
case 20: // '\024'
if(showMenu)
{
if(selectMenu == 0)
{
playExit = true;
if(parent.playSound == 5)
try
{
gameMusic.close();
}
catch(Exception ex) { }
parent.notifyDestroyed();
} else
{
showMenu = false;
}
} else
{
switch(selectNewGame)
{
case 0: // '\0'
titleMode = 30;
selectNewGame = 0;
showTrue = true;
break;
case 1: // '\001'
if(loadStage() == 1)
{
levelFinish = 2;
} else
{
titleMode = 30;
selectNewGame = 0;
showTrue = true;
}
break;
case 2: // '\002'
titleMode = 60;
selectNewGame = 0;
break;
}
}
break;
case 30: // '\036'
if(!playerLock[selectNewGame])
if(showTrue)
{
startLine = -6;
titleMode = 40;
loadSound(1, true);
showTrue = false;
} else
{
levelFinish = 2;
}
break;
case 40: // '('
levelFinish = 2;
break;
case 60: // '<'
if(selectNewGame == 0)
{
if(parent.playSound == 5)
parent.playSound = 0;
else
parent.playSound = 5;
if(parent.playSound > 0)
{
try
{
gameMusic.start();
}
catch(Exception ex) { }
SeReg.Save("sound.dat", "" + parent.playSound);
} else
{
try
{
gameMusic.stop();
}
catch(Exception ex) { }
SeReg.Save("sound.dat", "" + parent.playSound);
}
} else
if(selectNewGame == 1)
{
try
{
gameMusic.stop();
}
catch(Exception ex) { }
parent.setDisplayable(new Instruction("????????", parent, this));
}
break;
}
else
if(gameAction == 1)
switch(titleMode)
{
case 20: // '\024'
if(showMenu)
selectMenu -= selectMenu <= 0 ? 0 : 1;
else
selectNewGame -= selectNewGame <= 0 ? 0 : 1;
break;
case 60: // '<'
selectNewGame = 1 - selectNewGame;
break;
}
else
if(gameAction == 6)
switch(titleMode)
{
case 20: // '\024'
if(showMenu)
selectMenu += selectMenu >= 1 ? 0 : 1;
else
selectNewGame += selectNewGame >= 2 ? 0 : 1;
break;
case 60: // '<'
selectNewGame = 1 - selectNewGame;
break;
}
else
if(gameAction == 2)
switch(titleMode)
{
case 30: // '\036'
selectNewGame -= selectNewGame <= 0 ? -2 : 1;
break;
}
else
if(gameAction == 5)
switch(titleMode)
{
case 30: // '\036'
selectNewGame += selectNewGame >= 2 ? -2 : 1;
break;
}
}
public void run()
{
while(running)
{
processNext();
if(!playExit)
{
repaint();
serviceRepaints();
}
try
{
Thread.sleep(10L);
}
catch(InterruptedException ioe) { }
}
}
protected void showNotify()
{
if(titleMode >= 10 && parent.playSound > 0)
try
{
gameMusic.start();
}
catch(Exception ex) { }
mainGame = null;
running = true;
(new Thread(this)).start();
}
protected void hideNotify()
{
if(gameMusic != null)
try
{
gameMusic.stop();
}
catch(Exception ex) { }
running = false;
}
private void drawThai(Graphics g, String text, int x, int y, int type, int center, int numClip,
boolean clip)
{
if(text == null)
return;
char tempch[] = new char[text.length()];
int addX = 0;
int addY = 0;
int startX = x;
tempch = text.toCharArray();
int length = text.length();
if(center != 0)
{
int tempWidth = 0;
for(int i = 0; i < length; i++)
{
int code;
if(tempch[i] < '\u0E01')
code = tempch[i] - 31;
else
code = (tempch[i] - 3584) + 129;
tempWidth += ADD_FONT[code - 1];
}
if(center == 2)
startX -= tempWidth >> 1;
else
if(center == 4)
startX -= tempWidth;
else
startX = x;
}
for(int i = 0; i < length; i++)
{
int code;
if(tempch[i] < '\u0E01')
{
addX = 0;
code = tempch[i] - 31;
if(type == 0)
{
if(numClip == 1)
g.setClip(0, 70, 176, 68);
else
if(numClip == 2)
g.setClip(0, 42, 176, 75);
thaiFontB.drawImage(g, startX + addX, y, tempch[i] - 31, clip);
} else
if(type == 1)
{
if(numClip == 1)
g.setClip(0, 70, 176, 68);
else
if(numClip == 2)
g.setClip(0, 42, 176, 75);
thaiFontW.drawImage(g, startX + addX, y, tempch[i] - 31, clip);
}
startX += ADD_FONT[code - 1];
continue;
}
code = (tempch[i] - 3584) + 129;
if(code >= 201 && code <= 206)
{
if(i + 1 < length && tempch[i + 1] - 3584 == 51)
addY = 0;
if(i - 1 >= 0 && (code == 201 || code == 204))
{
if(tempch[i - 1] - 3584 == 27 || tempch[i - 1] - 3584 == 29)
addX -= 2;
if(tempch[i - 1] - 3584 == 31)
addX--;
if((tempch[i - 1] - 3584 == 50 || tempch[i - 1] - 3584 >= 53 && tempch[i - 1] - 3584 <= 59) && i - 2 >= 0)
{
if(tempch[i - 2] - 3584 == 27 || tempch[i - 2] - 3584 == 29)
addX -= 2;
if(tempch[i - 2] - 3584 == 31)
addX--;
}
}
} else
if(code == 178 || code >= 181 && code <= 188 || code >= 200 && code <= 208)
{
addY = 0;
} else
{
addY = 0;
addX = 0;
if(code == 180)
startX -= 3;
}
if(type == 0)
{
if(numClip == 1)
g.setClip(0, 70, 176, 68);
else
if(numClip == 2)
g.setClip(0, 42, 176, 75);
thaiFontB.drawImage(g, startX + addX, y + addY, code, clip);
} else
if(type == 1)
{
if(numClip == 1)
g.setClip(0, 70, 176, 68);
else
if(numClip == 2)
g.setClip(0, 42, 176, 75);
thaiFontW.drawImage(g, startX + addX, y + addY, code, clip);
}
if(code >= 201 && code <= 206)
continue;
if(code >= 185 && code <= 187)
{
addY = 2;
continue;
}
if(code == 178 || code >= 181 && code <= 188 || code >= 200 && code <= 208)
continue;
if(code > 129 && code < 225)
{
startX += ADD_FONT[code - 1];
addX = -ADD_FONT[code - 1];
addY = 2;
} else
{
startX += 6;
addX = -6;
addY = 2;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -