📄 netintruderutility.java
字号:
} else if (cell == 59) { board.createMap(BASE_MAP + level, 1); initCamera(); canvas.gamePhase = 14; } if (cell > 48 && cell < 64) { // System.out.println(player.x + "," + player.y); if (cell == 60) { board.map.setCell(0, x, y, 61); initCamera(); } if (cell == 61) { board.map.setCell(0, x, y, 60); initCamera(); player.setCurrentAction("sprites/shockSW"); // TODO gameTime -= 50; } return true; } else { return false; } } public void centerBoard() { Image imageTemp = Image.createImage(canvas.getWidth(), canvas .getHeight()); Graphics gTemp = imageTemp.getGraphics(); board.draw(canvas.getWidth() / 2, yMod, gTemp, centered); if (!centered) { // initialTime = System.currentTimeMillis(); if (Math.abs(((canvas.getHeight() - canvas.getHeight() / 5) / 2) - player.lastDrawnY) > 30) { counter = 30; } else if (Math .abs(((canvas.getHeight() - canvas.getHeight() / 5) / 2) - player.lastDrawnY) > 20) { counter = 20; } else if (Math .abs(((canvas.getHeight() - canvas.getHeight() / 5) / 2) - player.lastDrawnY) > 10) { counter = 10; } else { counter = 1; } if (player.lastDrawnY > (canvas.getHeight() - canvas.getHeight() / 5) / 2) { yMod -= counter; } else if (player.lastDrawnY < (canvas.getHeight() - canvas .getHeight() / 5) / 2) { yMod += counter; } else { centered = true; } board.draw(canvas.getWidth() / 2, yMod, gTemp, centered); } } public void changeLevel() { initBoard(); initPlayer(); loadLevelConfig(level); int oldX = player.x; int oldY = player.y; player.x = startingPointX; player.y = startingPointY; // puzzleCounter = 3; // puzzleVerified = false; canMove = false; board .moveCharacter(player, oldX, oldY, 0, player.x, player.y, 0, false); initCamera(); board.changed = true; puzzlePasswordsFound = 0; // board.cachedBoard = null; System.gc(); } private Vector divideString(String s, int width, Font f) { Vector list = new Vector(); StringBuffer tempString = new StringBuffer(""); if (f.stringWidth(s) < width) { list.addElement(s); return list; } Vector words = tokenizeString(s, " "); for (int i = 0; i < words.size(); i++) { if (f.stringWidth(tempString.toString() + words.elementAt(i)) < width && !words.elementAt(i).equals("%")) { tempString.append((String) words.elementAt(i) + " "); } else { String newString = tempString.toString(); list.addElement(newString); tempString.delete(0, tempString.length()); tempString.append((String) words.elementAt(i) + " "); } } String newString = tempString.toString(); list.addElement(newString); return list; } private String generateRandomString() { return (packages[Math.abs(randomGen.nextInt() % packages.length)]); } public void initBoard() { board = new Board(TILE_SET, canvas); // Set tiles standard size. Normaly 32x8. board.setTileSize(TILE_WIDTH, TILE_HEIGHT); // Load the map board.createMap(BASE_MAP + level, 1); board.width = numberTilesPerSide; board.height = numberTilesPerSide; } public void initCamera() { board.cellX = player.x - numberTilesPerSide / 2; board.cellY = player.y - numberTilesPerSide / 2; board.changed = true; // board.cachedBoard = null; System.gc(); } public void initPlayer() { player = new Character(); // Standing sprites player.putAction("sprites/playerSW", 2); player.putAction("sprites/playerSE", 2); player.putAction("sprites/playerNE", 2); player.putAction("sprites/playerNW", 2); player.putAction("sprites/shockSW", 0); player.setCurrentAction("sprites/playerSW"); // Player coords player.x = numberTilesPerSide / 2; player.y = numberTilesPerSide / 2; player.modifierY = 14; // initialModifierY = 14; player.z = 0; // player.speed = 1; player.name = "player"; board.putCharacter(player); // Place the player on the // board } public void loadLevelConfig(int levelSelected) { tips = new Hashtable(); int ch; Class c = this.getClass(); InputStream is = c.getResourceAsStream(LEVELS_DEF); StringBuffer tipsTemp = new StringBuffer(); try { while ((ch = is.read()) > -1) { // It read all the map file if (ch != 10) { // If the char is not \n it store it in the map tipsTemp.append((char) ch); } else { if (Integer.parseInt(tipsTemp.toString().substring(0, 1)) == levelSelected) { Vector temp = tokenizeString(tipsTemp.toString(), ":"); if (((String) temp.elementAt(1)).equals("t")) { // Tip // instruction tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer .parseInt((String) temp.elementAt(3)), 50); } else if (((String) temp.elementAt(1)).equals("p")) { // Puzzle // instruction tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer .parseInt((String) temp.elementAt(3)), 57); } else if (((String) temp.elementAt(1)).equals("s")) { // Starting // Point // instruction startingPointX = Integer.parseInt((String) temp .elementAt(2)); startingPointY = Integer.parseInt((String) temp .elementAt(3)); } else if (((String) temp.elementAt(1)).equals("d")) { // Puzzle // definition // instruction puzzlePasswordsTotal = (short) Integer .parseInt((String) temp.elementAt(2)); puzzleSpeed = (short) Integer .parseInt((String) temp.elementAt(3)); } else if (((String) temp.elementAt(1)).equals("w")) { // Wiki tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer .parseInt((String) temp.elementAt(3)), 62); } } tipsTemp = new StringBuffer(); } } if (Integer.parseInt(tipsTemp.toString().substring(0, 1)) == levelSelected) { Vector temp = tokenizeString(tipsTemp.toString(), ":"); if (((String) temp.elementAt(1)).equals("t")) { // Tip // instruction tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer.parseInt((String) temp .elementAt(3)), 50); } else if (((String) temp.elementAt(1)).equals("p")) { // Puzzle // instruction tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer.parseInt((String) temp .elementAt(3)), 57); } else if (((String) temp.elementAt(1)).equals("s")) { // Starting // Point // instruction startingPointX = Integer.parseInt((String) temp .elementAt(2)); startingPointY = Integer.parseInt((String) temp .elementAt(3)); } else if (((String) temp.elementAt(1)).equals("d")) { // Puzzle // definition // instruction puzzlePasswordsTotal = (short) Integer .parseInt((String) temp.elementAt(2)); puzzleSpeed = (short) Integer.parseInt((String) temp .elementAt(3)); } else if (((String) temp.elementAt(1)).equals("w")) { // Wiki tips.put((String) temp.elementAt(2) + "x" + (String) temp.elementAt(3), (String) temp .elementAt(4)); board.map.setCell(0, Integer.parseInt((String) temp .elementAt(2)), Integer .parseInt((String) temp.elementAt(3)), 62); } } } catch (IOException e) { } catch (Exception ex) { } } public void paintFullscreenMessage(Graphics g, String message, String continueMessage) { if (!fullscreenMessagePainted && !"".equals(message)) { g.setFont(Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_SMALL)); paintMessageBox(g, message, canvas.getWidth() / 2, canvas .getHeight() / 2, g.getClipWidth() - 6, 0x00cc00, 0x009900, 0x00ff00, 0x00ffff); fullscreenMessagePainted = true; lastMessagePainted = System.currentTimeMillis(); if (!"".equals(continueMessage)) { g.setColor(0xff9900); paintMessageBox(g, continueMessage, canvas.getWidth() - g.getFont().stringWidth(continueMessage) / 2 - 4, canvas .getHeight(), g.getFont().stringWidth(continueMessage) + 2, 0xaaaa00, 0xffaa00, 0xffffff, 0xcccccc); } } } public void paintGamePlay(Graphics g) { board.draw(g.getClipWidth() / 2, yMod, g, centered); if (canvas.fire && canvas.key != -99 && !player.isMoving && System.currentTimeMillis() - movementTime > 100) { movementTime = System.currentTimeMillis(); performMovement(canvas.key); updateCamera(); } if (canvas.key == -99) { canvas.fire = false; } } public void paintBackground(Graphics g) { g.setColor(0x004106); g.fillRect(0, 0, canvas.getWidth(), canvas.getHeight()); Image temp = null; try { temp = Image.createImage("/ui/bg_left.png"); } catch (IOException e) { } if (temp != null) { g.drawImage(temp, 0, 0, Graphics.TOP | Graphics.LEFT); } try { temp = Image.createImage("/ui/bg_right.png"); } catch (IOException e) { } if (temp != null) { g.drawImage(temp, canvas.getWidth(), 0, Graphics.TOP | Graphics.RIGHT); } try { temp = Image.createImage("/ui/bg_bottom.png"); } catch (IOException e) { } if (temp != null) { g.drawImage(temp, canvas.getWidth() / 2, canvas.getHeight(), Graphics.BOTTOM | Graphics.HCENTER); } } public void paintIntro(Graphics g) { if (timer == 0) { timer = System.currentTimeMillis(); introFrames.put("5", "/introBW/logomondonerd.png");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -