Rabu, 16 Februari 2011

Contoh program game Gunting batu kertas

Pada coretan ini ane akan kasih contoh pembuatan program game sederhana. Game yang akan kita buat adalah sebuah game text based "Gunting batu kertas". Sebagai contoh penggunaan variabel, dictionary, definisi dan percabangan (else if) pada program game. Ok mari kita mulai:


- Import beberapa module yang akan kita gunakan



import appuifw, e32, random

- Mendefinisikan dictionary bernama "pilih" yang berisi tiga pasang key value, yaitu key Gunting yang kita beri value 0, key Batu yang kita beri value 1, key Kertas yang kita beri value 2



pilih = {"Gunting": 0, "Batu": 1, "Kertas": 2}

- Membuat variabel yang kita kasih nama "Pemain". Nantinya variabel ini akan kita gunakan untuk mendefinisikan nilai yang dipilih player/pemain nilainya diambil dari dictionary (0, 1, atau 2). Saat ini variabel ini kita buat tidak terdefinisi (None).



Pemain=None


- Kita buat variabel lagi yang kita kasih nama "Musuh". Nantinya variabel ini akan kita gunakan untuk mendefinisikan nilai yang dipilih cpu/musuh nilainya kita acak (0, 1, atau 2). Saat ini variabel ini kita buat tidak terdefinisi (None).



Musuh=None


- Membuat variabel kosong yang kita kasih nama "konf" (konfirmasi) yang akan dipakai untuk menyimpan konfirmasi "menang", "kalah", atau "seimbang".



konf=None


- Mendefinisikan fungsi yang kita berinama "gameplay" sebagai otak game untuk membandingkan apa yang dipilih pemain dengan apa yang dipilh musuh (random) dan menentukan siapa yang menang.


Skripnya disini




- Untuk memanggil fungsi gameplay diatas kita buat tiga fungsi, masing2 memberi nilai berbeda kepada gameplay yaitu 0 (Gunting), 1 (Batu), 2 (Kertas).


Skripnya disini



- Agar player dapat meng-input apa yang dipilih kita membutuhkan fungsi untuk menerima data dari player. Pada game sebenarnya menggunakan tombol navigasi dan keypad, namun pada program ini kita memakai menu dari module appuifw.



appuifw.app.menu=[(u"Pilih gunting", memilihGunting),(u"Pilih batu", memilihBatu),(u"Pilih kertas", memilihKertas)]


- Membuat fungsi penutupan aplikasi dan menunggu tombol exit ditekan dengan module appuifw dan e32


Skripnya disini



- Mengetes game (^_^). Silahkan download script lengkapnya:



http://tigan.fiz.su/files/blog/gbk/Gunting_batu_kertas.zip

Coretan diatas hanya berdasarkan apa yang ane bisa, jika ada penjelasan yang salah, mohon dibenarkan. Atau jika punya yang algoritma yang lebih bagus, mohon dishare. Selamat koding... :D

Minggu, 06 Februari 2011

Sedikit penjelasan identasi pada Python

Dalam pemrograman kita sering mengelompokkan beberapa kode dengan tujuan agar lebih mudah dibaca. Atau terkadang kode memang harus dibuat dalam blok-blok statement agar dapat berjalan, misalnya kita membuat sekumpulan kode yang akan berjalan ketika suatu event terjadi.



Blok - blok statement pada Pyhon di tandai dengan jumlah spasi pada awal kode pada setiap baris, perhatikan contoh berikut ini:



Ilustrasi 1



Penjelasan:

kode X=2 adalah sebuah statement, kode Y=2 juga merupakan sebuah statement. Setiap statement pada python dipisahkan dengan ganti baris



kode if X == Y: merupakan awal sebuah blok statement (kita sebut saja blok statement pertama), sedangkan kode print"Tubrukan terdeteksi" adalah statement blok pertama tersebut (ditandai dengan memberi spasi pada awal baris, ane gunakan 2 spasi).



Sedangkan kode else: merupakan awal sebuah blok statement kedua dan print "Tidak terjadi tubrukan" adalah statement blok kedua.



Berikut ilustrasi yang menjelaskan penggunaan blok statement dalam psoudo code:



Ilustrasi 2



contoh kedua:



Ilustrasi 3




Berikut ilustrasi contoh penulisan kode yang salah:



Ilustrasi 4



Sebuah statement juga dapat dipotong2 menjadi beberapa baris dengan menggunakan tanda "\" berikut contohnya:



print "Sudah adzan\
saatnya sholat"

BULAN


BULAN screenshot 1
BULAN screenshot 2
BULAN screenshot 3
BULAN screenshot 4


Game Description:

Sebuah perbedaan pendapat mengakibatkan perang besar di angkasa, Player harus menggagalkan sebuah proyek besar sendirian. Proyek yang berpotensi menghancurkan bulan.



Genre: SHMUP (Shoot Em Up)

Platform: Symbian s60 1st and 2nd.

Language: English, Indonesian (on story)

Info:

Download links: http://gulammalug.xtgem.com/files/BULAN.zip (Upload by Gulam, makasih kang bantuannya :D)