Kamis, 20 Desember 2018

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 .


Wassalamu'alaikum wr.wb

72 komentar:

  1. Mantap gan..πŸ‘πŸ‘πŸ‘

    BalasHapus
  2. Terimakasih sangat bermanfaat πŸ‘πŸ‘

    BalasHapus
  3. Terimakasih sangat bermanfaat πŸ‘πŸ‘

    BalasHapus
  4. Sangat bermanfaatπŸ‘πŸ‘

    BalasHapus
  5. Jossss gandozzzzz markotop ilmunya. Goyangan informasinya asoy geboy gokil.. izin sedot gan

    BalasHapus
  6. Mantaap min walaupun saya anak kedokteran

    BalasHapus
  7. disuruh mampir kesini terus juga disuruh komen, yauda nih q komen kasian buat tugas uas katanya

    BalasHapus
  8. Sangat membantu, terimakasih��

    BalasHapus
  9. Wah dapat ilmu baru ni.. Thanks bro..

    BalasHapus
  10. Makasih infonya min, bermanfaat sekali��

    BalasHapus
  11. Bisa jadi bahan bacaan, jadi menambah ilmu

    BalasHapus
  12. makasih gan dapat ilmu baru lagiπŸ‘

    BalasHapus
  13. Ditingkatkan lagi bro, udah bagus kok

    BalasHapus
  14. Akhirnha saya bisa buat gmail bang
    Makasii bang

    BalasHapus
  15. Terimakasih, sangat bermanfaat

    BalasHapus
  16. Artikelnya sangat membantu.. Mantap ��

    BalasHapus
  17. wuihhh sangat bermanfaat sekali ya

    BalasHapus
  18. Mantap, semoga menjadi amal jariyah.

    BalasHapus
  19. sangat mengedukasi kak,jangan lupa mampir di blog saya😊

    BalasHapus
  20. Sangat berfaedah. Keep it upπŸ‘

    BalasHapus
  21. Mantap lumayan bermanfaat πŸ‘

    BalasHapus
  22. Thanks for information. Good ob brothet!

    BalasHapus
  23. Makasih atas informasinya, semoga berkah ilmunnya 😊

    BalasHapus
  24. jinca bermanfaat sekali info nya,
    Jdi tau klau gmail bsa dibpakek secara of line,daebak deh info nyq

    BalasHapus
  25. Akhirnya bisa bikin email sendiri, terimakasih bro sangat bermanfaat

    BalasHapus
  26. Mantul info nya πŸ‘πŸ‘

    BalasHapus
  27. Akhirnya saya bisa punya email untuk daftar fesbuk, trimakasih klinik tongfang

    BalasHapus
  28. Thanks kak informasinya, sangat berguna apalagi buat orang gaptek macem sayaπŸ‘Œ

    BalasHapus
  29. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  30. Mantap mpok tong fang, akhirnya saya bisa bikin oseng2 campur terasi, terimakasih banyak senpai

    BalasHapus
  31. Wah, ini dia yang di tunggu, sangat bermanfaat min. Thanks ya

    BalasHapus
  32. Informasi yang sangat bergunaπŸ‘.very useful information πŸ‘

    BalasHapus