Skip to main content

Tutorial Pembuatan Game Pingpong Menggunakan Java Netbeans

Assalamualaikum Wr.Wb saya akan membuat game pimpong dengan menggunakan java netbeans.Saya menggunakan Netbeans IDE 8.2.Berikut langkah - langkah pembuatan game tersebut : 

1. Buka Aplikasi Netbeans IDE di Launchpad lalu klik Netbeans. 

2. Setelah Netbeans terbuka, membuat project baru dengan cara klik menu File > New Project atau bisa dengan tombol Shift+Command+N pada keyboard.

3. Pada Kotak dialog choise Project Anda pilih kategory Java dengan Tipe project Java Application. Setelah itu klik tombol Next, seperti gambar di bawah. 

4. Pada kotak dialog Name and Location, centang pada Create main Class, dan set as main project. Lalu memberikan Nama dengan Pimpong, setelah itu mengklik tombol finish.

5. Setelah itu pada project Pimpong yang ada di sidebar netbeans, klik Pimpong > sources Package > pimpong > Pimpong.java.
 
6. Kemudian mengetikkan Source program di dalam editor netbeans, Source programnya adalah :
 

package pingpong;


import java.awt.BorderLayout;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class PingPong extends JPanel implements KeyListener,

ActionListener, Runnable {
Font font=new Font("Verdana", Font.CENTER_BASELINE,14);
static boolean right = false;
static boolean left = false;
int ballx = 160;
int bally = 218;
int batx = 160;
int baty = 245;
int brickx = 70;
int bricky = 50;
int score=0;
Rectangle Ball = new Rectangle(ballx, bally, 6, 6);
Rectangle Bat = new Rectangle(batx, baty, 41, 6);
Rectangle[] Brick = new Rectangle[12];
Thread t;
public PingPong() {
addKeyListener(this);
setFocusable(true);
t = new Thread(this);
t.start();
}


public static void main(String[] args) {

JFrame frame = new JFrame();
PingPong game = new PingPong();
JButton button = new JButton("Restart");
frame.setSize(345, 320);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


frame.add(game);

frame.add(button, BorderLayout.SOUTH);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
button.addActionListener(game);


}


public void paint(Graphics g) {

g.setColor(Color.LIGHT_GRAY);
g.fillRect(0, 0, 350, 350);
g.setColor(Color.RED);
g.fillOval(Ball.x, Ball.y, Ball.width, Ball.height);
g.setColor(Color.BLACK);
g.fill3DRect(Bat.x, Bat.y, Bat.width, Bat.height, true);
g.setColor(Color.GRAY);
g.fillRect(0, 251, 450, 200);
g.setColor(Color.red);
g.drawRect(0, 0, 338, 250);
g.setFont(font);
g.setColor(Color.darkGray);
g.drawString("Score : "+score, 100, 12);
g.setColor(Color.black);
for (int i = 0; i < Brick.length; i++) {
if (Brick[i] != null) {
g.fill3DRect(Brick[i].x, Brick[i].y, Brick[i].width,
Brick[i].height, true);
}
}


if (ballFallDown == true || bricksOver == true) {

Font f = new Font("Verdana", Font.BOLD, 16);
g.setColor(Color.WHITE);
g.setFont(f);
g.drawString(status, 115, 130);
ballFallDown = false;
bricksOver = false;
}


}

int movex = -1;
int movey = -1;
boolean ballFallDown = false;
boolean bricksOver = false;
String str = "";
int count = 0;
String status;
public void run()


for (int i = 0; i < Brick.length; i++) {

Brick[i] = new Rectangle(brickx, bricky, 30, 10);
if (i == 5) {
brickx = 70;
bricky = 62;
}
if (i == 9) {
brickx = 100;
bricky = 74;
}
brickx += 31;
}


while (ballFallDown == false && bricksOver == false) {

// if(gameOver == true){return;}
for (int i = 0; i < Brick.length; i++) {
if (Brick[i] != null) {
if (Brick[i].intersects(Ball)) {
Brick[i] = null;
// movex = -movex;
movey = -movey;
count++;
score +=10;
//System.out.println(str);
}
}
}


if (count == Brick.length) { // check if ball hits all bricks

bricksOver = true;
status = "You Win !!!";
repaint();
}
repaint();
Ball.x += movex;
Ball.y += movey;


if (left == true) {


Bat.x -= 5;
right = false;
}
if (right == true) {
Bat.x += 5;
left = false;
}
if (Bat.x <= 4) {
Bat.x = 4;
} else if (Bat.x >= 298) {
Bat.x = 298;
}
if (Ball.intersects(Bat)) {
movey = -movey;
}
if (Ball.x <= 0 || Ball.x + Ball.height >= 335) {
movex = -movex;
}


if (Ball.y <= 0) {

movey = -movey;
}


if (Ball.y >= 250) {

ballFallDown = true;
status = "You Lose !! Please Restart The Game";
repaint();
}
try {
Thread.sleep(8);
} catch (Exception ex) {
}
}
}
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_LEFT) {
left = true;
}


if (keyCode == KeyEvent.VK_RIGHT) {

right = true;
}
}


@Override

public void keyReleased(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_LEFT) {
left = false;
}


if (keyCode == KeyEvent.VK_RIGHT) {

right = false;
}
}


@Override

public void keyTyped(KeyEvent arg0) {
}


@Override

public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if (str.equals("Restart")) {
//System.out.print("Selamat");
this.Ulang();


}

}


public void Ulang() {


requestFocus(true);

bally = 218;
baty = 245;
brickx = 70;
bricky = 50;
Ball = new Rectangle(ballx, bally, 6, 6);
Bat = new Rectangle(batx, baty, 41, 6);
Brick = new Rectangle[12];


movex = -1;

movey = -1;
ballFallDown = false;
bricksOver = false;
count = 0;
status = null;
for (int i = 0; i < Brick.length; i++) {
Brick[i] = new Rectangle(brickx, bricky, 31, 11);
if (i == 5) {
brickx = 70;
bricky = 62;
}
if (i == 9) {
brickx = 100;
bricky = 74;
}
brickx += 31;
}
repaint();
}
}


7. Setelah mengetik dan memeriksa hingga tidak terjadinya error, maka jalankan program dengan cara klik kanan pada pimpong.java lalu klik Run file, atau bisa dengan menekan shift + F6 pada keyboard.

8. lalu, setelah program berhasil di compile dan di run, maka akan muncul jendela game seperti pada gambar di bawah ini jika anda kalah maka akan muncul pesan seperti di gambar.



Game Pingpong


Selamat anda telah membuat sebuah game pingpong sederhana dengan netbeans anda. sekian, terimakasih.
Sumber :
http://www.bapaknaga.com/2015/07/membuat-game-pingpong-dengan-java-di.html

Comments

  1. kak, untuk belajar ngoding kayak gini gimna ya ?

    ReplyDelete
  2. wah akhirnya ad web yang bisa membantu saya dalam hal membuat wordpress, artikelnya menarik dan memanjakan mata untuk di baca

    perkenalkan nama saya Titannia yulanda NIM 1822500065 dari ISB Atma Luhur

    ReplyDelete

Post a Comment

Popular posts from this blog

Pengalaman Mengikuti Bootcamp .NET di PT. Xsis Mitra Utama

Assalamualaikum para pembaca , nama saya rio saya lulusan Teknik Informatika di  Universitas Gunadarma tahun 2017.Pada postingan kali ini saya akan menceritakan pengalaman saya mengikuti bootcamp .NET di PT. Xsis Mitra Utama selama 1 minggu ini.oh ya di Xsis ini ada 2 tahap filtering.yang pertama filtering di minggu ke 2 dan yang terakhir di minggu ke 6.Eits...sebelum masuk minggu pertama baca prolog dulu ya. 👇 PROLOG Sebelum mengikuti bootcamp,di kampus saya diadakan job fair.saya mendaftar beberapa stand termasuk Xsis ini dengan harapan salah satu dari yang saya apply mendapat balasan.setelah menunggu beberapa hari saya menerima email untuk datang interview di pt xsis yang kantor utamanya berada di jalan satrio.Beberapa hari kemudian setelah persiapan dokumen yang dibawa saya langsung ke Xsis yang di satrio.Kantornya berada di lantai 25 , setelah itu saya masuk kedalam kantornya kemudian di tanya oleh resepsionis maksud kedatangan saya.Setelah saya memberitahukan maksud ked

Implementasi Komputasi dalam Berbagai Bidang

Implementasi adalah kegiatan yang dilakukan untuk menguji data dan menerapkan sistem yang diperoleh dari kegiatan seleksi. Implementasi merupakan salah satu pertahanan dari keseluruhan pembangunan sistem komputerisasi dan unsur yang harus dipertimbangkan dalam pembangunan sistem komputerisasi yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan disamping masalah perangkat keras. Contoh aplikasi berbasis cloud computing adalah salesforce.com , Google Docs. salesforce.com adalah aplikasi Customer Relationship Management (CRM) berbasis software as services, dimana kita bisa mengakses aplikasi bisnis: kontak, produk, sales tracking, dashboard, dll. Google Docs adalah aplikasi word processor, spreadsheet, presentasi semacam Microsoft Office, yang berbasis di server. Terintegrasi dengan Google Mail, file tersimpan dan dapat di proses dari internet. Di zaman/masa modern saat ini perkembangan teknologi yang begitu ce