public void checkCollisions() { Rectangle r3 = craft.getBounds(); for (int j = 0; j < aliens.size(); j++) { Alien a = (Alien) aliens.get(j); Rectangle r2 = a.getBounds(); if (r3.intersects(r2)) { craft.setVisible(false); a.setVisible(false); ingame = false; } } ArrayList ms = craft.getMissiles(); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); Rectangle r1 = m.getBounds(); for (int j = 0; j < aliens.size(); j++) { Alien a = (Alien) aliens.get(j); Rectangle r2 = a.getBounds(); if (r1.intersects(r2)) { m.setVisible(false); a.setVisible(false); } } } }
public void drawFromThread(Canvas canvas) { final float scaleFactorX = getWidth() / (WIDTH * 1.f); final float scaleFactorY = getHeight() / (HEIGHT * 1.f); if (canvas != null) { final int savedState = canvas.save(); canvas.scale(scaleFactorX, scaleFactorY); bg.draw(canvas); if (!dissapear) { player.draw(canvas); } // draw smokepuffs for (Smokepuff sp : smoke) { sp.draw(canvas); } // draw missiles for (Missile m : missiles) { m.draw(canvas); } // draw topborder for (TopBorder tb : topborder) { tb.draw(canvas); } // draw botborder for (BotBorder bb : botborder) { bb.draw(canvas); } // draw explosion if (started) { explosion.draw(canvas); } drawText(canvas); canvas.restoreToCount(savedState); } }
private void doDrawing(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.drawImage(craft.getImage(), craft.getX(), craft.getY(), this); ArrayList<Missile> ms = craft.getMissiles(); for (Missile missible : ms) { g2d.drawImage(missible.getImage(), missible.getX(), missible.getY(), this); } }
public void paint(Graphics g) { super.paint(g); if (Game.gameState == GameState.LOADING) { if (highlightedString == 0) { g.setColor(Color.RED); g.drawString("Start Game", 100, 80); g.setColor(Color.GREEN); g.drawString("Continue Game", 100, 100); g.drawString("Options", 100, 120); } else if (highlightedString == 1) { g.setColor(Color.GREEN); g.drawString("Start Game", 100, 80); g.setColor(Color.RED); g.drawString("Continue Game", 100, 100); g.setColor(Color.GREEN); g.drawString("Options", 100, 120); } else if (highlightedString == 2) { g.setColor(Color.GREEN); g.drawString("Start Game", 100, 80); g.setColor(Color.GREEN); g.drawString("Continue Game", 100, 100); g.setColor(Color.RED); g.drawString("Options", 100, 120); } } if (Game.gameState == GameState.PLAYING) { Graphics2D g2d = (Graphics2D) g; g2d.drawImage(player.getImage(), player.getX(), player.getY(), this); ArrayList ms = player.getMissiles(); g.drawString("Bug Count: " + Bug.bugArrayList.size(), 270, 30); g.drawString("Player Score: " + Mech.mechHashMap.get(0).getScore(), 270, 60); g.drawString("Player Lives: " + Mech.mechHashMap.get(0).getLives(), 270, 90); g.drawString("Weapon Selected: " + Mech.mechHashMap.get(0).weaponSelected, 270, 120); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); g2d.drawImage(m.getImage(), m.getX(), m.getY(), this); } for (Bug bug : Bug.bugArrayList) { g2d.drawImage(bug.image, bug.x, bug.y, this); System.out.println("draw bug"); System.out.println("Bug Count;" + Bug.bugArrayList.size()); bug.move(); } } else if (Game.gameState == GameState.GAMEOVER) { g.drawString("GAME OVER!", 100, 100); } Toolkit.getDefaultToolkit().sync(); g.dispose(); }
public void shoot() { int cooldown = 1 + (int) (Math.random() * 100); if (cooldown <= 2) { Missile f = new Missile(this.x, this.y, color); f.setTarget(user.getX(), GamePanel.PHEIGHT); int size = (int) (Math.random() * 10) + 2; // min = 5 max = 105 f.setExplosionMaxSize(size); synchronized (GameData.figures) { GameData.figures.add(f); } } }
// attempts to move toward a location // depending on the playstyle and unit type, it will avoid towers or other unit types public Boolean moveTo(Direction direction) throws GameActionException { if (!this.robot.robotController.canMove(direction)) return false; RobotType type = this.robot.type; Boolean moveAroundHQ = !this.robot.canAttackInHQRange(this.robot.unitController.enemyTowers().length); Boolean moveAroundTowers = !this.robot.canAttackInTowerRange(); if (type == Missile.type()) moveAroundTowers = false; if (type == Launcher.type()) moveAroundTowers = true; Boolean moveAroundMilitary = false; if (UnitController.isUnitTypeMiner(type) && !this.robot.currentPlaystyle().shouldGoAllOut()) moveAroundMilitary = true; else if (type == Drone.type()) moveAroundMilitary = true; else if (type == Launcher.type()) moveAroundMilitary = true; if (this.canMoveSafely(direction, moveAroundHQ, moveAroundTowers, moveAroundMilitary)) { this.robot.robotController.move(direction); return true; } return false; }
public void actionPerformed(ActionEvent e) { if (Game.running) { if (player != null) { ArrayList ms = player.getMissiles(); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); if (m.isVisible()) m.move(); else ms.remove(i); } player.move(); repaint(); } } else { tick.stop(); } }
private void updateMissible() { ArrayList ms = craft.getMissiles(); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); if (m.isVisible()) { m.move(); } else { ms.remove(i); } } }
public void paint(Graphics g) { myTank.draw(g); enenmyTank.draw(g); for (int i = 0; i < arrMissile.size(); i++) { Missile m = arrMissile.get(i); if (m.hitTank(enenmyTank)) { enenmyTank.live = false; m.live = false; arrMissile.remove(m); } m.draw(g); } g.drawString("arrMissile count:" + arrMissile.size(), 10, 50); }
public static void upgradeShip() { playerImage = getImage(imagePath + separator + "images" + separator + "playerShip3.gif"); Missile.upgradeMissile(); Main.missileLevel = 2; xOffset = 70; yOffset = 19; upgrade = true; GameData.playerImage = Ship.playerImage; }
/** updates junk */ public void update() { GameParameters gp = gameModel.getGParam(); float gravity = G * gp.getGravity() * ONE_METER; int heights[] = gameModel.getHeights(); int cave[] = gameModel.getCave(); int dirtChunk1Top[] = gameModel.getDirtChunk1Top(); int dirtChunk2Top[] = gameModel.getDirtChunk2Top(); int dirtChunk1Bottom[] = gameModel.getDirtChunk1Top(); int dirtChunk2Bottom[] = gameModel.getDirtChunk2Top(); vy = vy + (gravity * DT); vx = vx + (gameModel.getWindSpeed() / 20); if (vy > 0.0f) { updateMove(); if (exploded) { exploded = false; ScorchedAmp.playSound(MISS_SOUND); gameModel.removeShot(this); } } else { ScorchedAmp.playSound(MIRV_PEAK); Missile s0 = new Missile((int) vx * 2, 0, getX(), getY(), gameModel); Missile s1 = new Missile((int) vx, 0, getX(), getY(), gameModel); Missile s2 = new Missile(0, 0, getX(), getY(), gameModel); Missile s3 = new Missile((int) (vx * -1), 0, getX(), getY(), gameModel); Missile s4 = new Missile((int) (vx * -2), 0, getX(), getY(), gameModel); s0.setShooter(shooter); s1.setShooter(shooter); s2.setShooter(shooter); s3.setShooter(shooter); s4.setShooter(shooter); gameModel.newShot(s0); gameModel.newShot(s1); gameModel.newShot(s2); gameModel.newShot(s3); gameModel.newShot(s4); gameModel.removeShot(this); } }
public void paint(Graphics g) { super.paint(g); if (ingame) { Graphics2D g2d = (Graphics2D) g; if (craft.isVisible()) g2d.drawImage(craft.getImage(), craft.getX(), craft.getY(), this); ArrayList ms = craft.getMissiles(); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); g2d.drawImage(m.getImage(), m.getX(), m.getY(), this); } for (int i = 0; i < aliens.size(); i++) { Alien a = (Alien) aliens.get(i); if (a.isVisible()) g2d.drawImage(a.getImage(), a.getX(), a.getY(), this); } g2d.setColor(Color.WHITE); g2d.drawString("Aliens left: " + aliens.size(), 5, 15); } else { String msg = "Game Over"; Font small = new Font("Helvetica", Font.BOLD, 14); FontMetrics metr = this.getFontMetrics(small); g.setColor(Color.white); g.setFont(small); g.drawString(msg, (B_WIDTH - metr.stringWidth(msg)) / 2, B_HEIGHT / 2); } Toolkit.getDefaultToolkit().sync(); g.dispose(); }
public void actionPerformed(ActionEvent e) { if (aliens.size() == 0) { ingame = false; } ArrayList ms = craft.getMissiles(); for (int i = 0; i < ms.size(); i++) { Missile m = (Missile) ms.get(i); if (m.isVisible()) m.move(); else ms.remove(i); } for (int i = 0; i < aliens.size(); i++) { Alien a = (Alien) aliens.get(i); if (a.isVisible()) a.move(); else aliens.remove(i); } craft.move(); checkCollisions(); repaint(); }