You are on page 1of 7

package javagame; import import import import import import import import import import import import java.awt.

Color; java.awt.Font; java.awt.Graphics; java.awt.Graphics2D; java.awt.Image; java.awt.Rectangle; java.awt.RenderingHints; java.awt.event.KeyAdapter; java.awt.event.KeyEvent; java.util.ArrayList; javax.swing.ImageIcon; javax.swing.JFrame;

public class JavaGame extends JFrame implements Runnable{ int x,y,x1,y1, xDirection, yDirection, x1Direction, y1Direction; private Image dbImage, aux, bg; private Graphics dbg; private Graphics2D g2; private Font font = new Font("Arial", Font.BOLD, 30); private Image bulb, charm; Rectangle r1, r2, r3, r4; private static ArrayList bullets; private boolean fata, fata1; private String mess=""; public void run(){ try{ while(true){ move(); for(int w = 0; w < bullets.size(); w++){ bullet m = (bullet)bullets.get(w); if (m.getVisible()){ m.move(10, 0); }else{ m.move(0,-10); } if (m.getVisible2()){ m.move1(10, 0); }else{ m.move1(0,-10); }

r1 = new Rectangle(x,y,100,93); r3 = new Rectangle(m.getX1(),m.getY(),50,50); r4 = new Rectangle(m.getX2(),m.getY(),50,50); if(r1.intersects(r3)){ m.setVisible(false); } if(r1.intersects(r4)){ m.setVisible1(false); }

r1 = new Rectangle(x1,y1,100,93); r3 = new Rectangle(m.getX3(),m.getY1(),50,50); r4 = new Rectangle(m.getX4(),m.getY1(),50,50); if(r1.intersects(r3)){ m.setVisible2(false); } if(r1.intersects(r4)){ m.setVisible3(false); } } Thread.sleep(10); } }catch(Exception e){ System.out.println("Error"); } } public void move(){ x += xDirection; y += yDirection; if (x >= 900){ x = 900; } if (x <= 500){ x = 500; } if(y <= 25){ y = 25; } if(y >= 605){ y = 605; } if (testCol()){ if(y <= y1 && y1-y+5 >= 93){ y += -5; return; } if(y > y1 && y-y1+5 >= 93){ y += 5; return; } if(x >= x1){ x += 5; return; } if(x < x1){ x += -5; return; } } x1 += x1Direction; y1 += y1Direction; if (x1 <= 0){ x1 = 0; } if (x1 >= 400){

x1 = 400; } if(y1 <= 25){ y1 = 25; } if(y1 >= 605){ y1 = 605; } if (testCol()){ if(y <= y1 && y1-y+5 >= 93){ y1 += 5; return; } if(y > y1 && y-y1+5 >= 93){ y1 += -5; return; } if(x >= x1){ x1 += -5; return; } if(x < x1){ x1 += 5; return; } } } public void setXDirection(int xdir){ xDirection = xdir; } public void setYDirection(int ydir){ yDirection = ydir; } public void setX1Direction(int xdir){ x1Direction = xdir; } public void setY1Direction(int ydir){ y1Direction = ydir; } public boolean testCol(){ r1 = new Rectangle(x,y,100,93); r2 = new Rectangle(x1,y1,100,93); if (r1.intersects(r2)){ return true; }else{ return false; } } public class AL extends KeyAdapter{ public void keyPressed(KeyEvent e){ int key = e.getKeyCode(); //first character if (key == e.VK_UP){

setYDirection(-5); } if (key == e.VK_DOWN){ setYDirection(5); } if (key == e.VK_RIGHT){ setXDirection(5); ImageIcon i = new ImageIcon("src\\javagame\\bulbasaur1 .png"); aux = i.getImage(); fata1 = true; if (aux != bulb){ bulb = aux; } } if (key == e.VK_LEFT){ setXDirection(-5); fata1 = false; ImageIcon i = new ImageIcon("src\\javagame\\bulbasaur2 .png"); aux = i.getImage(); if (aux != bulb){ bulb = aux; } } if (key == e.VK_NUMPAD4){ fire1(3); } if (key == e.VK_NUMPAD5){ fire1(4); } //second character if (key == e.VK_W){ setY1Direction(-5); } if (key == e.VK_S){ setY1Direction(5); } if (key == e.VK_D){ setX1Direction(5); ImageIcon i = new ImageIcon("src\\javagame\\charmander 1.png"); aux = i.getImage(); fata = true; if (aux != charm){ charm = aux; } } if (key == e.VK_A){ setX1Direction(-5); fata = false; ImageIcon i = new ImageIcon("src\\javagame\\charmander 2.png"); aux = i.getImage(); if (aux != charm){ charm = aux; } } if (key == e.VK_J){

fire(1); } if (key == e.VK_K){ fire(2); } } public void keyReleased(KeyEvent e){ int key = e.getKeyCode(); if (key == e.VK_UP){ setYDirection(0); } if (key == e.VK_DOWN){ setYDirection(0); } if (key == e.VK_RIGHT){ setXDirection(0); } if (key == e.VK_LEFT){ setXDirection(0); } if (key == e.VK_W){ setY1Direction(0); } if (key == e.VK_S){ setY1Direction(0); } if (key == e.VK_D){ setX1Direction(0); } if (key == e.VK_A){ setX1Direction(0); } } } //attack 1st character public void fire(int atk){ if(Math.abs(x-x1) > 110 Math.abs(y-y1) >= 90){ bullet z; if(fata){ if(atk == 1){ z = new bullet(x1+50,y1,1); }else{ z = new bullet(x1+50,y1,2); } z.setVisible(true); z.setVisible1(false); }else{ if(atk == 1){ z = new bullet(x1-5,y1,1); }else{ z = new bullet(x1-5,y1,2); } z.setVisible1(true); z.setVisible(false); } bullets.add(z); } }

