📄 bobble.java~3~
字号:
package com.whkjava.popo;/** * <p>Title: KMPoPo</p> * <p>Description: KMPoPo</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author HUAKUI_WANG * @version 1.0 */import java.util.Random;public final class Bobble{ public static int aX; public static int aY; public static int aM; public static int aN; public static int nA; public static int mD; public static int aA[]; private static int cX; private static int cY; private static int bX; private static int bY; private static int cL; private static int aG; private static Random rA; public static final int CO[] = { -994, -984, -970, -951, -927, -898, -866, -829, -788, -743, -694, -642, -587, -529, -469, -406, -342, -275, -207, -139, -69, 0, 69, 139, 207, 275, 342, 406, 469, 529, 587, 642, 694, 743, 788, 829, 866, 898, 927, 951, 970, 984, 994 }; public static final int SI[] = { -104, -173, -241, -309, -374, -438, -499, -559, -615, -669, -719, -766, -809, -848, -882, -913, -939, -961, -978, -990, -997, -1000, -997, -990, -978, -961, -939, -913, -882, -848, -809, -766, -719, -669, -615, -559, -499, -438, -374, -309, -241, -173, -104 }; public Bobble() { } private static int gA() { sCk(); if(cL == 32) cL = 1; int i; do i = (rA.nextInt() >>> 1) % 6 + 1; while((cL & 1 << i - 1) == 0); return i; } private static void sbA() { boolean flag = false; boolean flag1 = false; boolean flag2 = false; for(int i4 = 0; i4 < 10; i4++) { int l3 = 0; if(aA[5 + 6 * i4] == -1) l3 = 1; for(int j4 = 0; j4 < 6; j4++) { int j = j4 + 6 * i4; int i = aA[j] & 0xf; if(aA[j] > 0 && i > 0) if(j4 == 0) { int k = aA[j + 1] & 0xf; if(k > 0) aA[j] = aA[j] | 0x40000; if(k == i) aA[j] = aA[j] | 0x400; if(i4 != 9) { int l = aA[j + 6 + l3] & 0xf; if(l > 0) aA[j] = aA[j] | 0x80000; if(l == i) aA[j] = aA[j] | 0x800; if(l3 > 0) { int i1 = aA[j + 6] & 0xf; if(i1 > 0) aA[j] = aA[j] | 0x100000; if(i1 == i) aA[j] = aA[j] | 0x1000; } } if(i4 > 0) { int j1 = aA[(j - 6) + l3] & 0xf; if(j1 > 0) aA[j] = aA[j] | 0x20000; if(j1 == i) aA[j] = aA[j] | 0x200; if(l3 > 0) { int k1 = aA[j - 6] & 0xf; if(k1 > 0) aA[j] = aA[j] | 0x10000; if(k1 == i) aA[j] = aA[j] | 0x100; } } } else if(l3 > 0 && j4 == 4 || l3 == 0 && j4 == 5) { int l1 = aA[j - 1] & 0xf; if(l1 > 0) aA[j] = aA[j] | 0x200000; if(l1 == i) aA[j] = aA[j] | 0x2000; if(i4 != 9) { int i2 = aA[j + 5 + l3] & 0xf; if(i2 > 0) aA[j] = aA[j] | 0x100000; if(i2 == i) aA[j] = aA[j] | 0x1000; if(l3 > 0) { int j2 = aA[j + 6 + l3] & 0xf; if(j2 > 0) aA[j] = aA[j] | 0x80000; if(j2 == i) aA[j] = aA[j] | 0x800; } } if(i4 > 0) { int k2 = aA[(j - 7) + l3] & 0xf; if(k2 > 0) aA[j] = aA[j] | 0x10000; if(k2 == i) aA[j] = aA[j] | 0x100; if(l3 > 0) { int l2 = aA[(j - 6) + l3] & 0xf; if(l2 > 0) aA[j] = aA[j] | 0x20000; if(l2 == i) aA[j] = aA[j] | 0x200; } } } else { int i3 = aA[j + 1] & 0xf; if(i3 > 0) aA[j] = aA[j] | 0x40000; if(i3 == i) aA[j] = aA[j] | 0x400; i3 = aA[j - 1] & 0xf; if(i3 > 0) aA[j] = aA[j] | 0x200000; if(i3 == i) aA[j] = aA[j] | 0x2000; if(i4 != 9) { int j3 = aA[j + 6 + l3] & 0xf; if(j3 > 0) aA[j] = aA[j] | 0x80000; if(j3 == i) aA[j] = aA[j] | 0x800; j3 = aA[j + 5 + l3] & 0xf; if(j3 > 0) aA[j] = aA[j] | 0x100000; if(j3 == i) aA[j] = aA[j] | 0x1000; } if(i4 > 0) { int k3 = aA[(j - 6) + l3] & 0xf; if(k3 > 0) aA[j] = aA[j] | 0x20000; if(k3 == i) aA[j] = aA[j] | 0x200; k3 = aA[(j - 7) + l3] & 0xf; if(k3 > 0) aA[j] = aA[j] | 0x10000; if(k3 == i) aA[j] = aA[j] | 0x100; } } } } } //初始化 public static void init() { cL = 0; aG = 0; rA = new Random(); aA = new int[66]; nA = 0; int j = 11; for(int i = 0; i < 66; i++) { if(i < 18) { aA[i] = (rA.nextInt() >>> 1) % 3 + 1; nA++; } else { aA[i] = 0; } if(i == j) { if(aA[i] != 0) nA--; aA[i] = -1; j += 12; } } sbA(); aN = gA(); } public static void sAID() { aX = 24; aY = 80; cX = aX * 1000; cY = aY * 1000; aM = aN; aN = gA(); } public static int move() { byte byte0 = 2; int k = CO[mD]; int l = SI[mD]; cX += 1 * k; cY += 1 * l; aX = cX / 1000; aY = cY / 1000; bY = aY / 8; int i; if(aA[5 + 6 * bY] == -1) { i = 1; bX = (aX - 4) / 8; } else { i = 0; bX = aX / 8; } int j = bX + 6 * bY; if(mD != 21 && (bX > 0 && bX < 5 - i && aA[j - 1] > 0 && aA[j + 1] > 0 || i == 0 && bX == 0 && aA[j + 1] > 0 || i == 0 && bX == 5 && aA[j - 1] > 0)) { aA[j] = aM; sbA(); nA++; return 0; } int i1 = aX + 1; int j1 = aX - 1; int k1 = 45; byte byte1 = 3; if(i1 > k1 || j1 < byte1) { if(i1 > k1) aX = k1; if(j1 < byte1) aX = byte1 + 1; mD = 42 - mD; k = CO[mD]; l = SI[mD]; byte0 = 1; } if(aY - 1 < 7) { aY = 4; bY = aY / 8; if(aA[5 + 6 * bY] == -1) bX = (aX - 4) / 8; else bX = aX / 8; j = bX + 6 * bY; aA[j] = aM; sbA(); nA++; return 0; } j = bX + 6 * bY; int l1 = (cY + 1 * l) / 1000 / 8; int i2; if(aA[5 + 6 * l1] == -1) i2 = ((cX + 1 * k) / 1000 - 4) / 8; else i2 = ((cX + 1 * k) / 1000 - 0) / 8; int j2 = i2 + 6 * l1; if(aA[j2] > 0) { if(aA[j] == -1) { if(aA[j - 1] > 0) { bY++; aA[j + 6] = aM; } else { bX--; aA[j - 1] = aM; } } else { aA[j] = aM; } sbA(); nA++; return 0; } if(j2 > 0 && j2 < 59) { if((j + 1) % 6 == 0 || j % 6 == 0) return byte0; if(mD == 21 && (aA[j2 - 1] > 0 || aA[j2] > 0)) { if(aA[5 + 6 * bY] == -1 && j2 == (j - 6) + 1 || aA[5 + 6 * bY] != -1 && j2 == j - 6) { aA[j] = aM; sbA(); nA++; return 0; } } else if(mD > 21 && aA[j2] > 0) { if(aA[5 + 6 * bY] == -1 && j2 == (j - 6) + 1 || aA[5 + 6 * bY] != -1 && j2 == j - 6) { aA[j] = aM; sbA(); nA++; return 0; } } else if(mD > 21 && aA[j2 - 1] > 0 && aA[j + 1] > 0) { if(aA[5 + 6 * bY] == -1 && j2 == (j - 6) + 1 || aA[5 + 6 * bY] != -1 && j2 == j - 6) { aA[j] = aM; sbA(); nA++; return 0; } } else if(mD > 21 && aA[j2 - 1] > 0 && aA[j2 + 1] > 0) { if(aA[5 + 6 * bY] == -1 && j2 == (j - 6) + 1 || aA[5 + 6 * bY] != -1 && j2 == j - 6) { aA[j2] = aM; bY = l1; bX = i2; sbA(); nA++; return 0; } } else if(mD < 21 && aA[j2] > 0) { if(aA[5 + 6 * bY] == -1 && j2 == j - 6 || aA[5 + 6 * bY] != -1 && j2 == j - 6 - 1) { aA[j] = aM; sbA(); nA++; return 0; } } else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -