Game Maker Random & İrandom Kullanımı

Black Power

Özel Üye
8 Tem 2012
11,765
22
Başlayalım?



Aslında her oyunda gereken ve kullanılan bir sistemdir..

Öncelikle, Random Nedir?

Random kelimesini, Türkçe'ye rastgele olarak çevirebiliriz. Bir sayı dizisindeki herhangi bir sayıyı rastgele olarak seçer.

Peki İrandom Nedir?

İrandom'da Random ile aynı işlevi yapar fakat tek farkı, irandom virgüllü sayıları kullanmaz. Örneğin 0-7 arası bir sayı seçmesini istedik, irandom 1.45 gibi değerleri almaz. 1, 2, 3, 4, 5, 6, 7 bunlardan herhangi birini seçecektir.

Oyun Yazarken Faydası Ne Olacak?

İrandom & Random ile, kullanıcıları sıkmayan oyunlar yapabileceğiz.. örneğin, random olarak bir sayı seçmesini, ve eğer sayı 5 çıkarsa objenin yok olmasını veya başka bir işlev yapmasını saylayabiliriz. Bu kullanımı bir çok oyunda görmekteyiz.

Basit bir örnek ile kullanmaya başlayalım:

Bir obje oluşturalım. create event'e şunu yazalım:


Kod:

rastgele=irandom(4);




Şuanda, oyun bizim için rastgele bir değer seçecek. Değer, 0 ve 4 arasında (0 ve 4 dahil.) herhangi bir sayı çıkacak. draw event'e ise şu kodu yazalım:


Kod:

draw_text(x,y,rastgele);




Bir room açıp içine objemizi koyalım. Oyunu başlattığımızda rastgele bir sayı yazacaktır. Bu şekilde random bir sistem geliştirmiş olduk. Bunu oyun içinde dinamik bir şekilde kullanalım..

Draw event'te bulunan kodu silelim. step event'i ekleyelim ve şu kodu yazalım:


Kod:

if(rastgele=0) {

x=60;
y=30;

}

if(
rastgele=1) {

x=100;
y=243;

}

if(
rastgele=2) {

x=249;
y=43;

}

if(
rastgele=3) {

x=79;
y=62;

}

if(
rastgele=4) {

x=130;
y=169;

}

/* Asagidaki kodu room'u yeniden baslatmak icin koydum. */
if(keyboard_check_pressed(vk_space)) {

room_restart();

}




Draw event ekleyip şu kodu girelim:


Kod:

draw_circle(x,y,15,15);




Oyunu başlatıp enter'a bastığınızda, bir çember oluşacak ve çember belirlediğimiz yerlerden birine random olarak gidecek. Bu sistemi farklı bir şekilde de kullanabilirsiniz.. Ben kendi oyunumda düşman karakterlerin rastgele (random) gelmesini sağlamak için kullanmıştım. Geliştirmek size kalmış.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.