Blues Males Sharing

Sabtu, 20 Februari 2010

Game Sederhana

ada lagi nie game sederhana dibuat pakai bahasa pemrograman java.
sebenarnya game ini amat sangat sederhana tapi lumayan juga buat nambah pengetahuan.





langsung saja kepada pemrogramannya karena sekarang juga sudah malem banget,hehehehe
udah jam 3 githu lho...hehehehehe
maklumlah lagi kejar target...


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Bola extends Canvas {
    int x;
    int y;
    int dX;
    int dY;
    boolean move=true;
    int posisi;
    int point;
    String pointanda="";
    int level =0;
  
    public Bola() {
        x=200;
        y=100;
        dX=5;
        dY=5;
        setBackground(Color.white);
    }
  
    public void paint(Graphics g){
        g.setColor(Color.blue);
        g.drawOval(x,y,10,10);
      
        if(move){
            x+=dX;
            y+=dY;
          
            if(x<0){
                dX=5+level;
            }else if(x+10>getWidth()){
                dX=-5-level;
            }
          
            if(y<0){
                dY=5+level;
            }else if(y+10>getHeight()){
                dY=-5-level;
            }
          
            //posisi batang kiri
            if(posisi==1 && y>130 && x>150){
                move=false;
                JOptionPane.showMessageDialog(null,"Selamat Point Anda "+ point,"Informasi",JOptionPane.INFORMATION_MESSAGE);
                System.exit(0);
            }
          
          
            //posisi batang kanan
            if(posisi ==2 && y>130 && x <150){
                move=false;
                JOptionPane.showMessageDialog(null,"Selamat Point Anda "+ point,"Informasi",JOptionPane.INFORMATION_MESSAGE);
                System.exit(0);
            }
          
            //menghitung point
            if((posisi==1 || posisi ==2) && y>130){
                point= point + 1;
            }
        }
      
        String pointanda=Integer.toString(point);
        System.out.println(pointanda);
      
        //bola akan menjadi cepat jika level kelipatan 5
        if(point>5){
            level=5;
        }
    }
}



class Animasi extends Thread{
    Bola picture;
  
    public Animasi(Bola obyekGambar){
        this.picture=obyekGambar;
    }
  
    public void run(){
        while(true){
            picture.repaint();
            try{
                sleep(50);
            }catch(Exception e){
            }
        }
    }
}


public class BolaAnimasi extends JFrame{
    Bola gambar = new Bola();
    Animasi proses = new Animasi(gambar);
    JButton kiri = new JButton("<");
    JButton kanan = new JButton(">");
    JLabel lblPoint = new JLabel("");
  
    public BolaAnimasi(){
        super("Game Sederhana Dengan Level");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocation(100,100);
        setSize(310,220);
        proses.start();
    }
  
    void komponenVisual(){
        getContentPane().setLayout(null);
        getContentPane().add(gambar);
        gambar.setBounds(0,0,300,140);
        getContentPane().add(kiri);
        kiri.setBounds(0,140,150,25);
        //kiri.setVisible(false);
        getContentPane().add(kanan);
        kanan.setBounds(150,140,150,25);
        getContentPane().add(lblPoint);
        lblPoint.setBounds(150,165,150,20);
      
        setVisible(true);
    }
  
    void aksiReaksi(){
      
        kanan.addKeyListener(new KeyAdapter()
        {
            public void keyPressed(KeyEvent k)
            {
                if(k.getKeyCode() == k.VK_RIGHT)
                {
                    gambar.move=true;
                    kiri.setVisible(true);
                    kiri.requestFocus(true);
                    kanan.setVisible(false);
                    gambar.posisi=1;
                }
            }
        });
      
      
        kiri.addKeyListener(new KeyAdapter()
        {
            public void keyPressed(KeyEvent k)
            {
                if(k.getKeyCode() == k.VK_LEFT)
                {
                    gambar.move=true;
                    kanan.setVisible(true);
                    kanan.requestFocus(true);
                    kiri.setVisible(false);
                    gambar.posisi=2;
                }
            }
        });
      
      
    }
  
    public static void main(String []args){
        BolaAnimasi game = new BolaAnimasi();
        game.komponenVisual();
        game.aksiReaksi();
    }
}simpan dengan nama BolaAnimasi.Java
setelah itu run... 

 dan hasilnya akan seperti gambar diatas...

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda