Game My AI Pong Part 1
My
AI Pong adalah sebuah game arcade yang cukup menarik untuk
dimainkan. cara bermainnya mudah yaitu pemain (player) menggerakkan brick
atau papan ke kiri dan ke kanan sesuai arah bola untuk memantulkan bola ke arah
lawan. Pada game ini kita akan
melawan sebuah artificial inteligent yang sudah di program. Game ini terinspirasi dari permainan
bola ping-pong.
Artificial
Inteligent atau kecerdasan buatan adalah ilmu yang
mempelajari cara membuat komputer melakukan sesuatu seperti yang dilakukan
manusia (Minsky, 1989). Definisi lain diungkapkan oleh H. A. Simon (1987),
kecerdasan buatan merupakan kawasan penelitian, aplikasi dan instruksi yang
terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam
pandangan manusia adalah cerdas. Definisi kecerdasan buatan lainnya juga
diungkapkan oleh Rich and Knight (1991), kecerdasan buatan merupakan sebuah
studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini
dapat dilakukan lebih baik oleh manusia. Dan definisi lainnya juga ditulis
dalam Encyclopedia Britania, Kecerdasan Buatan (AI) merupakan cabang dari ilmu
komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk
simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan
sejumlah aturan.
Game ini dibuat dengan menggunakan Processing, yang merupakan sebuah software sederhana yang digunakan untuk coding di suatu komputer, penggunaannya
hampir sama mudahnya dengan software text
editor sederhana (seperti TextEdit atau Notepad) yang dikombinasikan dengan
sebuah media player. Setiap sketsa (program
pada Processing disebut dengan sketsa) memiliki sebuah nama file, sebuah tempat dimana kamu dapat
membuat coding, dan beberapa tombol
untuk menyimpan, membuka, dan menjalankan sketsa.
Berikut adalah langkah-langkah dalam
proses pembuatan game My AI Pong :
1.
Inisialisasi Objek :
float xAnimation = 0;
float yAnimation = 0;
float spacing = 10;
float gameScreen = 0;
float ballX;
float ballY;
float ballSize = 20;
color ballColor = color(255,
0, 100);
float ballSpeedVert;
float ballSpeedHor;
float pongX;
float pongY;
float pongWidth = 70;
float pongHeight = 10;
float pongSpeed = 0;
color pongColor = color(255,
0, 100);
float AIpongX;
float AIpongY;
float AIpongWidth = 70;
float AIpongHeight = 10;
float AIpongSpeed = 0;
color AIpongColor =
color(255, 0, 100);
boolean terpantul = false;
boolean terpantulPong =
false;
float health;
float maxHealth;
float healthWidth = 50;
float healthHeight = 7;
int scorePong = 0;
int AIscorePong = 0;
float pembatasX;
float pembatasY;
float pembatasWidth;
float pembatasHeight;
float skillX;
float skillY;
int skillSize = 20;
int lastAddTime = 0;
int skillInterval = 5000;
ArrayList<int[]> skills = new
ArrayList<int[]>();
2.
Membuat Fungsi Utama:
void setup() {
size(500, 500);
background(0);
ballX = random(width/2);
ballY = height/2;
ballSpeedVert = 3.5;
ballSpeedHor = 3.5;
pongX = width/2;
pongY = height - 20;
pongSpeed = 20;
AIpongX = width/2;
AIpongY = 0 + 20;
AIpongSpeed = 5;
pembatasX = width/2;
pembatasY = height/2;
pembatasWidth = width;
pembatasHeight = 7;
}
3.
Membuat Fungsi Gambar :
void draw() {
if (gameScreen == 0) {
initScreen();
} else if (gameScreen == 1) {
gameScreen();
} else if (gameScreen == 2) {
gameOverScreen();
}
}
4.
Membuat Fungsi Untuk Menjalankan Game :
void mousePressed() {
if (gameScreen == 0) {
startGame();
} else if (gameScreen == 2) {
restart();
}
}
void keyPressed() {
if (key == 'D') {
pongX = pongX + (pongSpeed * 1);
} else if (key == 'A') {
pongX = pongX + (pongSpeed * -1);
}
}
5.
Fungsi Untuk
Memulai Game :
void
startGame() {
gameScreen = 1;
}
void
restart() {
scorePong = 0;
gameScreen = 0;
pongWidth = 70;
AIpongWidth = 70;
ballColor = color(255,0,100);
}
6.
Fungsi Inisialisasi Untuk Animasi dalam
Game :
void initScreen() {
//background(0);
if(yAnimation > height/2 - 50 && yAnimation < height/2) {
stroke(0);
}
else if(yAnimation >= height/2 && yAnimation < height/2 + 30) {
stroke(0);
}
else {
stroke(255);
}
//stroke(255);
if(random(1) < 0.5) {
line(xAnimation, yAnimation, xAnimation + spacing, yAnimation +
spacing);
}
else {
line(xAnimation, yAnimation + spacing, xAnimation + spacing,
yAnimation);
}
xAnimation = xAnimation + spacing;
if(xAnimation > width) {
xAnimation = 0;
yAnimation = yAnimation + spacing;
}
if(yAnimation > height) {
yAnimation = height;
}
fill(100, 255, 100);
textAlign(CENTER);
textSize(15);
text("Click to start!", width/2, height/2);
}
Part 2
Part 3
Catatan: silahkan copy semua coding sampai part 3 dan mainkan di laptop teman-teman sekalian, happy enjooyy!!!๐
Part 2
Part 3
Catatan: silahkan copy semua coding sampai part 3 dan mainkan di laptop teman-teman sekalian, happy enjooyy!!!๐
saya suka gamenya, AI-nya berjalan lancar
ReplyDeleteterima kasih bosskuh
DeleteMenarik sekali, bahasa pemrogramannya mudah dipahami
ReplyDeletewaah keren sekali๐
ReplyDeletewah postingannya keren, sangat bermanfaat
ReplyDeletewah so ez
ReplyDeleteaku mau Video Call dengan anda๐
ReplyDeletemin ini control nya make apa??? keyboard atau mouse?
ReplyDeletekeyboard bosskuh
DeleteKeren game min, buat game yg lain lg min
ReplyDeleteGame nya mantap min,gak terlalu berat di laptop
ReplyDeleteNaisu jnfo gan
ReplyDeleteKeren minn ๐๐ป
ReplyDelete