Membuat Game Ular Sederhana Menggunakan Processing

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;
  }
}

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 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 .
Untuk Aplikasi Processing nya bisa di ( Download Disini :) )








Previous
Next Post »