📄 main.java
字号:
Score += 10;
undo = false;
}
} else {
if (MountainNum != 0 && card_index == -1) {
MountainCtr--;
}
Mountain[card_index2].SetUsed(false);
card_index = card_index2;
MountainNum++;
}
HoldCardNum = 0;
}
private void CheckComplete() throws Exception, Error {
String as[] = {
"\u8FC7\u5173", "", ""
};
int i;
for (i = 0; i < 4; i++) {
if (Pack[i][12] == null) {
break;
}
}
if (i == 4) {
DrawAll();
as[1] = Score + " \u5206\u6570";
as[2] = "" + (int)(((new Date()).getTime() - start_time) / 1000L);
if (kd.s < Score) {
kd.s = Score;
RecordStore recordstore = null;
try {
recordstore = RecordStore.openRecordStore("Klondike", false);
byte abyte0[] = new byte[2];
abyte0[0] = (byte)(Score >> 8 & 0xff);
abyte0[1] = (byte)(Score & 0xff);
recordstore.setRecord(1, abyte0, 0, abyte0.length);
recordstore.closeRecordStore();
}
catch (Exception exception) {
try {
recordstore.closeRecordStore();
}
catch (Exception exception1) { }
}
}
PopupBalloon(as, 2000, df);
quit = true;
}
}
private int GameTitle() throws Exception, Error {
byte byte0 = 0;
setSoftLabel("\u83DC\u5355", "\u9000\u51FA");
if (!reinit) {
g.lock();
g.setColor(C_BACKGROUND);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(C_TEXTCOLOR);
g.setFont(Font.getFont(64, 0, 8));
g.drawString("\u6700\u9AD8\u5206 " + kd.s, 120, 150, 1);
g.drawImage(i_sys[21], (getWidth() - i_sys[21].getWidth()) / 2, (getHeight() - 120) / 2 + 4);
g.drawImage(i_sys[22], (getWidth() - 120) / 2, getHeight() - 18 - 12);
g.unlock(true);
}
do {
Thread.sleep(30L);
synchronized (this) {
if (SoftKey1) {
byte0 = 2;
break;
}
if (KeyEnter || reinit) {
setSoftLabel("", "");
reinit = false;
g.lock();
g.setColor(C_BACKGROUND);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(C_TEXTCOLOR);
g.setFont(Font.getFont(64, 0, 16));
g.drawString("\u6D17\u724C\u4E2D", 120, 60, 1);
g.unlock(true);
Thread.sleep(1000L);
byte0 = 1;
break;
}
clearkey();
}
} while (true);
return byte0;
}
private boolean CheckRedAndBlack() {
if (VRAM[cx][cy] == null) {
return false;
}
boolean flag = true;
int i = cy;
Card card = VRAM[cx][i];
for (i++; VRAM[cx][i] != null && (flag = CheckColorAndNumber(i, card)); i++) {
card = VRAM[cx][i];
}
return flag;
}
private boolean CheckColorAndNumber(int i, Card card) {
if (card.getNum() != VRAM[cx][i].getNum() + 1) {
return false;
}
if (card.IsRed()) {
return !VRAM[cx][i].IsRed();
}
return VRAM[cx][i].IsRed();
}
private void PopupBalloon(String as[], int i, Font font) {
g.lock();
int l = (getHeight() - as.length * font.getHeight()) / 2;
for (int j = 0; j < as.length; j++) {
g.setColor(C_TEXTCOLOR);
int k = (getWidth() - font.stringWidth(as[j])) / 2;
g.fillRect(k, l + j * font.getHeight(), font.stringWidth(as[j]), font.getHeight());
g.setFont(font);
g.setColor(C_TEXTCOLOR_F);
g.drawString(as[j], k, l + j * font.getHeight() + fN_getAscent(), 0);
}
g.unlock(true);
try {
Thread.sleep(i);
}
catch (Exception exception) { }
}
protected void keyPressed(int i) {
int j = getGameAction(i);
if (i == 48) {
KeyShort = true;
} else
if (i == 42) {
KeyShort2 = true;
} else
if (i == 35) {
KeyShort3 = true;
} else
if (j == 8 || i == 53) {
if (GameMode != 0) {
KeyEnter = true;
}
} else
if (j == 1 || i == 50) {
KeyUp = true;
} else
if (j == 6 || i == 56) {
KeyDown = true;
} else
if (j == 2 || i == 52) {
KeyLeft = true;
} else
if (j == 5 || i == 54) {
KeyRight = true;
}
}
protected void keyReleased(int i) {
}
protected void keyRepeated(int i) {
}
public void setSoftLabel(String s, String s1) {
if (replay != null) {
removeCommand(replay);
}
if (soft1 != null) {
removeCommand(soft1);
}
if (soft2 != null) {
removeCommand(soft2);
}
soft1 = new Command(s, 2, 1);
addCommand(soft1);
soft2 = new Command(s1, 1, 1);
addCommand(soft2);
}
public void commandAction(Command command, Displayable displayable) {
if (GameMode == 0) {
if (command == soft1) {
Display.getDisplay(kd).setCurrent(kd.menu);
} else
if (command == soft2) {
SoftKey1 = true;
}
} else
if (GameMode == 1) {
if (command.getLabel().equals("\u6094\u724C")) {
SoftKey1 = true;
} else
if (command.getLabel().equals("\u91CD\u73A9")) {
quit = true;
GameMode = 0;
reinit = true;
} else
if (command == soft2) {
kd.Pause = true;
kd.MakeMenu();
Display.getDisplay(kd).setCurrent(kd.menu);
}
}
}
private void SetPBar(String s, boolean flag, int i, int j) {
if (flag) {
g.setColor(C_BACKGROUND);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(C_TEXTCOLOR);
g.setFont(df);
g.drawString(s, 0, df.getHeight(), 0);
}
g.setColor(C_TEXTCOLOR_F);
g.drawRect(9, 60, 102, 5);
ProgressUnit = j - i;
}
private void MovePBar(int i) {
g.setColor(C_TEXTCOLOR);
g.fillRect(10, 61, (i * 100) / ProgressUnit, 4);
}
public void paint(GraphicsEx graphicsex) {
}
public int fN_getAscent() {
return 0;
}
public int df_getDescent() {
return 10;
}
int[] getPixels(Image image) {
int i = image.getWidth();
int j = image.getHeight();
int ai[] = new int[i * j];
image.getRGB(ai, 0, i, 0, 0, i, j);
return ai;
}
Image drawPixels(int ai[], int i, int j) {
return Image.createRGBImage(ai, i, j, true);
}
Image resizeImage(Image image, int i, int j, int k) {
int l = image.getWidth();
int i1 = image.getHeight();
int ai[] = new int[i * j];
int ai1[] = getPixels(image);
if (k == 0) {
for (int j1 = 0; j1 < j; j1++) {
for (int l1 = 0; l1 < i; l1++) {
int j2 = (l1 * l) / i;
int k2 = (j1 * i1) / j;
ai[l1 + j1 * i] = ai1[j2 + k2 * l];
}
}
} else {
int k1 = (l << 13) / i;
int i2 = (i1 << 13) / j;
int ai2[] = new int[i * i1];
for (int l5 = 0; l5 < i1; l5++) {
for (int i6 = 0; i6 < i; i6++) {
int j5 = 0;
int j3 = 0;
int l3 = 0;
int l4 = 0;
int j4 = 0;
int k6 = i6 * k1 >> 13;
int i7 = (i6 + 1) * k1 >> 13;
do {
int l2 = ai1[k6 + l5 * l];
j3 += (l2 & 0xff000000) >> 24;
l3 += (l2 & 0xff0000) >> 16;
j4 += (l2 & 0xff00) >> 8;
l4 += l2 & 0xff;
j5++;
} while (++k6 <= i7 && k6 + l5 * l < ai1.length);
j3 /= j5;
l3 /= j5;
j4 /= j5;
l4 /= j5;
ai2[i6 + l5 * i] = j3 << 24 | l3 << 16 | j4 << 8 | l4;
}
}
System.out.println("Vertical resampling...");
for (int j6 = 0; j6 < i; j6++) {
for (int l6 = 0; l6 < j; l6++) {
int k5 = 0;
int k3 = 0;
int i4 = 0;
int i5 = 0;
int k4 = 0;
int j7 = l6 * i2 >> 13;
int k7 = (l6 + 1) * i2 >> 13;
do {
int i3 = ai2[j6 + j7 * i];
k3 += (i3 & 0xff000000) >> 24;
i4 += (i3 & 0xff0000) >> 16;
k4 += (i3 & 0xff00) >> 8;
i5 += i3 & 0xff;
k5++;
} while (++j7 <= k7 && j6 + j7 * i < ai2.length);
k3 /= k5;
k3 = k3 <= 255 ? k3 : 255;
i4 /= k5;
i4 = i4 <= 255 ? i4 : 255;
k4 /= k5;
k4 = k4 <= 255 ? k4 : 255;
i5 /= k5;
i5 = i5 <= 255 ? i5 : 255;
ai[j6 + l6 * i] = k3 << 24 | i4 << 16 | k4 << 8 | i5;
}
}
}
return drawPixels(ai, i, j);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -