All pastes #192371 Raw Edit

Game

public java v1 · immutable
·published 2006-10-05 21:43 UTC
rendered paste body
import java.awt.Canvas;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics2D;import java.awt.Image;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.image.BufferStrategy;import java.io.IOException;import java.net.URL;import javax.imageio.ImageIO;public class Game extends Canvas implements KeyListener {	private Image sprite;	private Image sprite2;	private Image sprite3;	private BufferStrategy strategy;	private boolean left;	private boolean right;	private boolean up;	private boolean down;	private Map map;	private Entity player;	public Game() {		try {			URL url = Thread.currentThread().getContextClassLoader().getResource("res/sprite.gif");			if (url == null) {				System.err.println("Unable to find sprite: res/sprite.gif");				System.exit(0);			}			sprite = ImageIO.read(url);		} catch (IOException e) {			System.err.println("Unable to load sprite: res/sprite.gif");			System.exit(0);		}		try {			URL url2 = Thread.currentThread().getContextClassLoader().getResource("res/maze.gif");			if (url2 == null) {				System.err.println("Unable to find sprite: res/maze.gif");				System.exit(0);			}			sprite2 = ImageIO.read(url2);		} catch (IOException e) {			System.err.println("Unable to load sprite: res/maze.gif");			System.exit(0);		}		try {			URL url3 = Thread.currentThread().getContextClassLoader().getResource("res/box.gif");			if (url3 == null) {				System.err.println("Unable to find sprite: res/box.gif");				System.exit(0);			}			sprite3 = ImageIO.read(url3);		} catch (IOException e) {			System.err.println("Unable to load sprite: res/box.gif");			System.exit(0);		}		Frame frame = new Frame("tomb sniffer");		frame.setLayout(null);		setBounds(0,0,800,800);		frame.add(this);		frame.setSize(800,800);		frame.setResizable(false);		frame.addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {				System.exit(0);			}		});		frame.addKeyListener(this);		addKeyListener(this);		frame.setVisible(true);		createBufferStrategy(2);		strategy = getBufferStrategy();		map = new Map(sprite2, sprite3);		player = new Entity(sprite, map, 1.5f, 1.5f);		gameLoop();	}	public void gameLoop() {		boolean gameRunning = true;		while (gameRunning) {			Graphics2D g = (Graphics2D) strategy.getDrawGraphics();						g.setColor(Color.black);			g.fillRect(0,0,800,800);						g.translate(100,100);			map.paint(g);			player.paint(g);						g.dispose();			strategy.show();						try { Thread.sleep(10); } catch (Exception e) {};				logic();			}	}		public void logic() {		float dx = 0;		float dy = 0;		if (left) {			dx -= 1;		}		if (right) {			dx += 1;		}		if (up) {			dy -= 1;		}		if (down) {			dy += 1;		}		if ((dx != 0) || (dy != 0)) {			player.move(dx,dy);		}	}	public void keyTyped(KeyEvent e) {	}	public void keyPressed(KeyEvent e) {		if (e.getKeyCode() == KeyEvent.VK_LEFT) {			left = true;		}		if (e.getKeyCode() == KeyEvent.VK_RIGHT) {			right = true;		}		if (e.getKeyCode() == KeyEvent.VK_DOWN) {			down = true;		}		if (e.getKeyCode() == KeyEvent.VK_UP) {			up = true;		}	}	public void keyReleased(KeyEvent e) {		if (e.getKeyCode() == KeyEvent.VK_LEFT) {			left = false;		}		if (e.getKeyCode() == KeyEvent.VK_RIGHT) {			right = false;		}		if (e.getKeyCode() == KeyEvent.VK_DOWN) {			down = false;		}		if (e.getKeyCode() == KeyEvent.VK_UP) {			up = false;		}	}	public static void main(String[] argv) {		new Game();	}}