Sumbangan / Donate

Donate (Libery Reserve)


U5041526

Sabtu, 31 Desember 2011

Tutorial Game Maker Bagi Pemula [Part 4]

Sekarang kita akan membahas tentang Logika.
Saya yakin bahwa semua bahasa pemprograman aplikasi mempunyai metode logika dalam scriptnya.

Contoh logika:
Jika saya memakan kue ini, maka saya akan kenyang. Tapi kalau saya tidak makan kue ini, maka saya tidak akan kenyang, dan kue ini jadi mubazir.

Dalam script, logika diatas bisa ditulis seperti ini:

if kue = 0 //nol artinya habis
{ //maka.. ini berarti pembukaan pada Maka, jadi harus ada penutupnya
saya = 1 //atau bisa menggunakan saya = 'kenyang', ya tergantung suasana lah :P
} //inilah penutup untuk Maka
else //tapi, jika tidak
{ //maka
saya = 0 //atau saya not = 1, atau saya != 1, atau saya not = 'kenyang', atau saya = 'lapar'
kue = 'mubazir'
} //penutup Maka

Script itu tentunya bisa berbeda, tergantung dari variable yang digunakan. Variable adalah tempat untuk menampung nilai.
Variable yang digunakan dalam script diatas adalah saya dan kue.

If... Then
If artinya JIKA, Then artinya MAKA. Dalam konsep bahasa Indonesia, kalimat yang menggunakan kata jika dan maka sangat mudah untuk dirangakai. Sama seperti script, hanya saja script menggunakan bahasa yang lebih singkat, atau lebih panjang dari kalimat bahasa Indonesianya. Jika kamu menguasai If Then, maka kamu sudah bisa membuat sebuah game.

Contoh penggunaan If... Then
Buatlah Create event, dan isi kode ini:

tekan = 0

Pada event Key Press Spasi, isi kode ini:

tekan += 1 //artinya, setiap spasi ditekan, maka tekan bertambah sebanyak 1

Pada step event, isi kode ini:

if tekan = 1
{
show_message('Tekan sama dengan 1')
tekan = 0
}

Jalankan gamenya, lalu tekan spasi 1x, maka akan keluar pesan Tekan sama dengan 1.

Keterangan:
tekan adalah variable, nilai awalnya yaitu nol.
tekan += 1 itu sama artinya dengan tekan = tekan + 1.
show_message artinya menampilkan pesan.
tekan = 0 berarti membuat nilai tekan menjadi 0, hal ini dilakukan agar game tidak terjadi error. Jika tekan = 0 tidak disertakan dalam kodenya, maka pesan tidak akan berhenti keluar. Karena nilai tekan selalu 1 dan jika nilai tekan = 1 maka akan keluar pesan.

Kira-kira begitulah cara kerja If... Then.

Perlu diingat, script pada GML tidak menggunakan huruf kapital. If, then, else, return, break, or, and, with, dan fungsi lainnya tidak menggunakan huruf kapital, semuanya huruf kecil.


If... Then... Else
Penggunaan ini sama saja dengan penggunakan tadi, tapi ini menggunakan fungsi tambahan,. Langsung saja kita kecontohnya.

Tidak perlu menghapus semua script tadi, cukup scrip Key Press Spasi dan Step yang diubah.
Pada Key Press Spasi, ubah menjadi:

tekan = choose(0,1,2) //memilik angka secara bebas dari ketiga angka tsb.

Pada Step event, ubah menjadi:

if tekan = 1
{
show_message('Tekan sama dengan 1')
tekan = 0
}
else if tekan = 2
{
show_message('Tekan tidak sama dengan 1')
tekan = 0
}

Sekarang jalankan gamenya. Coba lah untuk menekan spasi beberapa kali, maka pesan akan muncul ketika tekan = 1 atau 2, dan pesan tidak akan muncul jika tekan = 0.
Jika pesan = 1, maka teks pada pesan adalah Tekan sama dengan 1, tapi jika tekan = 2, teks pada pesan adalah Tekan tidak sama dengan 1.

With
With artinya dengan. Dengan ini kita bisa melakukan sesuatu dengan object lain. Misalnya menghancurkan object musuh.

Contohnya:
Buat sebuah object lagi, dan beri nama obj_musuh. Lalu set sprite untuk object ini.

Lalu pada obj_test, hapus kode dalam event Key Press Spasi menjadi:

with (obj_musuh) instance_destroy()

Sekarang taruh obj_musuh pada room, dan play. Sekarang tekan spasi, maka obj_musuh akan menghilang / musnah.

Or
Or artinya Atau. Dengan fungsi ini, kita dapat memanggil aksi jika Masalah1 yang terjadi, atau Masalah2 yang terjadi (atau salah satu dari Masalah nya)
Contoh:

Ubah script pada Step event menjadi ini:

if tekan = 1 or tekan = 2
{
show_message('Tekan sama dengan 1')
tekan = 0
}

Pada event Key Press Spasi, ubah menjadi:

tekan = choose(0,1,2)

