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)

For Life


For Life screenshot 1
For Life screenshot 2
For Life screenshot 3


Game Description:
Game side scrolling sederhana. Dengan sebuah pedang di tangan, player harus membunuh makhluk - makhluk hasil kloning untuk bertahan hidup.


Genre: Fighting, Action, side scrolling

Platform: Symbian s60 1st and 2nd (terimakasih bro adhyctive laporannya).

Language: Indonesa, English

Info: Dibutuhkan module tambahan: "image1st" agar game berjalan, bisa didownload di sini

Download links: http://tigan.fiz.su/files/games/For_Life.sis

Shark Area


Shark Area screenshot 1
Shark Area screenshot 2
Shark Area screenshot 3


Game Description:
Game dengan tema bawah laut. Sebagai ikan yang tersesat di sarang hiu, player harus menghindari serangan hiu ganas dan memakan ikan - ikan kecil untuk menambah bar nyawa yang terus berkurang.


Genre: Action

Platform: Symbian s60 1st, and 2nd.

Language: English

Info: ....

Download links: http://tigan.fiz.su/files/games/Shark_Area.sis

Ngebut QD Indonesian Street


Ngebut QD screenshot 1
Ngebut QD screenshot 2
Ngebut QD screenshot 3


Game Description:
Game 2d racing dengan sudut pandang dari belakang mobil. Player harus berpacu dengan waktu untuk menyelesaikan story. Bersetting di beberapa daerah di pulau jawa.


Genre: Racing

Platform: Symbian s60 1st, and 2nd.

Language: English

Info: ....
Download links: http://tigan.fiz.su/files/games/Ngebut_QD_Indonesian_Street.sis

Sabtu, 05 Februari 2011

Dari wapsite menjadi mobile blog

"Selamat datang di tigan.fiz.su. Situs ini hanyalah tempat untuk menyimpan file sendiri daripada hanya nangkring di kartu memory. Juga sebagai sarana untuk berbagi".
Kalau sebelumnya hanya share file2, sekarang ditambah dengan berbagi coretan2. Maka situs ini yang tadinya wapsite ane rubah menjadi blog mobile, tujuannya agar lebih mudah dalam peng-update-an.



Untuk komentar2 yang berisi tutorial, tips trick, atau membagi aplikasi2, atau game, atau apapun yang bermanfaat insyaallah akan ane abadikan dalam bentuk postingan.



Nah agar post pertama ini tidak hanya sekedar pemberitahuan, sekalian ane share mini game yang ane kasi nama White Dragon. Ide game ini dapet dari game Snake-nya Nokia yang telah nemplok di ponsel Nokia sejak jaman layar monokrom, juga sebagai sample game pada Pys60. Di game ini ular bergerak/berputar 360 derajat. Dan ada special power yang membuat naga bertransformasi menjadi naga putih.


Game White Dragon ini sengaja ane bikin hanya berbentuk script bereksistensi *.PY. Untuk memainkannya, ekstrak file White_Dragon.py ke: E:\\System\Apps\Python\ atau: E:\\System\Apps\Python\My lalu jalankan menggunakan aplikasi Python (Run script). Silahkan dicoba :D

Download White Dragon