Hoşgeldiniz: OyunYapimi.org
 
Ara
Konular
  Üye Olun!    
Ana Menü
 Ana Sayfa
 Anketler
 Dosyalar
 Dökümanlar
 Forum
 Haber Arşivi
 WWW Linkleri
 Üye Listesi

Forumlar
Forumlarda Arama
 
[ Ara ]
Son yazilanlar

free ebooks - 2004-05-16 14:47 free ebooks...
oyun yazmak için - 2004-05-15 11:13 oyun yazmak için...
Sinus dalgası - 2004-05-14 19:21 Sinus dalgası...
Demosu yakında... - 2004-05-06 15:11 Demosu yakında......
Depth Test - 2004-05-03 20:55 Depth Test...
forum mesajlarini duzenlemek - 2004-05-03 19:34 forum mesajlarini ...
Başka Programlara Erişmek - 2004-05-03 17:44 Başka Programlara ...
Güzel bir e-book bağlantısı.. - 2004-05-03 16:06 Güzel bir e-book b...
Okyanus Dalgasi - 2004-05-03 16:00 Okyanus Dalgasi...
3d Shoot em up - 2004-05-03 15:57 3d Shoot em up...
Esnek Güç - 2004-05-03 13:32 Esnek Güç...
UltimateGameProgramming.com - 2004-05-03 12:29 UltimateGameProgra...
Function Pointer Nedir ne ise yarar - 2004-05-03 01:35 Function Pointer N...


Konu Disi


LAMER - 2004-05-10 01:58 LAMER...
anasafa yok forum var - 2004-05-08 16:01 anasafa yok forum ...
Anasayfa Kapali  Fakat.. - 2004-05-06 15:05 Anasayfa Kapali F...
Texture Arşivi - 2004-05-03 01:39 Texture Arşivi...
Yeni Kitap: Elektronik Hobi - 2004-05-03 00:29 Yeni Kitap: Elektr...
3DTURK - 2004-05-02 23:27 3DTURK...
Online Oyun - 2004-05-02 19:27 Online Oyun...


Splatt Forum

C/C++ Dillerinde Döngü Kullanımı

(583 kelime)
(386 okuma)   Yazdırılabilir Sayfa




C/C++ Dillerinde Döngü Kullanımı:

//standart girdi çıktı fonksiyonları için gerekli header dosyası
//bu dosyayı programımıza eklemezsek printf(); fonksiyonunu kullanamayız.
#include <stdio.h>

//ekrandan bir karakter okumak için gereken getch(); fonksiyonunu kullanmak için

//bu header dosyasını ekliyoruz
#include <conio.h>

