C Dili İle Küçük Bir Oyun(1 Dakika da yıldız vurmaca)


16.10.2011-21:14 Tarihinde Eklendi.
www.seyfettinkahveci.com Derecelendirme: 10 / 10 Oy Sayısı: 16005615Toplam Puan: 62650 / Yorum Sayısı: 412005615 adet.


Kodlar:

#include<stdio.h>
#include<time.h>
#include <windows.h>
void gotoxy(int x,int y){    
COORD coord;    coord.X=x;    coord.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);}

main(){ 
  int x=2,y=2,xa=1,ya=1,bekle=50,a,b,i,deger=0,y2;//Degiskenler Tanımlanıyor    
char tus; //tus degere char olarak belirleniyor    
clock_t son;//Zaman Ayarlaması    
son =  clock() + 60* CLK_TCK;//Zaman Ayarlaması    
srand(time(NULL));//Randomun her seferinde farklı gelmesi    
 Sifir://* in 0 üzeri ne gelince geleceği yer imi   
a=rand()%60;//random 
b=rand()%15;//random    
gotoxy(a,b);printf("0");//belirlenen kordinatlara 0 koy
    do{
       for(y2=0;y2<=25;y2++){// sağ tarafa çizgi çiz      
 gotoxy(60,y2);printf("|");       }// sağ tarafa çizgi çiz sonu   
do{        gotoxy(x,y); printf("*");//belirlenen acılara deger koy   
    Sleep(bekle);//bekle        
gotoxy(x,y); printf(" ");//daha sonra o alanları boşalt     
  x+=xa;//x koordinatın değişsin   
    y+=ya;//y koordinatın değişsin   
    if(x>58 || x<3) xa=-xa;//ekran boyutları dışına çıkmak isterse geri döndür      
  if(y>20 || y<2) ya=-ya;//ekran boyutları dışına çıkmak isterse geri döndür      
  if(a==x && b==y) {//* ile 0 aynı koordinatta ise o alanı boşalt     
      printf("");//orayı boşalt          
  deger+=10;//Puanınızı 10 arttır      
      goto Sifir;//yeni koordinat belirlenecek yer imine git     
  }//* ile 0 aynı koordinatta ise o alanı boşalt sonu
    gotoxy(62,20);printf("Puaniniz:%d",deger);//sağ tarafa puanınız yazar
        }while((clock() < son)&&(!kbhit()));//Tusa basılmadıysa ve saat dolmadıysa ise dön
if(clock() >= son) break;//belirlenen saat aralığında değilse programı bitir++   
tus=getch();//klavyeden basılan tusu algıla   
if(tus== + && bekle>0) bekle-=10;//tus + ise ve bekle dan büyükse bekleme süresini 10 azalt  
  if(tus== - ) bekle+=10;// tus - ise nbekleme süresini 10 arttır
    } while(tus!=27);//klavyeden escye basılıncaya kadar
}

Kodlar hakkında yada geliştirdiğiniz projede anlamadığınız bir bölüm olursa Yorum Ekle alanından yazın en kısa sürede cevaplamaya çalışırım.

Seyfettin KAHVECİ
Balıkesir Üniversitesi
NEF-BOTE



Yazının tamamının kopyalanması yasaktır. En baştaki birkaç paragrafı kopyalayıp, yazıya link verebilirsiniz. Aksi durumda uyarılmaksızın yasal yollara gidilecektir.

Uzun süredir yorumlara cevap veremediğim için sistem yeni yorumlara kapatılmıştır. Anlayışınız için teşekkürler.
Yorumlar
Ad Soyad:ync erkŞehir:Mersin
Tarih:05.11.2012
Soru Hocam kolay gelsin.bu programda dosyalama,pointer veya ağaç modeli var mı?yoksa da ekleyerek bu oyunu geliştirebilir miyiz?
Cevap Yazmış olduğum programda dosyalama ve pointer yoktur. Ara bölümünden dosyalama veya pointer yazdığınızda karşınıza dosyalama veya pointer hakkında sitede bulunan örnekler gelmektedir. Onları anlayarak sizin geliştirmenizi öneririm. Geliştirirken hata ile karşılaşırsanız buraya yazın ben yine sizlere yardımcı olmaya çalışırım. İyi çalışmalar.