Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Anne Hua
- * Jan 2, 2020
- * Trash Quest
- * Main map moving character
- */
- //Graphics &GUI imports
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import java.awt.Toolkit;
- import java.awt.Graphics;
- import java.awt.Color;
- import java.awt.Image;
- import java.awt.Font;
- import javax.swing.ImageIcon;
- import javax.swing.border.EmptyBorder;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- //Keyboard imports
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- //Mouse imports
- import java.awt.event.MouseListener;
- import java.awt.event.MouseEvent;
- import java.awt.Rectangle;
- class GameFrameTwo extends JFrame {
- // Class variable (non-static)
- static GameAreaPanel gamePanel;
- Clock clock;
- boolean direction[];
- boolean space;
- int lastPressed;
- int num;
- String mapImage;
- int houseNameNum;
- boolean done = false;
- // Images
- BufferedImage map;
- BufferedImage mainCharacter;
- BufferedImage pocketImage;
- BufferedImage bulletSprite;
- BufferedImage bulletSprite2;
- BufferedImage bulletSprite3;
- BufferedImage bulletSprite4;
- //food buffered images
- BufferedImage lemonadeImage;
- BufferedImage chocolateImage;
- BufferedImage appleImage;
- BufferedImage sandwichImage;
- //key buffered images
- BufferedImage peanutButterImage;
- BufferedImage bookImage;
- BufferedImage cookiesImage;
- BufferedImage keyImage;
- BufferedImage paperSprite;
- BufferedImage bananaSprite;
- Image newMainCharacter;
- Image newMap;
- Image newBulletSprite;
- Image newPocketImage;
- Image newItem;
- //Character
- Character character;
- Pocket pocket;
- boolean pocketOpen;
- int pocketNum;
- boolean itemUsed;
- Item item;
- int keyNum;
- // Arrays//
- // Bullet array
- Bullet bullet[];
- EnemyBullet enemyBullets[];
- int shootSprite;
- // Door hitboxes array
- Rectangle insideDoor[];
- Rectangle outsideDoor[];
- Rectangle walls1[];
- Rectangle walls2[];
- Rectangle walls3[];
- Rectangle walls4[];
- Rectangle walls5[];
- // Grass hitbox array
- Hitbox grassHitbox[];
- // Image name array
- /*
- * String houseName[] = { "House1Battle.png", "House2Battle.png",
- * "House3Battle.png", "House4Battle.png", "House5Battle.png", "World.png" };
- */
- String houseName[] = { "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\House1Battle.png",
- "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\House2Battle.png",
- "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\House3Battle.png",
- "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\House4Battle.png",
- "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\House5Battle.png",
- "C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\World.png" };
- // Character hitbox
- Rectangle characterBox;
- // Villagers
- Villager villager1;
- Villager villager2;
- Villager villager3;
- Villager villager4;
- Food lemonade;
- Food chocolate;
- Food apple;
- Food sandwich;
- Key peanutButter;
- Key book;
- Key cookies;
- Key key;
- // Enemies
- Paper paper1;
- Banana banana1;
- TrashCan trashCan1;
- SodaCan sodaCan1;
- SodaCan sodaCan2;
- Skunkoon skunkoon;
- // Start game from beginning
- boolean begin = false;
- // Inside house maps
- boolean houseOneMap = false;
- boolean houseTwoMap = false;
- boolean houseThreeMap = false;
- boolean houseFourMap = false;
- boolean houseFiveMap = true;
- // Main map
- boolean mainMap = false;
- // Comeplete level or not
- boolean houseOneComplete = false;
- boolean houseTwoComplete = false;
- boolean houseThreeComplete = false;
- boolean houseFourComplete = false;
- boolean houseFiveComplete = false;
- // Constructor - this runs first
- GameFrameTwo() {
- super("My Game");
- // Set the frame to full screen
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // this.setLocationRelativeTo(null); //start the frame in the center of the
- // screen
- this.setSize(900, 900);
- this.setLocationRelativeTo(null); // start the frame in the center of the screen
- this.setUndecorated(false); // Set to true to remove title bar
- this.setBackground(new Color(255, 255, 255));
- clock = new Clock();
- direction = new boolean[4];
- character = new Character(400, 400, null, 100, 100, 100);
- bullet = new Bullet[1000];
- enemyBullets = new EnemyBullet[1000];
- num = 0;
- houseNameNum = 0;
- shootSprite = 0;
- // Character box size??
- characterBox = new Rectangle(412, 478, 26, 10); // (400, 477, 30, 10);
- // Hitbox arrays//
- // Door hitbox arrays
- insideDoor = new Rectangle[6];
- outsideDoor = new Rectangle[5];
- //wall hitbox arrays
- walls1 = new Rectangle[4];
- walls2 = new Rectangle[5];
- walls3 = new Rectangle[7];
- walls4 = new Rectangle[6];
- walls5 = new Rectangle[7];
- // Grass hitbox array
- grassHitbox = new Hitbox[32];
- // Inside door hitboxes
- //Inside door hitboxes
- insideDoor[0] = new Rectangle(505, 590, 75, 10);
- insideDoor[1] = new Rectangle(420, 650, 75, 10);
- insideDoor[2] = new Rectangle(350, 660, 200, 50);
- //left
- insideDoor[3] = new Rectangle(265, 775, 65, 50);
- //right
- insideDoor[4] = new Rectangle(570, 775, 65, 50);
- insideDoor[5] = new Rectangle(320, 780, 260, 50);
- // Outside door hitboxes
- outsideDoor[0] = new Rectangle(520, 610, 90, 50);
- outsideDoor[1] = new Rectangle(520, 610, 90, 50);
- outsideDoor[2] = new Rectangle(520, 610, 90, 50);
- outsideDoor[3] = new Rectangle(520, 610, 90, 50);
- outsideDoor[4] = new Rectangle(520, 610, 90, 50);
- //wall hitboxes
- walls3[0] = new Rectangle(110, 660, 240, 10);
- walls3[1] = new Rectangle(550, 660, 240, 10);
- walls3[2] = new Rectangle(120, 380, 10, 280);
- walls3[3] = new Rectangle(770, 380, 10, 280);
- walls3[4] = new Rectangle(120, 150, 160, 240);
- walls3[5] = new Rectangle(620, 150, 160, 240);
- walls3[6] = new Rectangle(280, 170, 340, 10);
- walls4[0] = new Rectangle(150, 775, 115, 10);
- walls4[1] = new Rectangle(635, 775, 115, 10);
- walls4[2] = new Rectangle(330, 775, 240, 240);
- walls4[3] = new Rectangle(140, 80, 10, 695);
- walls4[4] = new Rectangle(750, 80, 10, 695);
- walls4[5] = new Rectangle(150, 70, 600, 10);
- walls5[0] = new Rectangle(80, 780, 240, 10);
- walls5[1] = new Rectangle(580, 780, 240, 10);
- walls5[2] = new Rectangle(80, 220, 10, 560);
- walls5[3] = new Rectangle(805, 220, 10, 560);
- walls5[4] = new Rectangle(80, 60, 180, 200);
- walls5[5] = new Rectangle(640, 60, 180, 200);
- walls5[6] = new Rectangle(200, 70, 480, 10);
- // Grass hitboxes
- grassHitbox[0] = new Hitbox(-1000, -125, 846, 50);
- grassHitbox[1] = new Hitbox(-1000, 5, 2000, 10);
- grassHitbox[2] = new Hitbox(-76, -275, 554, 200);
- grassHitbox[3] = new Hitbox(555, -511, 112, 437);
- grassHitbox[4] = new Hitbox(745, -200, 10, 210);
- grassHitbox[5] = new Hitbox(430, -511, 50, 156);
- grassHitbox[6] = new Hitbox(255, -585, 185, 231);
- grassHitbox[7] = new Hitbox(600, -585, 10, 75);
- grassHitbox[8] = new Hitbox(-28, -556, 280, 10);
- grassHitbox[9] = new Hitbox(-340, -466, 510, 10);
- grassHitbox[10] = new Hitbox(160, -466, 10, 200);
- grassHitbox[11] = new Hitbox(-341, -1007, 10, 552);
- grassHitbox[12] = new Hitbox(-28, -1147, 665, 136);
- grassHitbox[13] = new Hitbox(-240, -1018, 117, 10);
- grassHitbox[14] = new Hitbox(-28, -933, 750, 10);
- grassHitbox[15] = new Hitbox(-28, -933, 10, 380);
- grassHitbox[16] = new Hitbox(-249, -868, 138, 320);
- grassHitbox[17] = new Hitbox(715, -1145, 10, 240);
- grassHitbox[18] = new Hitbox(728, -1157, 10, 10);
- grassHitbox[19] = new Hitbox(734, -1167, 10, 10);
- grassHitbox[20] = new Hitbox(740, -1177, 10, 10);
- grassHitbox[21] = new Hitbox(746, -1187, 10, 10);
- grassHitbox[22] = new Hitbox(752, -1197, 10, 10);
- grassHitbox[23] = new Hitbox(758, -1207, 10, 10);
- grassHitbox[24] = new Hitbox(764, -1217, 10, 10);
- grassHitbox[25] = new Hitbox(624, -1157, 10, 10);
- grassHitbox[26] = new Hitbox(618, -1167, 10, 10);
- grassHitbox[27] = new Hitbox(612, -1177, 10, 10);
- grassHitbox[28] = new Hitbox(606, -1187, 10, 10);
- grassHitbox[29] = new Hitbox(600, -1197, 10, 10);
- grassHitbox[30] = new Hitbox(594, -1207, 10, 10);
- grassHitbox[31] = new Hitbox(588, -1217, 10, 10);
- try {
- /*
- * lemonadeImage = ImageIO.read(new File("Lemonade.png"));
- chocolateImage = ImageIO.read(new File("Chocolate.png"));
- appleImage = ImageIO.read(new File("Apple.png"));
- sandwichImage = ImageIO.read(new File("Sandwich.png"));
- peanutButterImage = ImageIO.read(new File("Peanut Butter.png"));
- bookImage = ImageIO.read(new File("Book.png"));
- cookiesImage = ImageIO.read(new File("Cookies.png"));
- keyImage = ImageIO.read(new File("Key.png"));
- */
- lemonadeImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Lemonade.png"));
- chocolateImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Chocolate.png"));
- appleImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Apple.png"));
- sandwichImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Sandwich.png"));
- peanutButterImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Peanut Butter.png"));
- bookImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Book.png"));
- cookiesImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Cookies.png"));
- keyImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Key.png"));
- //Get main character image
- String mainImage = "C:\\\\Users\\\\Jeffray\\\\eclipse-workspace\\\\Final Project\\\\src\\\\CharacterHouse2.png";
- mainCharacter = ImageIO.read(new File(mainImage));
- character.setImage(mainCharacter);
- /*bulletSprite = ImageIO.read(new File("Bullet1.png"));
- bulletSprite2 = ImageIO.read(new File("Bullet2.png"));
- bulletSprite3 = ImageIO.read(new File("Bullet3.png"));
- bulletSprite4 = ImageIO.read(new File("Bullet4.png"));*/
- paperSprite = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\paper.png"));
- bananaSprite = ImageIO.read(new File("C:\\Users\\Jeffray\\Documents\\School Java Projects\\Final Project\\TrashBanana.png"));
- bulletSprite = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet1.png"));
- bulletSprite2 = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet2.png"));
- bulletSprite3 = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet3.png"));
- bulletSprite4 = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet4.png"));
- pocketImage = ImageIO.read(new File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\PocketWithDescription.png"));
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- // Pocket
- pocket = new Pocket();
- // teletubby names
- villager1 = new Villager(0, 0, null, 10, 10, "Tinky-Winky");
- villager2 = new Villager(0, 0, null, 10, 10, "Dipsy");
- villager3 = new Villager(0, 0, null, 10, 10, "Laa Laa");
- villager4 = new Villager(0, 0, null, 10, 10, "Po");
- lemonade = new Food(0, 0, lemonadeImage, "Lemonade", "Drink to gain +5 health.", 5);
- chocolate = new Food(0, 0, chocolateImage, "Chocolate", "Eat to gain +10 health.", 10);
- apple = new Food(0, 0, appleImage, "Apple", "Eat to gain +15 health.", 15);
- sandwich = new Food(0, 0, sandwichImage, "Sandwich", "Eat to gain +20 health.", 20);
- peanutButter = new Key(0, 0, peanutButterImage, "Peanut Butter", "Bring this to the purple house. to unlock the next level.", 1);
- book = new Key(0, 0, bookImage, "Book", "Bring this to the pink house to. unlock the next level.", 2);
- cookies = new Key(0, 0, cookiesImage, "Cookies", "Bring this to the orange house. to unlock the next level.", 3);
- key = new Key(0, 0, keyImage, "Key", "Bring this to your house to. unlock the next level.", 4);
- villager1.setFood(lemonade);
- villager2.setFood(chocolate);
- villager3.setFood(apple);
- villager4.setFood(sandwich);
- villager1.setKey(peanutButter);
- villager2.setKey(book);
- villager3.setKey(cookies);
- villager4.setKey(key);
- //Pocket
- pocket = new Pocket();
- pocketOpen = false;
- pocketNum = 0;
- itemUsed = false;
- pocket.addItem(lemonade);
- pocket.addItem(chocolate);
- pocket.addItem(apple);
- pocket.addItem(sandwich);
- pocket.addItem(peanutButter);
- pocket.addItem(book);
- pocket.addItem(cookies);
- pocket.addItem(key);
- // Enemies
- paper1 = new Paper(200, 200, null, 50, 50, 30, 5);
- banana1 = new Banana(0, 0, null, 50, 50, 30, 10);
- trashCan1 = new TrashCan(300, 300, null, 50, 50, 30, 5);
- sodaCan1 = new SodaCan(300, 300, null, 50, 50, 30, 10);
- sodaCan2 = new SodaCan(500, 500, null, 50, 50, 30, 10);
- skunkoon = new Skunkoon(500, 500, null, 200, 200, 30, 10);
- // Set up the game panel (where we put our graphics)
- gamePanel = new GameAreaPanel();
- gamePanel.setBackground(new Color(87, 65, 200, 150));
- this.add(new GameAreaPanel());
- MyKeyListener keyListener = new MyKeyListener();
- this.addKeyListener(keyListener);
- MyMouseListener mouseListener = new MyMouseListener();
- this.addMouseListener(mouseListener);
- this.requestFocusInWindow(); // make sure the frame has focus
- this.setResizable(true);
- this.setVisible(true);
- // Start the game loop in a separate thread
- Thread t = new Thread(new Runnable() {
- public void run() {
- animate();
- }
- }); // start the gameLoop
- t.start();
- } // End of Constructor
- // the main gameloop - this is where the game state is updated
- public void animate() {
- while (true) {
- this.repaint();
- }
- }
- /** --------- INNER CLASSES ------------- **/
- // Inner class for the the game area - This is where all the drawing of the
- // screen occurs
- private class GameAreaPanel extends JPanel {
- public void paintComponent(Graphics g) {
- clock.update();
- character.updateSprites();
- // Move main map when main map is true
- if (mainMap) {
- if (lastPressed == 0 && direction[0]) {
- character.setPositionY(character.getPositionY() + 1 * clock.getElapsedTime() * 100);
- character.move(0);
- } else if (lastPressed == 1 && direction[1]) {
- character.setPositionY(character.getPositionY() + -1 * clock.getElapsedTime() * 100);
- character.move(1);
- } else if (lastPressed == 2 && direction[2]) {
- character.setPositionX(character.getPositionX() + -1 * clock.getElapsedTime() * 100);
- character.move(2);
- } else if (lastPressed == 3 && direction[3]) {
- character.setPositionX(character.getPositionX() + 1 * clock.getElapsedTime() * 100);
- character.move(3);
- } else {
- character.move(5);
- }
- // Move character
- } else {
- if (lastPressed == 0 && direction[0]) {
- character.setPositionY(character.getPositionY() + -1 * clock.getElapsedTime() * 100);
- character.move(0);
- } else if (lastPressed == 1 && direction[1]) {
- character.setPositionY(character.getPositionY() + 1 * clock.getElapsedTime() * 100);
- character.move(1);
- } else if (lastPressed == 2 && direction[2]) {
- character.setPositionX(character.getPositionX() + 1 * clock.getElapsedTime() * 100);
- character.move(2);
- } else if (lastPressed == 3 && direction[3]) {
- character.setPositionX(character.getPositionX() + -1 * clock.getElapsedTime() * 100);
- character.move(3);
- } else {
- character.move(5);
- }
- }
- if (mainMap) {
- // Grass array hitboxes
- for (int i = 0; i < grassHitbox.length; i++) {
- Rectangle temp = new Rectangle((int) (character.getPositionX() + grassHitbox[i].getPositionX()),
- (int) (character.getPositionY() + grassHitbox[i].getPositionY()), grassHitbox[i].getWidth(),
- grassHitbox[i].getHeight());
- if (characterBox.intersects(temp)) {
- if (lastPressed == 0) {
- character.setPositionY(character.getPositionY() + -1 * clock.getElapsedTime() * 100);
- } else if (lastPressed == 1) {
- character.setPositionY(character.getPositionY() + 1 * clock.getElapsedTime() * 100);
- } else if (lastPressed == 2) {
- character.setPositionX(character.getPositionX() + 1 * clock.getElapsedTime() * 100);
- } else if (lastPressed == 3) {
- character.setPositionX(character.getPositionX() + -1 * clock.getElapsedTime() * 100);
- }
- }
- }
- }
- if (num > 0) {
- for (int i = 0; i < num; i++) {
- if (bullet[i] != null) {
- if ((bullet[i].getPositionY() > 610) || (bullet[i].getPositionX() > 700)
- || (bullet[i].getPositionY() < 350) || (bullet[i].getPositionX() < 190)) {
- bullet[i] = null;
- for (int j = i; j < num; j++) {
- bullet[j] = bullet[j + 1];
- bullet[j + 1] = null;
- num--;
- }
- } else if (bullet[i].getDirection() == 0) {
- bullet[i].setPositionY(bullet[i].getPositionY() + -1 * clock.getElapsedTime() * 100);
- } else if (bullet[i].getDirection() == 1) {
- bullet[i].setPositionY(bullet[i].getPositionY() + 1 * clock.getElapsedTime() * 100);
- } else if (bullet[i].getDirection() == 2) {
- bullet[i].setPositionX(bullet[i].getPositionX() + 1 * clock.getElapsedTime() * 100);
- } else if (bullet[i].getDirection() == 3) {
- bullet[i].setPositionX(bullet[i].getPositionX() + -1 * clock.getElapsedTime() * 100);
- }
- }
- }
- }
- setDoubleBuffered(true);
- // Get images
- /*
- * try {
- *
- * //When main Map is true all other map is false if (mainMap == true){
- * houseNameNum = 5; houseOneMap = false; houseTwoMap = false; houseThreeMap =
- * false; houseFourMap = false; houseFiveMap = false; }
- *
- * if (houseOneMap == true){ houseNameNum = 0; }
- *
- * if (houseTwoMap == true){ houseNameNum = 1; }
- *
- * if (houseThreeMap == true){ houseNameNum = 2; }
- *
- * if (houseFourMap == true){ houseNameNum = 3; }
- *
- * if (houseFiveMap == true){ houseNameNum = 4; }
- *
- * map = ImageIO.read(new File(houseName[houseNameNum]));
- *
- * //Get main character image String mainImage =
- * "C:\\\\Users\\\\Jeffray\\\\eclipse-workspace\\\\Final Project\\\\src\\\\CharacterHouse2.png"
- * ; mainCharacter = ImageIO.read(new File(mainImage));
- * character.setImage(mainCharacter);
- *
- * bulletSprite = ImageIO.read(new File("Bullet1.png")); bulletSprite2 =
- * ImageIO.read(new File("Bullet2.png")); bulletSprite3 = ImageIO.read(new
- * File("Bullet3.png")); bulletSprite4 = ImageIO.read(new File("Bullet4.png"));
- * paperSprite = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\paper.png"))
- * ; bananaSprite = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\Documents\\School Java Projects\\Final Project\\TrashBanana.png"
- * ));
- *
- * bulletSprite = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet1.png"
- * )); bulletSprite2 = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet2.png"
- * )); bulletSprite3 = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet3.png"
- * )); bulletSprite4 = ImageIO.read(new
- * File("C:\\Users\\Jeffray\\eclipse-workspace\\Final Project\\src\\Bullet4.png"
- * ));
- *
- * } catch (IOException ex) { ex.printStackTrace(); }
- */
- if (mainMap == true){
- houseNameNum = 5;
- houseOneMap = false;
- houseTwoMap = false;
- houseThreeMap = false;
- houseFourMap = false;
- houseFiveMap = false;
- }
- try {
- if (houseOneMap == true){
- houseNameNum = 0;
- }
- if (houseTwoMap == true){
- houseNameNum = 1;
- }
- if (houseThreeMap == true){
- houseNameNum = 2;
- }
- if (houseFourMap == true){
- houseNameNum = 3;
- }
- if (houseFiveMap == true){
- houseNameNum = 4;
- }
- map = ImageIO.read(new File(houseName[houseNameNum]));
- } catch (IOException ex) { ex.printStackTrace(); }
- // Resize images
- // Main map resize
- if (mainMap == true && done ==false) {
- newMap = map.getScaledInstance(2500, 2500, Image.SCALE_DEFAULT); // Resize image for main map
- done = true;
- }
- // Main character resize
- newMainCharacter = mainCharacter.getScaledInstance(16 * 3, 29 * 3, Image.SCALE_DEFAULT);
- // House one resize
- if (houseOneMap == true) {
- newMap = map.getScaledInstance(900, 900, Image.SCALE_DEFAULT);
- } else if (houseTwoMap) {
- newMap = map.getScaledInstance(900, 900, Image.SCALE_DEFAULT);
- } else if (houseThreeMap) {
- newMap = map.getScaledInstance(900, 900, Image.SCALE_DEFAULT);
- } else if (houseFourMap) {
- newMap = map.getScaledInstance(900, 900, Image.SCALE_DEFAULT);
- } else if (houseFiveMap) {
- newMap = map.getScaledInstance(900, 900, Image.SCALE_DEFAULT);
- }
- if (shootSprite > 0 && shootSprite <= 13) {
- if (lastPressed == 0) {
- character.move(6);
- } else if (lastPressed == 1) {
- character.move(7);
- } else if (lastPressed == 2) {
- character.move(8);
- } else if (lastPressed == 3) {
- character.move(9);
- }
- shootSprite++;
- } else if (shootSprite == 14) {
- shootSprite = 0;
- }
- if (space) {
- bullet[num] = new Bullet((int) character.getPositionX() + 32, (int) character.getPositionY() + 25,
- bulletSprite, lastPressed);
- shootSprite = 1;
- num++;
- space = false;
- }
- // Update Hitboxes
- character.update();
- paper1.update();
- banana1.update();
- // When its main map from house one
- if (mainMap) {
- if (begin == true) {
- g.drawImage(newMap, (int) character.getPositionX() - 410, (int) character.getPositionY() - 1930,
- this);
- g.drawImage(newMainCharacter, 400, 400, this);
- }
- if (houseOneComplete == true) {
- g.drawImage(newMap, (int) character.getPositionX() - 1100, (int) character.getPositionY() - 2030,
- this);
- g.drawImage(character.getCurrentSprite(), 400, 400, this);
- // //DOORS
- // //Door 1
- // g.drawRect((int)character.getPositionX() - 154, (int)character.getPositionY() - 135, 77, 10);
- // //Door 2
- // g.drawRect((int)character.getPositionX() + 667, (int)character.getPositionY() - 200, 80, 10);
- // //Door 3
- // g.drawRect((int)character.getPositionX() + 440, (int)character.getPositionY() - 585, 160, 10);
- // //Door 4
- // g.drawRect((int)character.getPositionX() - 330, (int)character.getPositionY() - 1018, 90, 10);
- // g.drawRect((int)character.getPositionX() - 120, (int)character.getPositionY() - 1018, 90, 10);
- // //Door 5
- // g.drawRect((int)character.getPositionX() + 600, (int)character.getPositionY() - 1227, 165, 10);
- }
- if (houseTwoComplete == true) {
- g.drawImage(newMap, (int) character.getPositionX() - 1050, (int) character.getPositionY() - 2100,
- this);
- g.drawImage(newMainCharacter, 400, 400, this);
- }
- }
- // When in houses
- if (mainMap == false) {
- // For house one map hitboxes remove when done
- g.drawImage(newMap, 0, -0, this);
- g.drawImage(character.getCurrentSprite(), (int) character.getPositionX(),
- (int) character.getPositionY(), this);
- if (num > 0) {
- for (int i = 0; i < num; i++) {
- if (bullet[i] != null) {
- if (bullet[i].getDirection() == 0) {
- newBulletSprite = bulletSprite.getScaledInstance(15, 15, Image.SCALE_DEFAULT);
- } else if (bullet[i].getDirection() == 1) {
- newBulletSprite = bulletSprite3.getScaledInstance(15, 15, Image.SCALE_DEFAULT);
- } else if (bullet[i].getDirection() == 2) {
- newBulletSprite = bulletSprite2.getScaledInstance(15, 15, Image.SCALE_DEFAULT);
- } else if (bullet[i].getDirection() == 3) {
- newBulletSprite = bulletSprite4.getScaledInstance(15, 15, Image.SCALE_DEFAULT);
- }
- g.drawImage(newBulletSprite, (int) bullet[i].getPositionX(), (int) bullet[i].getPositionY(),
- this);
- }
- }
- }
- if (houseThreeMap) {
- for (int j = 0; j < walls3.length; j ++) {
- if (num > 0) {
- for (int i = 0; i < num; i ++) {
- if (bullet[i] != null) {
- bullet[i].update();
- if (bullet[i].getBox().intersects(walls3[j])) {
- bullet[i] = null;
- for (int n = i; n < num; n ++) {
- bullet[n] = bullet[n + 1];
- bullet[n + 1] = null;
- num --;
- }
- }
- }
- }
- }
- if (character.getBox().intersects(walls3[j])) {
- if(lastPressed == 0){
- character.setPositionY(character.getPositionY() +1*clock.getElapsedTime()*100);
- }else if(lastPressed == 1){
- character.setPositionY(character.getPositionY() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 2){
- character.setPositionX(character.getPositionX() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 3){
- character.setPositionX(character.getPositionX() +1*clock.getElapsedTime()*100);
- }
- }
- }
- } else if (houseFourMap) {
- g.drawRect(walls4[0].x, walls4[0].y, walls4[0].width, walls4[0].height);
- g.drawRect(walls4[1].x, walls4[1].y, walls4[1].width, walls4[1].height);
- g.drawRect(walls4[2].x, walls4[2].y, walls4[2].width, walls4[2].height);
- g.drawRect(walls4[3].x, walls4[3].y, walls4[3].width, walls4[3].height);
- g.drawRect(walls4[4].x, walls4[4].y, walls4[4].width, walls4[4].height);
- g.drawRect(walls4[5].x, walls4[5].y, walls4[5].width, walls4[5].height);
- g.drawRect(insideDoor[3].x, insideDoor[3].y, insideDoor[3].width, insideDoor[3].height);
- g.drawRect(insideDoor[4].x, insideDoor[4].y, insideDoor[4].width, insideDoor[4].height);
- for (int j = 0; j < walls4.length; j ++) {
- if (num > 0) {
- for (int i = 0; i < num; i ++) {
- if (bullet[i] != null) {
- bullet[i].update();
- if (bullet[i].getBox().intersects(walls4[j])) {
- bullet[i] = null;
- for (int n = i; n < num; n ++) {
- bullet[n] = bullet[n + 1];
- bullet[n + 1] = null;
- num --;
- }
- }
- }
- }
- }
- if (character.getBox().intersects(walls4[j])) {
- if(lastPressed == 0){
- character.setPositionY(character.getPositionY() +1*clock.getElapsedTime()*100);
- }else if(lastPressed == 1){
- character.setPositionY(character.getPositionY() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 2){
- character.setPositionX(character.getPositionX() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 3){
- character.setPositionX(character.getPositionX() +1*clock.getElapsedTime()*100);
- }
- }
- }
- } else if (houseFiveMap) {
- for (int j = 0; j < walls5.length; j ++) {
- if (num > 0) {
- for (int i = 0; i < num; i ++) {
- if (bullet[i] != null) {
- bullet[i].update();
- if (bullet[i].getBox().intersects(walls5[j])) {
- bullet[i] = null;
- for (int n = i; n < num; n ++) {
- bullet[n] = bullet[n + 1];
- bullet[n + 1] = null;
- num --;
- }
- }
- }
- }
- }
- if (character.getBox().intersects(walls5[j])) {
- if(lastPressed == 0){
- character.setPositionY(character.getPositionY() +1*clock.getElapsedTime()*100);
- }else if(lastPressed == 1){
- character.setPositionY(character.getPositionY() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 2){
- character.setPositionX(character.getPositionX() +-1*clock.getElapsedTime()*100);
- }else if(lastPressed == 3){
- character.setPositionX(character.getPositionX() +1*clock.getElapsedTime()*100);
- }
- }
- }
- }
- // Inside house one door collision
- if ((houseOneMap == true) && (character.getBox().intersects(insideDoor[0]))) {
- mainMap = true;
- houseOneMap = false;
- houseOneComplete = true;
- System.out.println("main map is true");
- }
- if (houseOneMap) {
- character.setElapsedTime(clock.getElapsedTime());
- if (paper1.moveDirection(character.getPositionX(), character.getPositionY()) == 3) {
- paper1.setPositionX(paper1.getPositionX() + -0.5 * clock.getElapsedTime() * 100);
- } else if (paper1.moveDirection(character.getPositionX(), character.getPositionY()) == 2) {
- paper1.setPositionX(paper1.getPositionX() + 0.5 * clock.getElapsedTime() * 100);
- } else if (paper1.moveDirection(character.getPositionX(), character.getPositionY()) == 1) {
- paper1.setPositionY(paper1.getPositionY() + 0.5 * clock.getElapsedTime() * 100);
- } else if (paper1.moveDirection(character.getPositionX(), character.getPositionY()) == 0) {
- paper1.setPositionY(paper1.getPositionY() + -0.5 * clock.getElapsedTime() * 100);
- }
- g.drawImage(paperSprite, (int) paper1.getPositionX(), (int) paper1.getPositionY(),
- (int) paper1.getWidth(), (int) paper1.getHeight(), null);
- if((character.getBox().intersects(paper1.getBox())) && (character.getElapsedTime() >= 2)) {
- character.setHealth(character.getHealth() - paper1.getDamage());
- character.setElapsedTime(0);
- }
- } else if (houseTwoMap) {
- banana1.setElapsedTime(clock.getElapsedTime());
- character.setElapsedTime(clock.getElapsedTime());
- if (banana1.getElapsedTime() >= 3 && banana1.getMove() == false) {
- banana1.moveDirection(character.getPositionX(), character.getPositionY());
- banana1.setElapsedTime(0);
- banana1.setMove(true);
- } else if (banana1.getElapsedTime() >= 2 && banana1.getMove() == true) {
- banana1.setElapsedTime(0);
- banana1.setMove(false);
- }
- if (banana1.getMove() == true) {
- if (banana1.getDirection() == 3) {
- banana1.setPositionX(banana1.getPositionX() + -2 * clock.getElapsedTime() * 100);
- } else if (banana1.getDirection() == 2) {
- banana1.setPositionX(banana1.getPositionX() + 2 * clock.getElapsedTime() * 100);
- } else if (banana1.getDirection() == 1) {
- banana1.setPositionY(banana1.getPositionY() + 2 * clock.getElapsedTime() * 100);
- } else if (banana1.getDirection() == 0) {
- banana1.setPositionY(banana1.getPositionY() + -2 * clock.getElapsedTime() * 100);
- }
- }
- g.drawImage(bananaSprite, (int) banana1.getPositionX(), (int) banana1.getPositionY(),
- banana1.getWidth(), banana1.getHeight(), null);
- if((character.getBox().intersects(banana1.getBox())) && (character.getElapsedTime() >= 2)) {
- character.setHealth(character.getHealth() - banana1.getDamage());
- character.setElapsedTime(0);
- }
- } else if (houseThreeMap) {
- trashCan1.setElapsedTime(clock.getElapsedTime());
- character.setElapsedTime(clock.getElapsedTime());
- if (trashCan1.getElapsedTime() >= 1) {
- trashCan1.setElapsedTime(0);
- for (int i = 0; i < 1000; i++) {
- if (enemyBullets[i] == null) {
- enemyBullets[i] = new EnemyBullet(trashCan1.getPositionX(), trashCan1.getPositionY(),
- bulletSprite, character.getPositionX(), character.getPositionY());
- break;
- }
- }
- }
- for (int i = 0; i < 1000; i++) {
- if (enemyBullets[i] != null) {
- enemyBullets[i].setPositionX(
- enemyBullets[i].getPositionX() + Math.cos(enemyBullets[i].getAngle()) * 3);
- enemyBullets[i].setPositionY(
- enemyBullets[i].getPositionY() + Math.sin(enemyBullets[i].getAngle()) * 3);
- g.drawImage(bananaSprite, (int) enemyBullets[i].getPositionX(),
- (int) enemyBullets[i].getPositionY(), enemyBullets[i].getWidth(),
- enemyBullets[i].getHeight(), null);
- }
- }
- for(int i=0; i<1000; i++) {
- if(enemyBullets[i] != null) {
- if((character.getBox().intersects(enemyBullets[i].getBox())) && (character.getElapsedTime() >= 1)) {
- character.setHealth(character.getHealth() - trashCan1.getDamage());
- character.setElapsedTime(0);
- }
- enemyBullets[i].update();
- }
- }
- } else if (houseFourMap) {
- sodaCan1.setElapsedTime(clock.getElapsedTime());
- sodaCan2.setElapsedTime(clock.getElapsedTime());
- character.setElapsedTime(clock.getElapsedTime());
- sodaCan1.shoot(2 * sodaCan1.getElapsedTime() * 100);
- sodaCan2.shoot(2 * sodaCan2.getElapsedTime() * 100);
- sodaCan1.setElapsedTime(0);
- sodaCan2.setElapsedTime(0);
- g.fillArc((int)sodaCan1.getPositionX(), (int)sodaCan1.getPositionY(),
- sodaCan1.getRadius(), sodaCan1.getRadius(), (int)sodaCan1.getStartAngle(),
- sodaCan1.getArcAngle());
- g.fillArc((int)sodaCan2.getPositionX(), (int)sodaCan2.getPositionY(),
- sodaCan2.getRadius(), sodaCan2.getRadius(), (int)sodaCan2.getStartAngle(),
- sodaCan2.getArcAngle());
- double distance1 = Math.sqrt(Math.pow(character.getPositionX()-(sodaCan1.getPositionX()+sodaCan1.getRadius()/2), 2) + Math.pow(character.getPositionY()-(sodaCan1.getPositionY()+sodaCan1.getRadius()/2), 2));
- if(distance1 <= sodaCan1.getRadius()/2) {
- double angle = Math.atan2(character.getPositionY()-(sodaCan1.getPositionY()+sodaCan1.getRadius()/2), character.getPositionX()-(sodaCan1.getPositionX()+sodaCan1.getRadius()/2));
- angle = Math.toDegrees(angle);
- if(angle < 0) {
- angle *= -1;
- }else {
- angle = 360 - angle;
- }
- System.out.println("angle: " + angle);
- System.out.println("startangle: " + sodaCan1.getStartAngle());
- if((angle >= sodaCan1.getStartAngle()) && (angle <= sodaCan1.getStartAngle()+sodaCan1.getArcAngle()) && (character.getElapsedTime() >= 1.5)) {
- character.setHealth(character.getHealth()-sodaCan1.getDamage());
- character.setElapsedTime(0);
- }
- }
- //System.out.println("distance: "+distance1);
- } else if (houseFiveMap) {
- // House 5 Stuff
- skunkoon.setElapsedTime(clock.getElapsedTime());
- character.setElapsedTime(clock.getElapsedTime());
- if (skunkoon.getElapsedTime() >= 2) {
- skunkoon.setElapsedTime(0);
- int bulletNum = 0;
- for (int i = 0; i < 1000; i++) {
- if (enemyBullets[i] == null) {
- if (bulletNum == 0) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() - 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 1) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 2) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() + 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 3) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() - 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 4) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() - 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() - 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 5) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() + 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() - 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 6) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() + 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else if (bulletNum == 7) {
- enemyBullets[i] = new EnemyBullet(skunkoon.getPositionX() + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + skunkoon.getHeight() / 2, bulletSprite,
- skunkoon.getPositionX() - 10 + skunkoon.getWidth() / 2,
- skunkoon.getPositionY() + 10 + skunkoon.getHeight() / 2);
- bulletNum++;
- } else {
- break;
- }
- }
- }
- }
- for (int i = 0; i < 1000; i++) {
- if (enemyBullets[i] != null) {
- enemyBullets[i].setPositionX(
- enemyBullets[i].getPositionX() + Math.cos(enemyBullets[i].getAngle()) * 3);
- enemyBullets[i].setPositionY(
- enemyBullets[i].getPositionY() + Math.sin(enemyBullets[i].getAngle()) * 3);
- enemyBullets[i].update();
- if((character.getBox().intersects(enemyBullets[i].getBox())) && (character.getElapsedTime() >= 1)) {
- character.setHealth(character.getHealth() - skunkoon.getDamage());
- character.setElapsedTime(0);
- }
- g.drawImage(bananaSprite, (int) enemyBullets[i].getPositionX(),
- (int) enemyBullets[i].getPositionY(), enemyBullets[i].getWidth(),
- enemyBullets[i].getHeight(), null);
- }
- }
- /*
- * for(int i=0; i<1000; i++) { if(enemyBullets[i] != null) {
- * if((character.getBox().intersects(enemyBullets[i].getBox())) &&
- * (character.getElapsedTime() >= 2)) {
- * character.setHealth(character.getHealth() - skunkoon.getDamage());
- * character.setElapsedTime(0); } enemyBullets[i].update(); } }
- */
- skunkoon.setPositionX(skunkoon.getPositionX()
- + Math.cos(skunkoon.getAngle(character.getPositionX(), character.getPositionY())) * 0.5);
- skunkoon.setPositionY(skunkoon.getPositionY()
- + Math.sin(skunkoon.getAngle(character.getPositionX(), character.getPositionY())) * 0.5);
- g.drawImage(bananaSprite, (int) skunkoon.getPositionX(), (int) skunkoon.getPositionY(),
- skunkoon.getWidth(), skunkoon.getHeight(), null);
- }
- if (itemUsed) {
- if (item instanceof Food) {
- character.setHealth(character.getHealth() + ((Food)item).getNutritionValue());
- itemUsed = false;
- } else {
- keyNum = ((Key)item).getKeyNum();
- }
- }
- if (pocketOpen) {
- newPocketImage = pocketImage.getScaledInstance(770, 560, Image.SCALE_DEFAULT);
- g.drawImage(newPocketImage, 60, 125, this);
- g.setColor(Color.WHITE);
- for (int i = 0; i < 12; i ++) {
- if (pocket.getItem(i) != null) {
- if (i == pocketNum) {
- newItem = pocket.getItem(i).getImage().getScaledInstance(150, 150, Image.SCALE_DEFAULT);
- g.drawImage(newItem, 61 + ((i%3)*133), 130 + ((i/3)*133), this);
- newItem = pocket.getItem(i).getImage().getScaledInstance(150, 150, Image.SCALE_DEFAULT);
- g.drawImage(newItem, 679, 157, this);
- g.setFont(new Font("TimesRoman", Font.BOLD, 19));
- g.drawString(pocket.getItem(i).getName(), 550, 235);
- if (pocket.getItem(i) instanceof Food) {
- g.drawString("Type: Food", 550, 340);
- g.drawString(pocket.getItem(i).getDescription(), 550, 380);
- } else {
- g.drawString("Type: Key", 550, 340);
- g.drawString(pocket.getItem(i).getDescription().substring(0, pocket.getItem(i).getDescription().indexOf(".")), 550, 380);
- g.drawString(pocket.getItem(i).getDescription().substring(pocket.getItem(i).getDescription().indexOf(".") + 2), 550, 400);
- }
- g.drawString("Press space to use", 550, 530);
- } else {
- newItem = pocket.getItem(i).getImage().getScaledInstance(110, 110, Image.SCALE_DEFAULT);
- g.drawImage(newItem, 81 + ((i%3)*133), 150 + ((i/3)*133), this);
- }
- }
- }
- g.drawRect(81 + ((pocketNum%3)*133), 150 + ((pocketNum/3)*133), 110, 110);
- }
- }
- g.setColor(Color.GRAY);
- g.fillRect(0, 0, 450, 45);
- g.setColor(Color.BLACK);
- g.fillRect(30, 10, 400, 25);
- g.setFont(new Font("TimesRoman", Font.BOLD, 15));
- g.drawString("HP", 5, 28);
- g.setColor(Color.RED);
- g.fillRect(30, 10, character.getHealth() * 4, 25);
- }
- }
- // ----------- Inner class for the keyboard listener - this detects key presses
- // and runs the corresponding code
- private class MyKeyListener implements KeyListener {
- // Box area (all num has to be mutiples of moveSpace)
- public void keyTyped(KeyEvent e) {
- }
- public void keyPressed(KeyEvent e) {
- if (KeyEvent.getKeyText(e.getKeyCode()).equals("P")) { // If 'D' is pressed
- if (pocketOpen) {
- pocketOpen = false;
- } else {
- pocketOpen = true;
- }
- } else if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { // If ESC is pressed
- System.exit(0);
- } else if (e.getKeyCode() == KeyEvent.VK_UP) {
- if (pocketOpen) {
- if (pocketNum > 2) {
- pocketNum -= 3;
- }
- } else {
- direction[0] = true;
- lastPressed = 0;
- }
- } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
- if (pocketOpen) {
- if (pocketNum < 9) {
- pocketNum += 3;
- }
- } else {
- direction[1] = true;
- lastPressed = 1;
- }
- } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
- if (pocketOpen) {
- if (pocketNum < 11) {
- pocketNum ++;
- }
- } else {
- direction[2] = true;
- lastPressed = 2;
- }
- } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
- if (pocketOpen) {
- if (pocketNum > 0) {
- pocketNum --;
- }
- } else {
- direction[3] = true;
- lastPressed = 3;
- }
- }
- }
- public void keyReleased(KeyEvent e) {
- if (e.getKeyCode() == KeyEvent.VK_UP) {
- direction[0] = false;
- } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
- direction[1] = false;
- } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
- direction[2] = false;
- } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
- direction[3] = false;
- } else if (e.getKeyCode() == KeyEvent.VK_SPACE) {
- if (pocketOpen) {
- item = pocket.useItem(pocketNum);
- itemUsed = true;
- } else {
- space = true;
- }
- }
- }
- } // end of keyboard listener
- // ----------- Inner class for the keyboard listener - This detects mouse
- // movement & clicks and runs the corresponding methods
- private class MyMouseListener implements MouseListener {
- public void mouseClicked(MouseEvent e) {
- System.out.println("Mouse Clicked");
- System.out.println("X:" + e.getX() + " y:" + e.getY());
- }
- public void mousePressed(MouseEvent e) {
- }
- public void mouseReleased(MouseEvent e) {
- }
- public void mouseEntered(MouseEvent e) {
- }
- public void mouseExited(MouseEvent e) {
- }
- } // end of mouselistener
- }
- //A class to track time
- /*
- * //A class to represent the object moving around on the screen class MovingBox
- * { double xPosition, yPosition; double xSpeed; int height, width; Rectangle
- * boundingBox; // rectangle that is used for collision detection
- *
- * public MovingBox(int x, int y, int w, int h) { xPosition = x; yPosition = y;
- * width = w; height = h; xSpeed = 1; boundingBox = new Rectangle((int)
- * xPosition, (int) yPosition, width, height); }
- *
- * public void update(double elapsedTime) { // update the content if (xPosition
- * < 0) xSpeed = 1; else if (xPosition > 1000) xSpeed = -1; xPosition =
- * xPosition + xSpeed * elapsedTime * 100; // d = d0 + vt boundingBox.x = (int)
- * xPosition; // System.out.println(elapsedTime*10+"\n"); }
- *
- * public void draw(Graphics g) { g.setColor(Color.BLUE); // There are many
- * graphics commands that Java can use g.fillRect((int) xPosition, (int)
- * yPosition, width, height); // notice the y is a variable that we control from
- * // our animate method } }
- *
- * //Better to abstract the FrameRate stuff class FrameRate {
- *
- * String frameRate; // to display the frame rate to the screen long
- * lastTimeCheck; // store the time of the last time the time was recorded long
- * deltaTime; // to keep the elapsed time between current time and last time int
- * frameCount; // used to count how many frame occurred in the elapsed time
- * (fps)
- *
- * public FrameRate() { lastTimeCheck = System.currentTimeMillis(); frameCount =
- * 0; frameRate = "0 fps"; }
- *
- * public void update() { long currentTime = System.currentTimeMillis(); // get
- * the current time deltaTime += currentTime - lastTimeCheck; // add to the
- * elapsed time lastTimeCheck = currentTime; // update the last time var
- * frameCount++; // everytime this method is called it is a new frame if
- * (deltaTime >= 1000) { // when a second has passed, update the string message
- * frameRate = frameCount + " fps"; frameCount = 0; // reset the number of
- * frames since last update deltaTime = 0; // reset the elapsed time } }
- *
- * public void draw(Graphics g, int x, int y) { g.drawString(frameRate, x, y);
- * // display the frameRate }
- *
- * }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement