C Programlama Grafik Kütüphanesi Kullanımı


Bu yazıdaki tüm örnekler Dev C++ derleyicisi üzerinden anlatılmıştır. Bu derleyicide  hazır olarak graphics.h kütüphanesi bulunmaz.Bunun için buradaki 
videodan hem derleyiciyi kurabilir hem de graphics.h kütüphanesini ekleyebilirsiniz. Eğer derleyicinizde aşağıdaki resimdeki gibi hata alıyorsanız videodaki işlemleri(derleyiciyi tekrar kurmanıza ve dosyayı tekrar indirmenize gerek yok.) tekrar edebilirsiniz.
initgraph() Fonksiyonu
Bu fonksiyon seçilen grafik sürücüsünden grafik sisteminin yüklenmesini ve istenen grafik modunda çalıştırılmasını  sağlar. fonksiyonun genel gösterimi şöyledir:
void initgraph(int *graphdriver, int *graphmode, char *pathtodriver);

Bu fonksiyonu kullanabilmemiz için öncelikle grafik sürücüsünün macro değerini atayacağımız bir ile grafik modunu atayacağımız bir başka değişken tanımlamalıyız. 
C Programlama Daire Çizimi

#include <graphics.h>
#include <windows.h>
int main(){  
    int x,x1,y,y1;
    char tus;
    initwindow(1005,525);
    setcolor(255);
    x=45;
    x1=1005;
    y=45;
    y1=300;
    
    while(1){
        tus=getch();
        if(tus=='d'){         
            for(;x<960;x=x+10){
                                  cleardevice();
                                  circle(x,y,45);
                                  circle(x1,y1,20);
                                  if(x1>x){
                                        x1=x1-10;       
                                  }
                                  else if(x1<x){
                                        x1=x1+10;       
                                  }
                                  if(y1>y){
                                        y1=y1-10;       
                                  }
                                  else if(y1<y){
                                        y1=y1+10;       
                                  }
                                  
                                 
                                  tus=getch();
                                  if(tus!='d')break;
                                  
            }
        }
        else if(tus=='a'){
            for(;x>=45;x=x-10){
                                 cleardevice();
                                  circle(x,y,45);
                              circle(x1,y1,20);
                                  if(x1>x){
                                        x1=x1-10;       
                                  }
                                  else if(x1<x){
                                        x1=x1+10;       
                                  }
                                  if(y1>y){
                                        y1=y1-10;       
                                  }
                                  else if(y1<y){
                                        y1=y1+10;       
                                  };
                                 
                                  tus=getch();
                                  if(tus!='a')break;
            }
        }
        else if(tus=='w'){
            for(;y>=45;y=y-10){
                                 cleardevice();
                                  circle(x,y,45);
                                  circle(x1,y1,20);
                                  if(x1>x){
                                        x1=x1-10;       
                                  }
                                  else if(x1<x){
                                        x1=x1+10;       
                                  }
                                  if(y1>y){
                                        y1=y1-10;       
                                  }
                                  else if(y1<y){
                                        y1=y1+10;       
                                  }
                                  tus=getch();
                                  if(tus!='w')break;
            }
        }
        else if(tus=='s'){
            for(;y<=480;y=y+10){
                                 cleardevice();
                                  circle(x,y,45);
                                  circle(x1,y1,20);
                                  if(x1>x){
                                        x1=x1-10;       
                                  }
                                  else if(x1<x){
                                        x1=x1+10;       
                                  }
                                  if(y1>y){
                                        y1=y1-10;       
                                  }
                                  else if(y1<y){
                                        y1=y1+10;       
                                  }
                                  tus=getch();
                                  if(tus!='s')break;
            }
        }
        
    }    
    while(!kbhit()); //wait for user to press a key 
    closegraph(); //close graphics window
   
}

Yorum Gönder

0 Yorumlar