//attack 2nd character public void fire1(int atk){ if(Math.abs(x-x1) > 110 Math.abs(y-y1) >= 90){ bullet z; if(fata1){ if(atk == 3){ z = new bullet(x+50,y,3); }else{ z = new bullet(x+50,y,4); } z.setVisible2(true); z.setVisible3(false); }else{ if(atk == 3){ z = new bullet(x-5,y,3); }else{ z = new bullet(x-5,y,4); } z.setVisible3(true); z.setVisible2(false); } bullets.add(z); } } public JavaGame(){ //load image ImageIcon i = new ImageIcon("src\\javagame\\bulbasaur2.png"); bulb = i.getImage(); i = new ImageIcon("src\\javagame\\charmander1.png"); charm = i.getImage(); i = new ImageIcon("src\\javagame\\field.png"); bg = i.getImage(); fata = true; fata1 = false; //game properties bullets = new ArrayList(); addKeyListener(new AL()); setTitle("Java Game"); setSize(1000,700); setResizable(false); setVisible(true); setBackground(Color.CYAN); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); x = 850; y = 250; x1 = 50; y1 = 250; } public void paint(Graphics g){ dbImage = createImage(getWidth(), getHeight()); dbg = dbImage.getGraphics(); paintComponent(dbg); g.drawImage(dbImage,0,0,this); } public void paintComponent(Graphics g){ g.setFont(font);

if(g instanceof Graphics2D){ g2 = (Graphics2D)g; g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING ,RenderingHints.VALUE_TEXT_ANTIALIAS_ON); } g.drawImage(bg,0,0,null); g.drawString("Charmander", 50, 100); g.drawString("Bulbasaur", 830, 100); g.drawImage(bulb, x, y, this); g.drawImage(charm, x1, y1, this); g.drawString(mess,300,100); for(int w = 0; w < bullets.size(); w++){ bullet m = (bullet)bullets.get(w); if (m.getVisible()){ g.drawImage(m.getImage(),m.getX1(),m.getY(), this); } if (m.getVisible1()){ g.drawImage(m.getImage(),m.getX2(),m.getY(), this); } if (m.getVisible2()){ g.drawImage(m.getImage(),m.getX3(),m.getY1(), th is); } if (m.getVisible3()){ g.drawImage(m.getImage(),m.getX4(),m.getY1(), th is); } } repaint(); } public static void main(String[] args){ JavaGame jg = new JavaGame(); Thread t1 = new Thread(jg); t1.start(); } }

You might also like