rendered paste bodyimport java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OrbitAttack extends JFrame implements MouseListener, KeyListener
{
private final int WINDOW_WIDTH = 600;
private final int WINDOW_HEIGHT = 600;
Ship player1;
Ship player2;
Environment env;
Toolkit T = this.getToolkit();
Image menuImg = T.getImage("menu_background.png");
Image menuSelectImg = T.getImage("menu_selector.png");
int menuOption = 0;
Image gameImg = T.getImage("game_background.png");
Image gameTime = T.getImage("game_time.png");
Image gameHealth = T.getImage("game_health.png");
public OrbitAttack()
{
env = new Environment();
this.setSize(600, 625);
this.setVisible(true);
this.addMouseListener(this);
this.addKeyListener(this);
}
private void drawMenu(){
// Called in all Drawing Methods
Container clientArea = this.getContentPane();
Graphics gfx = clientArea.getGraphics();
gfx.drawImage(this.menuImg, 0, 0, this);
gfx.drawImage(this.menuSelectImg, 375, 445+(menuOption*65), this);
}
private void drawHealth(Player player){
Container clientArea = this.getContentPane();
Graphics gfx = clientArea.getGraphics();
gfx.drawImage(gameHealth, 10+(player.playerNum*340), 10, gameHealth.getWidth(this)*(player.health.myHealth/100) , gameHealth.getHeight(this), this);
gfx.setFont(new java.awt.Font("Tahoma", Font.BOLD, 15));
gfx.setColor(Color.RED);
gfx.drawString(player.myName, 10+(player.playerNum*503), 65);
gfx.setColor(Color.BLACK);
}
private void drawGame(){
Container clientArea = this.getContentPane();
Graphics gfx = clientArea.getGraphics();
gfx.drawImage(this.gameImg, 0, 0, this);
gfx.drawImage(this.gameTime,270, 10, this);
drawHealth(player1);
drawHealth(player2);
player2.move();
player2.imageAngle++;
player1.move();
player1.imageAngle++;
gfx.drawImage(player1.rotatedImage,(int) player1.myLocation().getX(), (int) player1.myLocation().getY(), this);
gfx.drawImage(player2.rotatedImage,(int) player2.myLocation().getX(), (int) player2.myLocation().getY(), this);
this.repaint();
}
private void drawHighScores(){return;} //listens for clicks && keyboard and paints the high score screen. called in paint
public void paint(Graphics g){
Container clientArea = this.getContentPane();
Graphics gfx = clientArea.getGraphics();
gfx.setFont(new java.awt.Font("Dialog", Font.PLAIN, 10));
if (env.gameState == env.MENU){
drawMenu();
} else if (env.gameState == env.GAME){
drawGame();
}
//this.repaint(); //if commented, on resize, image goes blank.
}//paints, duh...
void play(){ //starts the game
env.gameState = env.GAME;
player1 = new Ship(0);
player2 = new Ship(1);
}
/**
* MouseListener and KeyListener methods.
*/
public void mouseClicked(MouseEvent event) {}
public void mouseEntered(MouseEvent event) {}
public void mouseExited(MouseEvent event) {}
public void mousePressed(MouseEvent event) {}
public void mouseReleased(MouseEvent event) {
if (env.gameState == env.MENU){
if (event.getX() > 375 && event.getY() > 467 && event.getY() < 512) play();
if (event.getX() > 375 && event.getY() > 534 && event.getY() < 579) this.setVisible(false);
}
this.repaint();
}
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
int id = e.getID();
if(env.gameState == env.MENU){
if (KeyEvent.getKeyText(e.getKeyCode()).equals("Up")) //up arrow (NOT ID 38)
if(menuOption==0)
menuOption = 1;
else
menuOption = 0;
else if (KeyEvent.getKeyText(e.getKeyCode()).equals("Down")) //down arrow
if(menuOption==1)
menuOption = 0;
else
menuOption = 1;
else if (KeyEvent.getKeyText(e.getKeyCode()).equals("Enter"))
if (menuOption==0)//play
play();
else if (menuOption==1) //quit
this.setVisible(false);
}
this.repaint();
}
public void keyTyped(KeyEvent e) {}
public static void main (String [] args){new OrbitAttack();}
}