Membuat Game Ular Sederhana Menggunakan Processing
Assalamu'alaikum Wr.Wb Teman Mahasiswa ,
Hai teman mahasiswa apa kabar semua ? semoga sehat selalu yaa dan selalu dilindungi oleh Allah SWT, amiinn :)
Kali ini kita kembali lagi dengan program processing .(semoga ngga bosan yaa :D)
Dan sekarang kita akan membuat sebuah Game Ular sederhana menggunakan Processing.
Baca juga :( Membuat Animasi Bergerak Perkotaan serta Lalu Lintas Menggunakan Processing )
Tanpa berlama-lama, berikut koding membuat game ular sederhana menggunakan processing ;)
//Membuat Game Ular Sederhana Menggunakan Processing
//Catatans Mahasiswa
ArrayList<Float> x = new ArrayList<Float>();
ArrayList<Float> y = new ArrayList<Float>();
//float[] x = new float[200];
//float[] y = new float[200];
float segLength = 18;
int X=100, Y=100, n=1, speed = 5, EatX=200, EatY=200, length=5;
int[] EX={(int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50)}, EY={(int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50)};
void setup() {
size(1000,600);
for(int i=0;i<200;i++){
x.add(0f);
y.add(0f);
}
}
void draw() {
background(0);
strokeWeight(10);
stroke(255, 170);
line(0, 5, width, 5);
line(0, height-30, width, height-30);
line(30, 0, 30, height);
line(width-50, 0, width-50, height-30);
text("speed: "+speed, 30, 30);
text("length: "+length, 30, 60);
ellipse(EatX, EatY, 30, 30);
if ( dist( X, Y, EatX, EatY) < 20 ) {
EatX=(int)random(50, width-50);
EatY=(int)random(50, height-50);
length++;
if (length%20==0)speed++;
// file.play();
}
for (int i=0; i<length/10; i++) {
if (length>10) {
stroke(255, 0, 0, 170);
strokeWeight(10);
ellipse(EX[i], EY[i], 30, 30);
if ( dist( X, Y, EX[i], EY[i]) < 20 ) {
EX[i]=(int)random(50, width-50);
EY[i]=(int)random(50, height-50);
length-=5;
}
}
}
strokeWeight(15);
stroke(255, 100);
if (n==1) {
X+=speed;
} else if (n==2) {
X-=speed;
} else if (n==3) {
Y-=speed;
} else if (n==4) {
Y+=speed;
}
if (X>width-60)
{
X=width-61;
n=(int)random(3, 5);
}
if (X<42)
{
X=43;
n=(int)random(3, 5);
}
if (Y>height-40)
{
Y=height-41;
n=(int)random(1, 3);
}
if (Y<17)
{
Y=18;
n=(int)random(1, 3);
}
strokeWeight(25);
stroke(255, 200);
dragSegment(0, X, Y);
for (int i=0; i<length; i++) {
if ( dist( X, Y, x.get(i), y.get(i)) < 10 &&i>1) {
length=i;
}
strokeWeight(15);
stroke(0, 0, 255, 100);
dragSegment(i+1, x.get(i), y.get(i));
}
}
void dragSegment(int i, float xin, float yin) {
float dx = xin - x.get(i);
float dy = yin - y.get(i);
float angle = atan2(dy, dx);
x.set(i, xin - cos(angle) * segLength);
y.set(i,yin - sin(angle) * segLength);
segment(x.get(i), y.get(i), angle);
}
void segment(float x, float y, float a) {
pushMatrix();
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
popMatrix();
}
void segment1(float x, float y, float a) {
pushMatrix();
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
popMatrix();
}
void keyPressed() {
if (keyCode== UP ||keyCode=='W') {
n=3;
} else if (keyCode== DOWN||keyCode=='S') {
n=4;
} else if (keyCode== LEFT||keyCode=='A') {
n=2;
} else if (keyCode== RIGHT||keyCode=='D') {
n=1;
}
}
//Catatans Mahasiswa
ArrayList<Float> x = new ArrayList<Float>();
ArrayList<Float> y = new ArrayList<Float>();
//float[] x = new float[200];
//float[] y = new float[200];
float segLength = 18;
int X=100, Y=100, n=1, speed = 5, EatX=200, EatY=200, length=5;
int[] EX={(int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50), (int)random(100, width-50)}, EY={(int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50), (int)random(100, height-50)};
void setup() {
size(1000,600);
for(int i=0;i<200;i++){
x.add(0f);
y.add(0f);
}
}
void draw() {
background(0);
strokeWeight(10);
stroke(255, 170);
line(0, 5, width, 5);
line(0, height-30, width, height-30);
line(30, 0, 30, height);
line(width-50, 0, width-50, height-30);
text("speed: "+speed, 30, 30);
text("length: "+length, 30, 60);
ellipse(EatX, EatY, 30, 30);
if ( dist( X, Y, EatX, EatY) < 20 ) {
EatX=(int)random(50, width-50);
EatY=(int)random(50, height-50);
length++;
if (length%20==0)speed++;
// file.play();
}
for (int i=0; i<length/10; i++) {
if (length>10) {
stroke(255, 0, 0, 170);
strokeWeight(10);
ellipse(EX[i], EY[i], 30, 30);
if ( dist( X, Y, EX[i], EY[i]) < 20 ) {
EX[i]=(int)random(50, width-50);
EY[i]=(int)random(50, height-50);
length-=5;
}
}
}
strokeWeight(15);
stroke(255, 100);
if (n==1) {
X+=speed;
} else if (n==2) {
X-=speed;
} else if (n==3) {
Y-=speed;
} else if (n==4) {
Y+=speed;
}
if (X>width-60)
{
X=width-61;
n=(int)random(3, 5);
}
if (X<42)
{
X=43;
n=(int)random(3, 5);
}
if (Y>height-40)
{
Y=height-41;
n=(int)random(1, 3);
}
if (Y<17)
{
Y=18;
n=(int)random(1, 3);
}
strokeWeight(25);
stroke(255, 200);
dragSegment(0, X, Y);
for (int i=0; i<length; i++) {
if ( dist( X, Y, x.get(i), y.get(i)) < 10 &&i>1) {
length=i;
}
strokeWeight(15);
stroke(0, 0, 255, 100);
dragSegment(i+1, x.get(i), y.get(i));
}
}
void dragSegment(int i, float xin, float yin) {
float dx = xin - x.get(i);
float dy = yin - y.get(i);
float angle = atan2(dy, dx);
x.set(i, xin - cos(angle) * segLength);
y.set(i,yin - sin(angle) * segLength);
segment(x.get(i), y.get(i), angle);
}
void segment(float x, float y, float a) {
pushMatrix();
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
popMatrix();
}
void segment1(float x, float y, float a) {
pushMatrix();
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
popMatrix();
}
void keyPressed() {
if (keyCode== UP ||keyCode=='W') {
n=3;
} else if (keyCode== DOWN||keyCode=='S') {
n=4;
} else if (keyCode== LEFT||keyCode=='A') {
n=2;
} else if (keyCode== RIGHT||keyCode=='D') {
n=1;
}
}
Jangan lupa semua koding nya di copy-paste dan silahkan "Run" . :)
Jika ada kesalahan atau kekurangan dalam penyampaian tutorial maupun perkataan yang kurang jelas, kami mohon maaf sebesar-besarnya.
Jika ada kesalahan atau kekurangan dalam penyampaian tutorial maupun perkataan yang kurang jelas, kami mohon maaf sebesar-besarnya.
Jika ada kekurangan, jangan sungkan untuk berkomentar yaa.
Komentar kalian sangat berarti bagi perkembangan Blog ini , Terima kasih .. :)
Jangan lupa di share yaa :D wkwk
#Salam Teman Mahasiswa
Selamat mencoba dan semoga berhasil ;)
Disini saya menggunakan Processing 2.2.1 .
Wassalamu'alaikum wr.wb
Mantap gan..πππ
BalasHapusππ
BalasHapusCakeepππ
BalasHapusTerimakasih sangat bermanfaat ππ
BalasHapusTerimakasih sangat bermanfaat ππ
BalasHapusSangat bermanfaatππ
BalasHapusGood job ππ
BalasHapusNice
BalasHapusJossss gandozzzzz markotop ilmunya. Goyangan informasinya asoy geboy gokil.. izin sedot gan
BalasHapusMantaap min walaupun saya anak kedokteran
BalasHapusBacot aja nih netijen
HapusGood
BalasHapusThank for this bermanfaat
BalasHapusdisuruh mampir kesini terus juga disuruh komen, yauda nih q komen kasian buat tugas uas katanya
BalasHapusSangat membantu, terimakasih��
BalasHapusmantap ganπ
BalasHapusMantap
BalasHapusWah dapat ilmu baru ni.. Thanks bro..
BalasHapusMakasih infonya min, bermanfaat sekali��
BalasHapusSangat berfaedah bujank!1!1
BalasHapusBisa jadi bahan bacaan, jadi menambah ilmu
BalasHapusmakasih gan dapat ilmu baru lagiπ
BalasHapusSangat informatif
BalasHapusDitingkatkan lagi bro, udah bagus kok
BalasHapusnais
BalasHapusAkhirnha saya bisa buat gmail bang
BalasHapusMakasii bang
Bagus
BalasHapusTerimakasih, sangat bermanfaat
BalasHapusArtikelnya sangat membantu.. Mantap ��
BalasHapusThanks infonya gan
BalasHapuswuihhh sangat bermanfaat sekali ya
BalasHapuskereen, sangat bermanfaat
BalasHapusMantap, semoga menjadi amal jariyah.
BalasHapussangat mengedukasi kak,jangan lupa mampir di blog sayaπ
BalasHapusSangat berfaedah. Keep it upπ
BalasHapusMantap lumayan bermanfaat π
BalasHapusThanks for information. Good ob brothet!
BalasHapusMakasih atas informasinya, semoga berkah ilmunnya π
BalasHapusMantap gan
BalasHapusSangat bermanfaat
BalasHapusMntap π
BalasHapusMntap π
BalasHapuslambuik sanan
BalasHapusBermanfaat utk newbie ni
BalasHapusKereeeeen, makasih ilmu barunyaa
BalasHapusReferensi yang bagus
BalasHapusSangat bermanfaat
BalasHapusNais
BalasHapusMantap
BalasHapusIzin share min π
BalasHapusTerimakasih ilmunya...
BalasHapusMantabbb
BalasHapusmantap min
BalasHapusNtap min
BalasHapusKereeen mantap..
BalasHapusTjakep
BalasHapusKereeeen min
BalasHapusGoks parah
BalasHapusjinca bermanfaat sekali info nya,
BalasHapusJdi tau klau gmail bsa dibpakek secara of line,daebak deh info nyq
Akhirnya bisa bikin email sendiri, terimakasih bro sangat bermanfaat
BalasHapusMantul info nya ππ
BalasHapusAkhirnya saya bisa punya email untuk daftar fesbuk, trimakasih klinik tongfang
BalasHapusThanks kak informasinya, sangat berguna apalagi buat orang gaptek macem sayaπ
BalasHapuscakepp
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusMantap mpok tong fang, akhirnya saya bisa bikin oseng2 campur terasi, terimakasih banyak senpai
BalasHapusπππ
BalasHapusWah, ini dia yang di tunggu, sangat bermanfaat min. Thanks ya
BalasHapusThanks min
BalasHapusGreat job
BalasHapusInformasi yang sangat bergunaπ.very useful information π
BalasHapusAsyiapp mantap cuy...
BalasHapus