Sekarang jalankan gamenya, maka akan keluar pesan Tekan sama dengan 1 apabila tekan = 1 ataupun tekan = 2.

And

And artinya dan. Object ini hampir sama dengan Or, hanya saja, and akan melakukan tugasnya apabila Masalah1 dan Masalah2 terjadi dalam 1 waktu, atau bersamaan.
And biasa disingkat dengan &&.
Contoh dalam kehidupan sehari-hari:

Jika ibu pergi ke pasar pada jam 10 dan ayah pergi ke kantor pada jam 10, maka mereka akan bertemu perempatan jalan.

Dari contoh diatas, kita dapat mengetahui bahwa salah satu dari mereka tidak pergi jam 10, maka mereka tidak akan bertemu di perempatan jalan.

Not
Not artinya tidak. Fungsi ini menyatakan sesuai yang tidak. Biasanya fungsi ini disingkat dengan ! (tanda seru).

Contoh:
If tekan not = 1 or tekan not = 2
{
tekan = 0
}

Sungguh jelaskan?
Jika tekan bukan 1, dan tekan bukan 2, maka tekan adalah 3.

For
Fungsi ini digunakan untuk suatu pengulangan. For disusun seperti ini:

for ( (statement1; expression ;statement2) statement3)

Pertama, Statement1 dieksekusi / disingkirkan. Kemudian Expression dievaluasi/dinilai. Jika true /benar, maka statement 3 di eksekusi; kemudian statement 2 dan expression di evaluasi lagi, ini akan berlanjut sampai expression bernilai false / salah.

Contoh:
Program berikut menginisialisasi array panjang 10 dengan nilai 1 - 10.

for (i=10; i<=9; i+=1) list[i] = i+1

Repeat
Fungsi ini akan mengulang fungsi yang akan dilakukan.
Contohnya:

repeat(5) instance_create(x,y,obj_musuh)

Ini berarti obj_musuh akan diciptakan sebanyak 5x di koordinat x,y.

While
While artinya saat. Fungsi ini akan memprediksi sesuatu dan melakukan tugasnya.
Contoh:

while (place_free(x,y))
{
instance_create(x,y,obj_musuh)
}

Artinya, saat koordinat x,y kosong / tidak ada object lain, maka akan diciptakan obj_musuh di koordinat x,y.

Do... Until
Artinya Lakukan... Sampai.
Contohnya:

do
{
instance_create(x,y,obj_musuh)
}
until (!place_free(x,y))

Artinya, obj_musuh akan terus diciptakan sampai di koordinat x,y tidak kosong / ada object.

Switch
Sama dengan saklar, jadi kita bisa merubah-rubah keadaan.
Dalam sejumlah situasi kita ingin membiarkan tindakan kita tergantung pada nilai tertentu. Kita dapat melakukannya dengan menggunakan sejumlah If tapi lebih mudah untuk menggunakan switch.

Contoh:

switch (keyboard_key)
{
case vk_left:
x -= 4; break;
case vk_right:
x += 4; break;
case vk_up:
y -= 4; break;
case vk_down:
y += 4; break;
}

Artinya, Switch (tombol keyboard)
case tombol kiri, maka x -= 4
case tmbol kanan, maka x += 4
case tombol atas, maka y -= 4
case tombol bawah, maka y += 4

Setiap susunan pada fungsi ini memang dibuat begitu.

Break
Jika digunakan dalam fungsi seperti ini:
for-loop, while-loop, switch, with, itu akan menghentikan fungsi ini, atau menhentikan loop nya. Namun jika Break ditaruh diluar dari bagian itu, maka programnya akan berhenti (bukan gamenya).

Continue
Jika digunakan dalam for-loop, repaet-loop, while-loop, with, maka continue akan melanjutkan nilai / value selanjutnya untuk bagian loop dan with.

Exit
Fungsi ini untuk menghentikan fungsi lainnya dalam script.

Return
Dengan ini kita bisa mengembalikan nilai / value dalam script sehingga script dapat digunakan dalam expression.

Contoh:
return (argument0+argument1)


Sekian tutorial part 4 ini. Mungkin ada beberapa fungsi yang kurang jelas, itu bisa kamu cari di google dan pelajari sendiri. Karena untuk newbie belum harus menggunakan keseluruhan fungsi itu. Tapi saya yakin itu semua dapat dimengerti :)

Tips dari saya:
*Perbanyaklah bertanya di forum-forum Game Maker dan belajar lah dari apa yang kamu lihat.
*Dan jangan ragu mendownload file *.gmk dan mempelajari setiap scriptnya.

Bergabunglah ke grup Game Maker Indonesia di Facebook :)
http://www.facebook.com/groups/ind.gamemaker/

Semoga tulisan-tulisan diatas bisa bermanfaat untuk kita :)

Tutorial Game Maker Bagi Pemula [Part 3]

Di part 3 ini, kita akan membahas tentang fungsi-fungsi pada D&D atau DnD atau Drag and Drop (artinya: seret dan letakan)
Inilah yang dimaksud dengan D&D:



