📄 lines.java
字号:
}// ----------------------------------------------------------------------- public void processMouseEvent(MouseEvent mouseevent) { int i1 = mouseevent.getID(); if(!mouseevent.isPopupTrigger()) if(i1 == MouseEvent.MOUSE_PRESSED&&mouseevent.getButton()==MouseEvent.BUTTON1) { //System.out.println("鼠标左键按下"); if(mouseDown(mouseevent.getX(), mouseevent.getY())) return; } else if(i1 == 502 && mouseMove(mouseevent.getX(), mouseevent.getY())) return; super.processMouseEvent(mouseevent); }// ----------------------------------------------------------------------- private int g(char c1) { if(c1 == '0') return 0; if(c1 == '1') return 1; if(c1 == '2') return 2; if(c1 == '3') return 3; if(c1 == '4') return 4; if(c1 == '5') return 5; if(c1 == '6') return 6; if(c1 == '7') return 7; if(c1 == '8') return 8; return c1 != '9' ? 0 : 9; }// ----------------------------------------------------------------------- public String[][] getParameterInfo() { return D; } //返回资源集 public ResourceBundle getResourceBundle() { if(bundle == null) { bundle = ResourceBundle.getBundle("lines"); } return bundle; } //在资源文件中获取键值 public String getString(String key) { String value = null; try { value = getResourceBundle().getString(key); } catch (MissingResourceException e) { System.out.println("java.util.MissingResourceException: 没有找到" + key + "值."); } if(value == null) { value = "不能找到资源: " + key + "."; } return value; }// ----------------------------------------------------------------------- public Lines() { //构造函数// driver ="com.sybase.jdbc2.jdbc.SybDriver";// url = "jdbc:sybase:Tds:172.16.1.1:2638?charset=eucgb";// username="dba";// password="sql"; driver = getString("driver"); url = getString("url"); username= getString("username");; password= getString("password");; Code = false; getName = false; getX = null; contains = false; Z = null; drawImage = null; getGreen = null; setCursor = null; clipRect = null; sqrt = null; getGraphics = null; getFont = null; Serif = null; getSize = null; getFontMetrics = 0; setFont = 0; getHeight = 0; black = 0; setColor = 0; white = null; create = null; createImage = 0; I = new int[9][9]; getDescent = new int[9][9]; dispose = new int[9][9]; getY = 0; getMaxAscent = new int[9][9]; length = 0; round = 0; getBlue = new int[9][9]; trim = null; toCharArray = null; getRed = null; x = null; darker = null; cellColor = null; drawLine = false; repaint = false; y = false; getMaxDescent = new Rectangle(0, 0, 0, 0); isPopupTrigger = 0; fillRect = false; brighter = false; isPlain = false; isShowHero = false; isHideHero = true; A = false; B = null; C = null; Score = 0; heroTable = new String[4][10]; for(int i=0;i<4;i++) for(int j=0;j<10;j++) heroTable[i][j]=""; }// ----------------------------------------------------------------------- public void destroy() { contains = true; getX = null; }//--------------------------------------------------------------------------------------- private void createInfoImage(Graphics g, String str, int value, int j1, int left, int w, int top) { //创建游戏信息标签及信息 //游戏次数和最高记录等 //s1:标签标题,i1:信息值,k1:左上角x,i2:左上角y,l1:宽 if(g == null) return; Font font = g.getFont(); if(!font.isPlain()) { font = new Font(font.getName(), 0, font.getSize()); g.setFont(font); } FontMetrics fontmetrics = g.getFontMetrics(font); //标签标题 g.setColor(darker); int j2 = fontmetrics.getMaxAscent(); g.fillRect(left, top - 2 - j2, (w - left) + 1, j2 + fontmetrics.getMaxDescent() + 5); g.setColor(Color.black); g.drawString(str, left, top); //信息值 String s2 = String.valueOf(value); g.drawString(s2, w - fontmetrics.stringWidth(s2), top); }//---------------------------------------------------------------------------------------- private int randbetwen(int i1, int j1) { //生成i1,j1之间的一个随机整数 return (int)(Math.random() * (double)((j1 - i1) + 1)) + i1; }// ----------------------------------------------------------------------- private char j(int i1) { //从个位开始计算6位分值的每一位字符 //System.out.println(i1); switch(i1) { case 0: // '\0' return '0'; case 1: // '\001' return '1'; case 2: // '\002' return '2'; case 3: // '\003' return '3'; case 4: // '\004' return '4'; case 5: // '\005' return '5'; case 6: // '\006' return '6'; case 7: // '\007' return '7'; case 8: // '\b' return '8'; case 9: // '\t' return '9'; } return '0'; }// ----------------------------------------------------------------------- private void initImage() { //初始化游戏界面图像:空白图像\精灵图像\背景图像、按钮图像等 byte byte0 = 39; int ai[][][] = new int[byte0][byte0][4]; getGreen = r(ai); setCursor = createImage(39, 39); create = new Image[7]; white = new Image[7][5]; //初始化精灵图象 int l1 = 0; do { Color color = new Color(stringWidth[l1 + 1]); create[l1] = L(drawString[4], color, ai, true); //创建l1号精灵图像 int i1 = 0; do white[l1][i1] = L(drawString[i1], color, ai, false); while(++i1 < 5); //空白图像??? } while(++l1 < 7); heroButton = new Image[2]; //创建排行榜按钮图像 heroButton[0] = createButton(96, 24, "排行榜", darker, false); heroButton[1] = createButton(96, 24, "排行榜", darker, true); clipRect = new Image[2]; //新游戏按钮图像 clipRect[0] = createButton(96, 24, "新游戏", darker, false); clipRect[1] = createButton(96, 24, "新游戏", darker, true); getGraphics = new Image[2]; //撤消按钮图像 getGraphics[0] = createButton(96, 24, "撤消", darker, false); getGraphics[1] = createButton(96, 24, "撤消", darker, true); Serif = createButton(96, 24, "000000", darker, false); drawImage.setColor(darker); drawImage.fillRect(0, 0, width, height); //填充背景 int i2 = 0; do { int j2 = 0; do drawCell(i2, j2); while(++j2 < 9); } while(++i2 < 9); drawImage.setColor(Color.black); i2 = 11; for(int j1 = 0; j1 <= 9; j1++) { drawImage.drawLine(i2, 369, i2, 9); i2 += 40; } //画垂直线 int k2 = 9; for(int k1 = 0; k1 <= 9; k1++) { drawImage.drawLine(11, k2, 371, k2); k2 += 40; } //画水平线 //画按钮 sqrt = new Rectangle(392, 341, 96, 24); drawImage.drawImage(clipRect[0], sqrt.x, sqrt.y, this); getFont = new Rectangle(sqrt.x, sqrt.y - 8 - 24, 96, 24); drawImage.drawImage(getGraphics[0], getFont.x, getFont.y, this); hero = new Rectangle(392, 276, 96, 24); drawImage.drawImage(heroButton[0], hero.x, hero.y, this); getSize = new Rectangle(392, 15, 96, 24); drawImage.drawImage(Serif, getSize.x, getSize.y, this); }// ----------------------------------------------------------------------- private int l() { min = 0; int j1 = 0; //统计空位数目min do { int l1 = 0; do { dispose[j1][l1] = 0; //? if(W(j1, l1)) //j1行l1列处是否有精灵有为false,无为true min++; } while(++l1 < 9); } while(++j1 < 9); int j2 = min <= 3 ? min : 3; //j2为3和min中最小值 for(int i1 = 0; i1 < j2; i1++) { int k2 = randbetwen(1, 7); int k1 = randbetwen(0, 8); int i2; for(i2 = randbetwen(0, 8); I[k1][i2] != 0 || dispose[k1][i2] != 0;) if(++k1 >= 9) { k1 = 0; if(++i2 >= 9) i2 = 0; } dispose[k1][i2] = k2; drawCell(k1, i2); M(k1, i2); } return j2; }// ----------------------------------------------------------------------- private int m() { if(trim == null || toCharArray == null || getRed == null) return -1; if(getRed.x == toCharArray.x && getRed.y == toCharArray.y) { I[toCharArray.x][toCharArray.y] = I[trim.x][trim.y]; I[trim.x][trim.y] = 0; x = null; trim = null; toCharArray = null; getRed = null; return 0; } int i1 = getBlue[getRed.x][getRed.y] - 1; if(i1 > 0); int j1 = getRed.x; int k1 = getRed.y; int l1 = j1; int i2 = k1; int j2 = 163; if(j1 > 0 && getBlue[j1 - 1][k1] == i1) { l1 = j1 - 1; j2 = (l1 - toCharArray.x) * (l1 - toCharArray.x) + (k1 - toCharArray.y) * (k1 - toCharArray.y); } if(k1 > 0 && getBlue[j1][k1 - 1] == i1) { int k2 = (j1 - toCharArray.x) * (j1 - toCharArray.x) + (k1 - 1 - toCharArray.y) * (k1 - 1 - toCharArray.y); if(k2 < j2) { l1 = j1; i2 = k1 - 1; j2 = k2; } } if(j1 < 8 && getBlue[j1 + 1][k1] == i1) { int l2 = ((j1 + 1) - toCharArray.x) * ((j1 + 1) - toCharArray.x) + (k1 - toCharArray.y) * (k1 - toCharArray.y); if(l2 < j2) { l1 = j1 + 1; i2 = k1; j2 = l2; } } if(k1 < 8 && getBlue[j1][k1 + 1] == i1) { int i3 = (j1 - toCharArray.x) * (j1 - toCharArray.x) + ((k1 + 1) - toCharArray.y) * ((k1 + 1) - toCharArray.y); if(i3 < j2) { l1 = j1; i2 = k1 + 1; } } if(j1 == l1 && k1 == i2) return -1; if(j1 == trim.x && k1 == trim.y) drawCell(j1, k1, 0, 0); else drawCell(j1, k1); M(j1, k1); getRed.x = l1; getRed.y = i2; drawCell(l1, i2, 30, cellColor(trim.x, trim.y)); M(l1, i2); return 1; }// ----------------------------------------------------------------------- private int n() { int k1 = 0; if(length < 0) return 0; int l1 = length; int i1 = 0; do { int j1 = 0; do if(getMaxAscent[i1][j1] != 0) { drawCell(i1, j1, l1, cellColor(i1, j1)); M(i1, j1); if(length == 0) { k1++; I[i1][j1] = 0; getMaxAscent[i1][j1] = 0; if(dispose[i1][j1] != 0) { drawCell(i1, j1); M(i1, j1); } } } while(++j1 < 9); } while(++i1 < 9); if(k1 > 4) { getFontMetrics += (k1 - 4) * k1; writeScore(); } length--; return 1; }// -----------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -