Bolu Beyi tarafından yazıldı Ekim - 22 - 2010 3 Yorum

Bolubeyi sizler için c programlama konulu yazılar paylaşmaya devam ediyor. Şimdi yazacağımız program rastgele sayılar ile ilgili. Rastgele yani random sayılar deyince akla ilk zar geliyor sanırım. En azından benim için öyle, çünkü 1. sınıfta çok uğraştım bu konuyla:D Programın amacını kabataslak anlatayım, kodların açıklamasını sonradan yaparım. Bu programda, 1000 kere iki zar atacağız ve 6-6 gelmesi durumunda bize kazandınız yazacak, 6-6 gelmezse de kaybettiniz yazacak. Ekranın sonunda kaç kere kazanıldığını ve kaç kere kaybedildiğini de görebileceksiniz. Buyrun kodlar burada:

#include”stdio.h”
#include”stdlib.h”
#include”time.h”

void main()
{
srand( time(NULL));
int zar1,zar2,i,kazandiniz=0,kaybettiniz=0;
for(i=1;i {
zar1 = rand()%6+1;
zar2 = rand()%6+1;
if(zar1 == 6 && zar2 == 6)
{
printf(“%d%5d -kazandinizn”,zar1,zar2);
kazandiniz++;
}

else
{
printf(“%d%5d -kaybettinizn”,zar1,zar2);
kaybettiniz++;
}
}
printf(“kazandiklarim=%dn”,kazandiniz);
printf(“kaybettiklerim=%dn”,kaybettiniz);
}

Rastgele sayılarda her zamanki gibi srand(time(NULL)) ifadesini kullanıyoruz. Attığımız zar sayısı giderek artacağı için kazandiniz=0 ve kaybettiniz=0 şeklinde tanımlıyoruz, sonuçta bunlar 0’dan başlayacak. 1000’e kadar devam etmesi için for döngümüzü kuruyoruz ve yine zarların sadece 1-6 arası rakam gelme ihtimali olduğu için zar = rand()%6+1; ifadesini kullanıyoruz. İf yapısının içerisinde iki zarında 6-6 gelme ihtimalini yazarak altına kazandiniz’ı artırıyoruz. Tam tersinde ise yani 6-6 durumu haricindeki ihtimaller için else yapısının içerisinde kaybettiniz’i artırıyoruz. Son olarak da kazanma ve kaybetme sayılarını ekrana yazdırıyoruz. %d%5d ifadesi dikkatinizi çekmiş olabilir, 5d dememizin sebebi ekranda daha düzenli bir görüntü oluşması için zar1 ve zar2 arasında 5 karakter boşluk bırakmak için kullandık. Programı çalıştırdığınızda ne demek istediğimi daha iyi anlayacaksınız. C programlamada zar atma oyunu gördüğünüz gibi gayet kolay. Bir programlama konumuzun daha sonuna gelmiş bulunuyoruz, tekrar görüşmek üzere…

Bugüne kadar 3 yorum yapıldı

  1. Aksiyon dedi ki:

    İşime yaradı. Daha farklı oyunlar için de yazılarınızı bekliyorum.

  2. 3D dedi ki:

    Programlama ile ufaktan böyle şeylere başlamayı düşünüyordum. Arşivime ekliyor. Teşekkürler Bolubeyi 🙂

  3. metin dedi ki:

    Çok sade ve güzel anlatım olmuş. Kodlamaya yeni başlıyorum ancak ben bile kolaylıkla yapabildim.


Time limit is exhausted. Please reload CAPTCHA.