package galaga;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.ImageObserver;
import java.io.File;
import javax.sound.midi.Soundbank;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class mainmethod extends JFrame {
int x = 200, y = 325;
KL bob = new KL();
int xShoot = (int) (x + 37.5);
int yShoot = y;
boolean READY = false;
boolean enemy1hit = false;
boolean BulletShown = false;
JButton Start= new JButton("Start Game!");
boolean Gamestarted = false;
ImageIcon Spaceship = new ImageIcon("CRAPPYSPACESHIP.png");
Image Ship = Spaceship.getImage();
ImageObserver bo;
public mainmethod() {
super("Galaga");
setVisible(true);
setLocation(150, 150);
setSize(400, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
addKeyListener(bob);
setBackground(Color.white);
setLayout(new FlowLayout());
}
public class KL implements KeyListener {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("\nStarting with " + x);
System.out.println("x is now " + x);
System.out.println(" ");
x = x - 5;
xShoot=(int) (x+37.5);
System.out.println("Bullet is at: x: " + xShoot + " y: " + yShoot);
if (x <= 10) {
x = 10;
System.out
.println("Collision detected with left side of window!");
}
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("\nStarting with " + x);
System.out.println("x is now " + x);
x = x + 5;
System.out.println(" ");
xShoot=(int) (x+37.5);
System.out.println("Bullet is at: x: " + xShoot + " y: " + yShoot );
}
if (x >= 300) {
x = 300;
System.out
.println("Collision detected with right side of window!");
}
repaint();
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
READY = true;
System.out.println("FIRE! \n");
BulletShown=true;
}
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
READY = false;
System.out.println("Not READY TO FIRE! \n");
if(READY=true) {
yShoot = yShoot -5;
repaint();
}
}
}
@Override
public void keyTyped(KeyEvent e) {
}
}
public void paint(Graphics g) {
Image dbImage = createImage(getWidth(), getHeight());
Graphics dbGraphics = dbImage.getGraphics();
paintComponent(dbGraphics);
g.drawImage(dbImage, 0, 0, this);
repaint();
}
public void paintComponent(Graphics g) {
g.setColor(Color.CYAN);
Rectangle blarp = new Rectangle(x, y, 150, 150);
g.drawImage(Ship, (int) blarp.getX(), (int) blarp.getY(), 90, 50, null);
if (yShoot<4) {
yShoot=(int) blarp.getY();
xShoot=(int) ((int) blarp.getX() + 37.5);
repaint();
BulletShown=false;
}
g.setColor(Color.RED);
Rectangle Bullet = new Rectangle(xShoot, yShoot, 10, 20);
if(BulletShown==true){
g.fillRect((int) Bullet.getX(), (int) Bullet.getY(), 20, 30);
repaint();}
if(yShoot<323) {
yShoot = yShoot - 5;
repaint();
}
if(enemy1hit==false) {
g.fillOval(50, 50, 10, 10);
repaint();
}
if(Bullet.getX()<=57 && Bullet.getX()>=42 && Bullet.getY()<=60 && Bullet.getY()>=40) {
System.out.println("ENEMY1 Hit!");
enemy1hit= true;
}
}
}