14 Ocak 2014 Salı

pas oyunu

#include<conio.h>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<windows.h>

void git(int x,int y);
void oyuncu2temizle(void);
void cerceve(void);

main()
{
    //o1y -> oyunucu 1in y koordinati
    //o2y -> oyunucu 2in y koordinati
    //tx -> topun x koordinati
    //ty -> topun y koordinati
    //ety -> topun eski y koordinati
    int tus,sayac=0,xdegisim=1,ydegisim=1,kont=0;
    int o1y=9,o2y=9,tx=2,ty=11,ety;
    cerceve();
    git(1,1+o1y);
    printf("%c",219);
    git(1,2+o1y);
    printf("%c",219);
    git(1,3+o1y);
    printf("%c",219);
    git(1,4+o1y);
    printf("%c",219);
   git(78,1+o2y);
    printf("%c",219);
    git(78,2+o2y);
    printf("%c",219);
    git(78,3+o2y);
    printf("%c",219);
    git(78,4+o2y);
    printf("%c",219);
    while(1)
   {  
        sayac++;
        if(sayac%150==0)//oynunun hızını 150yi değiştirerek yapabiliriz...
        {
            ety=ty;
            tx+=xdegisim;
            ty+=ydegisim;
            git(tx,ty); printf("%c",2);
           
           
            if(ety-2>0 && ety+3<24)
            {
            if(ety>ty)
            {
               git(78,ety+3); printf(" ");
               git(78,ety-1); printf("%c",219);
            }
            else
            {
               git(78,ety-2); printf(" ");
               git(78,ety+2); printf("%c",219);
            }
            }          
            if(kont==1)
            {
                git(1,1+o1y);
                printf("%c",219);
                git(1,2+o1y);
                printf("%c",219);
                git(1,3+o1y);
                printf("%c",219);
                git(1,4+o1y);
                printf("%c",219);
                kont=0;
                continue;
            }
            git(tx-xdegisim,ty-ydegisim); printf(" ");
           
            if(tx==1)
            {
                if((ty)>o1y && (ty)<=(o1y+4))
                {
                    kont=1;
                }
                else
                {
                system("color 47");
                Sleep(10);
                system("color 07");
                Sleep(10);
                system("color 47");
                getch();
                system("color 07");
                }
                xdegisim*=-1;
            }
            if(tx==78)
            {
                xdegisim*=-1;
            }
           
            if(ty==23 || ty==1)
            ydegisim*=-1;
        }
       
        tus=0;
        if(kbhit())
        tus=getch();
     
      if(tus==72)
      {
         //yukarı
         git(1,4+o1y);
            printf(" ");
         if(o1y>0)
            o1y=(o1y-1);
            git(1,1+o1y);
            printf("%c",219);
            git(1,2+o1y);
            printf("%c",219);
            git(1,3+o1y);
            printf("%c",219);
            git(1,4+o1y);
            printf("%c",219);
      }
     
      if(tus==80)
      {
         //aşağı
         git(1,1+o1y);
            printf(" ");
            if(o1y<19)
            o1y=(o1y+1);
            git(1,1+o1y);
            printf("%c",219);
            git(1,2+o1y);
            printf("%c",219);
            git(1,3+o1y);
            printf("%c",219);
            git(1,4+o1y);
            printf("%c",219);
      }
     
        if(tus==27)
        break;    
    }
    getch();
}

void git(int x,int y)//Bu fonksiyon imleci verilen koordinatlara götürür
{
   COORD koord;
   koord.X = x;
   koord.Y = y;
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), koord);
}

void oyuncu2temizle(void)
{
    int i;
    for(i=0;i<23;i++)
    {
      git(78,1+i);
      printf(" ");
    }
}

void cerceve()
{
   int x,y;
   for(x=0;x<40;x++)//alt kısım
   {
      git(40+x,24);
      printf("%c",219);
      git(39-x,24);
      printf("%c",219);
      Sleep(15);//yavaşlığı ayarlıyoruz
   }
   for(y=24;y>0;y--)//sağ ve sol taraf
   {
      git(0,y);
      printf("%c",219);
      git(79,y);
      printf("%c",219);
      Sleep(15);//yavaşlığı ayarlıyoruz
   }
   for(x=40;x>=0;x--)//üst kısım
   {
      git(40-x,0);
      printf("%c",219);
      git(x+40,0);
      printf("%c",219);
      Sleep(15);//yavaşlığı ayarlıyoruz
   }
   git(1,1);
}

Hiç yorum yok:

Yorum Gönder