Untuk merubah D&D Menjadi script, bisa menggunakan software The Ultimate D&D to GML Converter, download DISINI.

Disebut D&D karena ikon-ikon tsb bisa kita klik dan seret / drag dan kita taruh / drop di kolom Action.
Maka jangan heran dan bingung ketika kamu melihat tulisan D&D pada forum Game Maker Community.

Sekarang kita akan sedikit membahas tentang D&D, jadi bukalah file yang kemarin disave, atau jika tidak disave, maka buatlah sebuah sprite dengan ukuran 32x32, berbentuk persegi dan berwarna hitam.
Lalu buat sebuah object dengan nama obj_test, lalu gunakanlah sprite tadi sebagai sprite objectnya. Langsung membuat sebuah room, dan taruh obj_test didalamnya.

Pada obj_test. Buat sebuah event Key Press, dan pilih yang Spasi.
Lalu seret dan letakan fungsi Display Message (ada di Tab main2)



Isikan kata Pause. Lalu Ok, dan jalankan gamenya.
Ketika kamu menekan tombol spasi, maka akan keluar pesan yang bertuliskan Pause atau sesuai dengan kata yang kita tulis tadi.

Sekarang hapus fungsi Display Message tadi, dan ganti dengan Execute Code (ada di Tab Control), dan ketik kode ini:

show_message('Pause')

Lalu jalankan gamenya. Hasilnya sama saja dengan D&D, tapi ini menggunakan script. Jadi sekarang kita mengetahui bahwa fungsi D&D Display message sama dengan show_message()
Tapi perlu diingat, bahwa kode show_message() memiliki syarat, yaitu pada string harus memiliki tanda kutip untuk menandakan bahwa teks tsb adalah string. Contohnya:

testing, tulis show_message('testing') atau show_message("testing")
Jadi, kita boleh menggunakan kutip satu ataupun kutip dua, asal jangan menggunakan kutip satu pada awal dan kutip dua pada akhir, seperti ini:

show_message('testing") //ini contoh kode yang salah !

Tapi kamu boleh menggunakan ini juga:

show_message('testing kutip1'+"testing kutip2")

Tanda + menandakan adanya tambahan string baru, jadi intinya kita dapat menambahkan string dengan tanda + tsb. Tapi jika kita menyertakan string dalam bentuk variable juga.
Artinya jika begini show_message('testing kutip1'+"testing kutip2"), kita tidak perlu menggunakan string tambahan, cukup menggunakan satu bagian saja. Kecuali jika bentuknya seperti ini:

show_message('testing kutip1'+string(testing)+"testing kutip2")

Ada kata string(testing) pada kode, itu berarti suatu sebuah variable yang dijadikan string.
Contoh: (silakan diikuti)

Pada Create event, isi kode ini pada execute code:

testing1 = "testing satu"
testing2 = 2

Pada event Key Press Spasi tadi, ubah scriptnya jadi begini:

show_message("Testing "+string(testing1)+' '+string(testing2)+"#testing 123") //tanda # merupakan Enter pada kode ini

Maka pesan akan menampilkan pesan ini:

Testing testing satu 2
testing 123

note:
testing 123 ada dibawah karena adanya Enter / tanda #

Bukankah itu sesuai dengan apa yang kita ketik tadi?

Saya rasa untuk fungsi itu sudah cukup. Untuk mempelajarinya lebih lanjut tentang membuat tampilan pesan, bisa KESINI.

Sekarang kita akan merubah event Key Press Spasi menjadi kode.
Pada Step event, ketik kode ini pada execute code:

if keyboard_check_pressed(vk_space)
then show_message("Testing "+string(testing1)+' '+string(testing2)+"#testing 123") //tanda # merupakan Enter pada kode ini

*Jika terdapat kode lain pada Step event, maka ketik kode ini dibagian paling bawah, atau paling atas. Atau bisa membuat sebuah execute kode lagi untuk kode ini.

Lalu jalankan game, ketika kamu menekan tombol spasi, maka teks yang sama akan muncul. Jadi kita tidak perlu menggunakan eventnya jika dianggap tidak perlu :P

Untuk tombol spasi, control, alternatif, enter, dll, bisa menggunakan kode vk_

contohnya: enter = vk_enter, spasi = vk_space

Tapi untuk huruf, bukan menggunakan vk_, melainkan ord(' '),
contoh: ord('A'), ord("K")

Hurufnya harus huruf kapital.
Contoh dalam kode: keyboard_check_pressed(ord('K'))

Jangan takut untuk menggunakan banyak tanda kurung atau () dan tanda {} dalam membuat script.

Untuk kode script lainnya bisa kamu pelajari menggunakan software yang ada diatas. Cobalah untuk mengconvert semua D&D dan mempelajarinya.
Ingat, semua fungsi dalam D&D ada dalam script, hanya pengalaman dan percobaan yang akan membuatmu menemukan hal baru :)

Sekian dulu part 3 ini, di part 4 kita akan membahas tentang logika. Bersiaplah :D