//void main() programın başladığı yer.bu fonksiyon geriye hiç birşey döndürmüyor bunu başındaki
//void den anlıyoruz.buraya int main() yazsaydık programın herhangi bir yerinde return 0; diyip
//programı sonlandırabilirdik.Konumuz döngüler bu yüzden fazla detaya gerek yok. :]
void main()
{

    //10 tane elemanı olan bir dizi yaratıyoruz ve tüm elemanlarına bir değer veriyoruz.
    //bu diziyi döngülerimizde kullanacağız.
    int dizi[10]={0,1,2,3,4,5,6,7,8,9};

    //döngüler için bir değişken
    int i=0;

    //bool değişkeni sadece 2 değer alır.Bunlar false(yanlıs)(0) veya true(dogru)(1) dır.
    //bu değişkeni while döngülerimizde kullanacagız.
    bool bBitti=false;

    //şimdi sırasıyla 3 farklı döngüden bahsedecegiz bunlar sırasıyla:
    //for,while,do..while.

    //for dögüsü:
    //genelde bi dizinin elemanlarına sırasıyla ulaşmak için ya da bir işi birden çok kez
    //tekrarlamak için kullanılır.başka kullanım alanları da vardır tabi ama şimdilik nasıl
    //kullanıldığını bilsek yeter.

    for(i=0;i<10;i++)

        //for döngüsü basitçe böyle. i değişkeni sıfırdan başlayarak 10 dan küçük olduğu sürece
        //birer birer artar ve her artışında altındaki satırı yapar.yani printf(); komutu 10 kez
        //calışır.Dizimiz 100 elemanlı olsaydı içindeki bütün elemanları ekrana yazdırmak için 100 tane
        //printf yazmak sacma olurdu.Bu şekilde sadece 2 satırda hepsini yazabiliyoruz :]
        printf("%d ",dizi[i]);

        //printf(); fonksiyonu ekrana yazdırmaya yarıyor.ilk parametre de ekranda ne yazılacağını
        //belirtiyoruz %d yazdıgımız yere sağdaki değer geliyor "d" tam sayı demek,integer yani.
        //sağdaki değer yukarda yarattığımız dizinin i. elemanı.i birer birer arttığı için dizinin
        //10 elemanı ekrana yazılıyor.
   
    printf("\n\n");
    ///iki satır aşağı inmeye yarar "\n" new line :]
   
    i=1;
    //i yukardaki for döngüsü bittiğinde 10 olur bunu 1 yapıyoruz.
   
    //while döngüsü:
    //while döngüsü ardından gelen parantez içindeki koşul yanlış olana kadar tekrarlanır.Tamam bu hiç
    //bir anlam ifade etmiyor :] şöyle diyelim oyununuz devam ettiği sürece while döngüsü çalışmalı
    //oyun ana bir dögüden oluşuyor.her dögünün başında kullanıcıdan input alıyosunuz harita ciziyorsunuz
    //modelleri ciziyosunuz vs..
    //sonra eğer oyuncu oyundan cıkmak istememişse tekrar herşeyi yapıyoruz.Kısaca böyle şimdi nasıl
    //yazılıyor ona bakalım.

    while(bBitti==false)
    {
        //while döngüsünden sonra gelen karşılaştırma doğru olduğu zaman while döngüsünün içi çalışır.
        //aksi takdirde program while döngüsünün bittiği parantezden devam eder.
        //eğer parantezlerin içini boş bırakırsak bBitti hiç bir zaman true olmaz ve program hiç bitmez.
        //bu yüzden bir şekilde bBitti'yi true yapıcaz.
               
        printf("while dongusu %d. kez calisti.way be :]\n",i);
        //döngünün kaçıncı çalışması olduğunu ekrana yazıyoruz yukarda i yi 1 yapmıştık.Bu ilk çalışması
        i++;
        //i yi bir arttırıyoruz.bir daha çalışırsa 2. çalışması olucak.
       
        printf("dongu devam etsin mi?(e)vet/(h)ayir\n");
        //kullanıcıya devam edip etmek istemediklerini soruyoruz.
       
        if(getch()=='h') bBitti=true;
        //getch fonksiyonu napıyor???hmmm. getch(); fonksiyonu kullanıcının klaveyede bir tuşa basmasını bekler.
        //her hangi bir tuşa basıldığında getch(); bu tuşun değeri olur yani ben "g" ye basarsam getch()="g" dir.
        //if satırında basılan tuş "h" mi diye kontrol ediyoruz eger "h" ise yani kullanıcı döngüyü sonlandırmak
        //istiyorsa tek yapmamız gereken bBitti yi true yapmak böylece döngü yukarı dönüp bBitti==false satırına
        //geldiğinde (true==false) yanlıs olacagından döngü bir daha çalışmaz.
       
    }
    printf("\n\n");
    //iki satır aşağı hadi bakiyim :]
   
    //do while dögüsü:
    //bu döngü while ile neredeyse aynı.Tek farkı do while döngüsü koşuldan bağımsız olmak üzere en az bir kere
    //çalışır nedenini şimdi göreceksiniz.
    do
    {
        printf("bBitti true olmasina ragmen dongu bir kez calısti.Yapicak bisi yok bu isler böyle :].\n");

    }while(bBitti==false);
    //gördügünüz gibi karşılaştırma dögünün sonunda olduğu için içindekiler en az bir kez yapılıyor.
    //sondaki karşılaştırma yanlış çünkü bBitti'yi bir önceki döngüde true yapmıştık.Böylece döngü bitiyor.

     getch();
   
//programın hemen kapanmaması için bir tusa basılmasını bekliyoruz.

}

//ve programımız bitti :]

Barış S. Uşaklı :: 2002 :: www.oyunyapimi.org
  

[ Geri Dön: Oyun Yapımı (Genel) | Dökümanlar İndeksi ]





Web site Engine's code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.