anonymous
2009-11-17 07:41:32 UTC
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.awt.Image;
import static java.lang.System.*;
public class KeypressDemo {
public static void main(String args[]){
Image play;
play = new ImageIcon ("M:\\My Pictures\\chuck_norris_cat.jpg").getImage();
JFrame j=new JFrame();
DisplayMode DM = new DisplayMode(800,600,32,60);//width, height, bit-resolution, refresh rate
GraphicsEnvironment enviro = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = enviro.getDefaultScreenDevice();
//j.setVisible(true);
j.setUndecorated(true);
device.setFullScreenWindow(j);
device.setDisplayMode(DM);
j.getContentPane().add(new KeypressPanel(play));
}
}
class KeypressPanel extends JPanel implements KeyListener {
static int x,y; //initialize
Rectangle land = new Rectangle(375,275,50,50);
Rectangle player = new Rectangle(100,100,10,10);
Image edg;
public KeypressPanel(Image play){
edg = play;
Toolkit tk = getToolkit();
Cursor HiddenCursor = tk.createCustomCursor(tk.getImage("null.jpg"), new Point(0,0),"null");
setCursor(HiddenCursor);
setBackground(Color.red);
x=100; y=100;
addKeyListener(this);
}
public void paint(Graphics g){
super.paint(g);
//g.setColor(Color.black);
g.drawImage(edg,player.x,player.y,50,50, null);
g.setColor(Color.magenta);
g.fillRect(land.x,land.y,50,50);
requestFocus();
}
// To fulfill our obligations as a KeyListener, we implement the following...
public void keyPressed(KeyEvent e){ }
public void keyReleased(KeyEvent e){ }
public void keyTyped(KeyEvent e){
switch(e.getKeyChar()){
case 'w': player.y=player.y-10;
if(player.intersects(land))
{
player.y=player.y+10;
}break;
case 'q': player.y=player.y-10;x=x-10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.y=player.y+10;player.x=player.x+10;
}break;
case 'e': player.y=player.y-10;player.x=player.x+10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.y=player.y+10;player.x=player.x-10;
}break;
case 'z': player.y=player.y+10;player.x=player.x-10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.y=player.y-10;player.x=player.x+10;
}break;
case 'c': player.y=player.y+10;player.x=player.x+10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.y=player.y-10;player.x=player.x-10;
}break;
case 'a': player.x=player.x-10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.x=player.x+10;
}break;
case 'd': player.x=player.x+10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.x=player.x-10;
}break;
case 's': player.y=player.y+10;
if(player.x>=380 /*left side*/ && player.x<=410/*right side*/ && player.y<=310 /*bottom*/ && player.y>=280/*top*/)
{
player.y=player.y-10;
}break;
case 'l': System.exit(0); break;
case '1': out.println("bang bang");break;
case '2': out.println("slide!");break;
case '3': out.println("quick draw...change!");break;
default:
}
if(x>=380 /*left side*/ && x<=410/*right side*/ && y<=310 /*bottom*/ && y>=280/*top*/)
{
x=10;
y=10;
}
if(player.y>=590)
player.y=590;
else if(player.y<=0)
player.y=0;
if(player.x>=790)
player.x=790;
else if(player.x<=0)
player.x=0;
repaint();
}
}