Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- STARTINGCLASS.JAVA
- package kiloboltgame;
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.net.URL;
- import java.util.ArrayList;
- import kiloboltgame.framework.Animation;
- public class StartingClass extends Applet implements Runnable,KeyListener{
- private Robot robot;
- private Heliboy hb, hb2;
- private Image image, currentSprite, character, character2, character3, characterDown,
- characterJumped, background, heliboy, heliboy2, heliboy3, heliboy4, heliboy5;
- public static Image tiledirt, tileocean;
- private Animation anim, hanim;
- private Graphics second;
- private URL base;
- private static Background bg1,bg2;
- private ArrayList<Tile> tilearray = new ArrayList<Tile>();
- @Override
- public void init() {
- setSize(800,480);
- setBackground(Color.BLACK);
- setFocusable(true);
- Frame frame = (Frame) this.getParent().getParent();
- frame.setTitle("Q-Bot Alpha");
- addKeyListener(this);
- try {
- base = getDocumentBase();
- } catch (Exception e) {
- // TODO: handle exception
- }
- // Image Setups
- character = getImage(base, "data/character.png");
- character2 = getImage(base, "data/character2.png");
- character3 = getImage(base, "data/character3.png");
- characterDown = getImage(base, "data/down.png");
- characterJumped = getImage(base, "data/jumped.png");
- heliboy = getImage(base, "data/heliboy.png");
- heliboy2 = getImage(base, "data/heliboy2.png");
- heliboy3 = getImage(base, "data/heliboy3.png");
- heliboy4 = getImage(base, "data/heliboy4.png");
- heliboy5 = getImage(base, "data/heliboy5.png");
- background = getImage(base, "data/background.png");
- tiledirt = getImage(base, "data/tiledirt.png");
- tileocean = getImage(base, "data/tileocean.png");
- anim = new Animation();
- anim.addFrame(character, 1250);
- anim.addFrame(character2, 50);
- anim.addFrame(character3, 50);
- anim.addFrame(character2, 50);
- hanim = new Animation();
- hanim.addFrame(heliboy, 100);
- hanim.addFrame(heliboy2, 100);
- hanim.addFrame(heliboy3, 100);
- hanim.addFrame(heliboy4, 100);
- hanim.addFrame(heliboy5, 100);
- hanim.addFrame(heliboy4, 100);
- hanim.addFrame(heliboy3, 100);
- hanim.addFrame(heliboy2, 100);
- currentSprite = anim.getImage();
- super.init();
- }
- @Override
- public void start() {
- System.out.println("Start Starting Class");
- bg1 = new Background(0,0);
- bg2 = new Background(2160,0);
- // Initialize Tiles
- for (int i = 0; i < 200; i++) {
- for (int j = 0; j < 12; j++) {
- if (j == 11) {
- Tile t = new Tile(i, j, 2);
- tilearray.add(t);
- }
- if (j == 10) {
- Tile t = new Tile(i, j, 1);
- tilearray.add(t);
- }
- }
- }
- hb = new Heliboy(340, 360);
- hb2 = new Heliboy(700, 360);
- robot = new Robot();
- Thread thread = new Thread(this);
- thread.start();
- super.start();
- }
- @Override
- public void stop() {
- // TODO Auto-generated method stub
- super.stop();
- }
- @Override
- public void destroy() {
- // TODO Auto-generated method stub
- super.destroy();
- }
- @Override
- public void run() {
- while (true) {
- robot.update();
- if (robot.isJumped()){
- currentSprite = characterJumped;
- }else if (robot.isJumped() == false && robot.isDucked() == false){
- currentSprite = anim.getImage();
- }
- //Bullets
- ArrayList projectiles = robot.getProjectiles();
- for (int i = 0; i < projectiles.size(); i++) {
- Projectile p = (Projectile) projectiles.get(i);
- if (p.isVisible() == true) {
- p.update();
- } else {
- projectiles.remove(i);
- }
- }
- updateTiles();
- hb.update();
- hb2.update();
- bg1.update();
- bg2.update();
- animate();
- repaint();
- try {
- Thread.sleep(17);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- @Override
- public void update(Graphics g) {
- if (image == null) {
- image = createImage(this.getWidth(), this.getHeight());
- second = image.getGraphics();
- }
- second.setColor(getBackground());
- second.fillRect(0, 0, getWidth(), getHeight());
- second.setColor(getForeground());
- paint(second);
- g.drawImage(image, 0, 0, this);
- //super.update(g);
- }
- @Override
- public void paint(Graphics g) {
- g.drawImage(background, bg1.getBgX(), bg1.getBgY(),this);
- g.drawImage(background, bg2.getBgX(), bg2.getBgY(),this);
- paintTiles(g);
- ArrayList projectiles = robot.getProjectiles();
- for (int i = 0; i < projectiles.size(); i++) {
- Projectile p = (Projectile) projectiles.get(i);
- //System.out.println("Projectile: " + i +" X:"+ p.getX()+" Y:"+p.getY());
- g.setColor(Color.YELLOW);
- g.fillRect(p.getX(), p.getY(), 10, 5);
- }
- g.drawImage(currentSprite, robot.getCenterX() - 61, robot.getCenterY() - 63, this);
- g.drawImage(hanim.getImage(), hb.getCenterX() - 48, hb.getCenterY() - 48, this);
- g.drawImage(hanim.getImage(), hb2.getCenterX() - 48, hb2.getCenterY() - 48, this);
- super.paint(g);
- }
- private void updateTiles() {
- for (int i = 0; i < tilearray.size(); i++) {
- Tile t = (Tile) tilearray.get(i);
- t.update();
- }
- }
- private void paintTiles(Graphics g) {
- for (int i = 0; i < tilearray.size(); i++) {
- Tile t = (Tile) tilearray.get(i);
- //System.out.println("getTileX: " + t.getTileX());
- g.drawImage(t.getTileImage(), t.getTileX(), t.getTileY(), this);
- }
- }
- public void animate() {
- anim.update(10);
- hanim.update(50);
- }
- @Override
- public void keyPressed(KeyEvent e) {
- switch (e.getKeyCode()) {
- case KeyEvent.VK_UP:
- System.out.println("Move up");
- break;
- case KeyEvent.VK_DOWN:
- currentSprite = anim.getImage();;
- if (robot.isJumped() == false){
- robot.setDucked(true);
- robot.setSpeedX(0);
- }
- break;
- case KeyEvent.VK_LEFT:
- robot.moveLeft();
- robot.setMovingLeft(true);
- break;
- case KeyEvent.VK_RIGHT:
- robot.moveRight();
- robot.setMovingRight(true);
- break;
- case KeyEvent.VK_SPACE:
- robot.jump();
- break;
- case KeyEvent.VK_CONTROL:
- if (robot.isDucked() == false && robot.isJumped() == false) {
- robot.shoot();
- }
- break;
- }
- }
- @Override
- public void keyReleased(KeyEvent e) {
- switch (e.getKeyCode()) {
- case KeyEvent.VK_UP:
- System.out.println("Stop moving up");
- break;
- case KeyEvent.VK_DOWN:
- currentSprite = character;
- robot.setDucked(false);
- break;
- case KeyEvent.VK_LEFT:
- robot.stopLeft();
- break;
- case KeyEvent.VK_RIGHT:
- robot.stopRight();
- break;
- case KeyEvent.VK_SPACE:
- break;
- }
- }
- @Override
- public void keyTyped(KeyEvent arg0) {
- // TODO Auto-generated method stub
- }
- public static Background getBg1() {
- return bg1;
- }
- public static Background getBg2() {
- return bg2;
- }
- }
- TILE.JAVA
- package kiloboltgame;
- import java.awt.Image;
- public class Tile {
- private int tileX, tileY, speedX, type;
- public Image tileImage;
- private Background bg = StartingClass.getBg1();
- public Tile(int x, int y, int typeInt) {
- tileX = x * 40;
- tileY = y * 40;
- type = typeInt;
- if (type == 1) {
- tileImage = StartingClass.tileocean;
- } else if (type == 2) {
- tileImage = StartingClass.tiledirt;
- }
- }
- public void update() {
- // TODO Auto-generated method stub
- if (type == 1) {
- if (bg.getSpeedX() == 0){
- speedX = -1;
- System.out.println("speedX = -1: " + speedX);
- }else{
- speedX = -2;
- System.out.println("speedX = -2: " + speedX);
- }
- } else {
- speedX = bg.getSpeedX()*5;
- System.out.println("speedX = gb*5: " + speedX);
- }
- System.out.println("tileX before : " + tileX);
- tileX += speedX;
- System.out.println("tileX after : " + tileX);
- }
- public int getTileX() {
- return tileX;
- }
- public void setTileX(int tileX) {
- this.tileX = tileX;
- }
- public int getTileY() {
- return tileY;
- }
- public void setTileY(int tileY) {
- this.tileY = tileY;
- }
- public Image getTileImage() {
- return tileImage;
- }
- public void setTileImage(Image tileImage) {
- this.tileImage = tileImage;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement