CaveGame.java (2495B)
1 import java.awt.Color; 2 import java.awt.event.KeyEvent; 3 import java.awt.event.KeyListener; 4 5 import javax.swing.JFrame; 6 7 //* Copyright (c) Mary Percival 2003 */ 8 /* CaveGame game Created December 2003 */ 9 10 public class CaveGame extends JFrame implements KeyListener, Runnable { 11 private static final long serialVersionUID = -4869537669824700402L; 12 private static final int WIDTH = 613; 13 private static final int HEIGHT = 482; 14 private static CaveArea area; 15 CaveInterface currentCavern; 16 static Thread timer; 17 18 // ************************************************************* 19 public static void main(String[] args) { 20 CaveGame caveGame = new CaveGame(); 21 22 caveGame.setLayout(null); 23 caveGame.setBackground(Color.white); 24 caveGame.setSize(WIDTH, HEIGHT); 25 caveGame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 26 caveGame.setTitle("Cave Game"); 27 28 area = new CaveArea(caveGame); 29 caveGame.add(area); 30 31 caveGame.setVisible(true); 32 //area.setBounds(0, 0, caveGame.getBounds().width, caveGame.getBounds().height); 33 area.setBounds(0, 0, WIDTH, HEIGHT); 34 area.setVisible(true); 35 36 caveGame.addKeyListener(caveGame); 37 area.addKeyListener(caveGame); 38 area.requestFocus(); 39 caveGame.currentCavern = new FirstRoom(caveGame, area); 40 caveGame.currentCavern.display(); 41 timer = new Thread(caveGame); 42 timer.start(); 43 } 44 45 // this class will use just the key pressed event 46 @Override 47 public void keyPressed(KeyEvent e) { 48 if (e.getKeyCode() == KeyEvent.VK_A) { 49 currentCavern = currentCavern.processA(); 50 currentCavern.display(); 51 area.repaint(); 52 } else if (e.getKeyCode() == KeyEvent.VK_B) { 53 currentCavern = currentCavern.processB(); 54 currentCavern.display(); 55 area.repaint(); 56 } else if (e.getKeyCode() == KeyEvent.VK_C) { 57 currentCavern = currentCavern.processC(); 58 currentCavern.display(); 59 area.repaint(); 60 } else if (e.getKeyCode() == KeyEvent.VK_ENTER) { 61 currentCavern = new FirstRoom(this, area); 62 currentCavern.display(); 63 area.repaint(); 64 } 65 } 66 67 @Override 68 public void keyReleased(KeyEvent e) { 69 } 70 71 @Override 72 public void keyTyped(KeyEvent e) { 73 } 74 75 @Override 76 public void run() { 77 } 78 }