Programalama > C++

Etiketler: yilan, oyunu

Ort. 0
Puan ver:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>

void acilisnotlari(void);
void seviyebelirle(void);
void duvarbelirle(void);
void yilankoordinatbelirle(void);
void yembelirle(void);

void kuyruksildegeraktar(void);
void hareketkontrol(void);
void duvarcarpmakontrol(void);
void kendinecarpmakontrol(void);
void yemekontrol(void);
void yilangoruntule(void);
void ozelyembelirle(void);
void yukari(void);
void asagi(void);
void saga(void);
void sola(void);
void sonnot(void);

static int yilan[100][2],yem[2][2];
static int x,y,dson,ozelpuan,verilecekpuan,yemX,yemY,puan,kontrol,yilankuyrukX,yilankuyrukY,kuyruk=6,seviye=110,baraj=25;
int ch,d=77,i,j,sec;
char ad[35]="030123003 - &#8482;ZG&#353;R BAYRAKTARO¦LU",olmadi;


void sonnot()
{
   nosound();
   getch();
   clrscr();
   gotoxy(22,12);
   textcolor(RED);cprintf("@ ...DESIGNED BY &#8482;ZG&#353;R BAYRAKTARO¦LU... @");
   delay(1500);
   textcolor(7);
   exit(0);
}
void acilisnotlari(void)
{
   _setcursortype(_NOCURSOR);
   textcolor(7);
   x=14,y=14;
   clrscr();
   gotoxy(20,7);printf("\n\t\t---&#8364;anakkale 18 Mart &#353;niversitesi");
   delay(500);
   gotoxy(20,8);printf ("\n\t\t---Bilgisayar &#8482;§retmenli§i ve &#8482;§retim Teknolojileri B&#8221;lm");
   delay(500);
   gotoxy(20,9);printf ("\n\t\t---Programlama Dersi");
   delay(500);
   gotoxy(20,10);printf ("\n\t\t---Vize Projesi:");
   delay(500);
   gotoxy(33,11);printf (" Nokia Ylan Oyunu...\n");
   delay(500);
   gotoxy(20,6);
   textcolor(2);
   for (i=0; i<31;i++)
   {
      cprintf("%c",ad[i]);
      sound(4000);
      delay(50);
      nosound();
      delay(70);
   }
   delay (500);
   textcolor(BLUE);
   for (y=14; y>4; y -= 9)
      for (x=14;x<76;x++)
      {
	 gotoxy(x,y); cprintf("%c",2);
	 delay(10);
      }
   for (x=14; x<76; x += 61)
      for (y=6; y<15; y++)
      {
	 gotoxy(x,y); cprintf("%c",2);
	 delay(15);
      }
   gotoxy(27,17);
   textcolor(4+128);
   cprintf("Ba&#376;lamak icin herhangi bir tu&#376;a basnz");
   getch();
   textcolor(7);
   clrscr();
}
void seviyebelirle()
{
   if (puan >= 150)
      seviye = 50;
   else if (puan>=125)
      seviye = 60;
   else if (puan>=100)
      seviye = 70;
   else if(puan>=75)
      seviye = 80;
   else if (puan>=50)
      seviye = 90;
   else if (puan>= 25)
      seviye = 100;
}
void duvarbelirle()
{
   textcolor(GREEN);
   for (j=1;j<25;j=j+23)
      for (i=1;i<=80;i++)
      {
	gotoxy (i,j);
	cprintf ("%c", 219);
      }
   for (i=1;i<=80;i=i+79)
      for (j=1;j<25;j++)
      {
	  gotoxy(i,j);
	  cprintf ("%c", 219);
      }
      textbackground(2);
      textcolor(0);
      gotoxy(61,24);
      cprintf("&#8482;zgr Bayraktaro§lu");
      textbackground(0);
      textcolor(7);
}
void yilankoordinatbelirle()
{
   randomize();
   yilan[0][0] = random(60)+8;
   yilan[0][1] = rand()%21+2;
   for (i=1; i<7; i++)
   {
      gotoxy(yilan[i-1][0],yilan[i-1][1]);
      if (i==1)
      {
	 printf("%c",2);
      }
      else
      {
	 printf("%c",219);
      }
      yilan[i][0] = yilan[0][0]-i;
      yilan[i][1] = yilan[0][1];
   }
   gotoxy(yilan[kuyruk][0],yilan[kuyruk][1]);printf("%c",219);
}
void yembelirle()
{
   yem[0][0] = rand()%77 + 2;
   yem[0][1] = rand()%21 + 2;
   for (i=0; i<=kuyruk; ++i)
   {
     if (yem[0][0] == yilan[i][0] && yem[0][1] == yilan[i][1])
	yembelirle();
   }
   gotoxy(yem[0][0],yem[0][1]);
   printf("%c",2);
}

void kuyruksildegeraktar()
{
   yilankuyrukX = yilan[kuyruk][0];
   yilankuyrukY = yilan[kuyruk][1];
   for (i=kuyruk; i>=1; i--)
   {
      yilan[i][0] = yilan[i-1][0];
      yilan[i][1] = yilan[i-1][1];
   }
}
void hareketkontrol()
{
   switch (d)
      {
	 case 72:yukari();break;//yukari
	 case 80:asagi();break;//asagi
	 case 77:saga();break;//saga
	 case 75:sola();break;//sol
	 //case 'p':break;//pause
      }
}
void yukari()
{
   if (dson == 80)
   {
      yilan[0][1]++;
      d=dson;
   }
   else
      yilan[0][1]--;
}
void asagi()
{
   if (dson == 72)
   {
      yilan[0][1]--;
      d=dson;
   }
   else
      yilan[0][1]++;
}
void saga()
{
   if (dson == 75)
   {
      yilan[0][0]--;
      d=dson;
   }
   else
      yilan[0][0]++;
}
void sola()
{
   if (dson == 77)
   {
      yilan[0][0]++;
      d=dson;
   }
   else
      yilan[0][0]--;
}
void duvarcarpmakontrol()
{
   if ( yilan[0][0] > 79 || yilan[0][0] < 2 || yilan[0][1] >23 || yilan[0][1] < 2 )
   {
      sound(850);
      gotoxy(30,25);printf(".......KENARA CARPTIN........");
      delay(1000);
      sonnot();
   }
}
void kendinecarpmakontrol()
{
   for (i=2;i<kuyruk;i++)
   {
      if (yilan[0][0] == yilan[i][0] && yilan[0][1] == yilan[i][1])
      {
	 sound(850);
	 gotoxy(35,25);printf("KENDi KENDiNE CARPTIN");
	 delay(1000);
	 sonnot();
      }
   }
}
void yemekontrol()
{
   if (yem[0][0] == yilan[0][0] && yem[0][1] == yilan[0][1])
   {
      sound(400);
      kuyruk++;
      yilan[kuyruk][0] = yilankuyrukX;
      yilan[kuyruk][1] = yilankuyrukY;
      puan += 5;
      gotoxy(1,25);
      printf("PUAN: %d   KUYRUK BOYU: %d",puan+verilecekpuan,kuyruk);
      clreol();
      if (puan == baraj)
      {
	 seviyebelirle();
	 baraj += 25;
	 gotoxy(1,25);
	 printf("...OZEL YEM CIKTI CABUK YE...");
	 do
	 {
	    olmadi = 0;
	    yem[1][0] = rand()%77 + 2;
	    yem[1][1] = rand()%21 + 2;
	    yemX = yem[1][0];
	    yemY = yem[1][1];
	    for (i=0; i<=kuyruk; ++i)
	    {
	       if (yem[1][0] == yilan[i][0] && yem[1][1] == yilan[i][1])
		  olmadi = 1;
	    }
	 }
	 while(olmadi == 1);

	 gotoxy(yemX,yemY);
	 textcolor(RED);
	 cprintf("%c",3);
	 kontrol = 1;
	 verilecekpuan = 80;
	 textcolor(7);
      }
      yembelirle();
   }
}

void yilangoruntule()
{
   for (i=0; i<=kuyruk; ++i)
   {
      gotoxy(yilan[i][0],yilan[i][1]);
      if (i==0)
      {
	 textcolor(4);
	 cprintf("%c",2);
      }
      else
      {
	 textcolor(i);
	 cprintf("%c",219);
      }
   }
   gotoxy(yilankuyrukX,yilankuyrukY);
   textcolor(7);
   cprintf(" ");
   delay(seviye);
   nosound();
}
void ozelyembelirle()
{
   verilecekpuan -= 1;
   if (yemX == yilan[0][0] && yemY == yilan[0][1])
   {
      sound(4000);
      kontrol = 0;
      gotoxy(1,25);
      printf("ALDIGIN OZEL PUAN: %d ",verilecekpuan);
      clreol();
   }
   if (verilecekpuan == 0)
   {
      kontrol = 0;
      gotoxy(yemX,yemY);
      textcolor(7);
      cprintf(" ");
      gotoxy(1,25);
      printf("OZEL YEMi ALAMADIN");
      clreol();
   }
}
void main()
{
      clrscr();
      acilisnotlari();
      seviyebelirle();
      duvarbelirle();
      yilankoordinatbelirle();
      yembelirle();
      while (ch!=27)
      {
	 dson = d;
	 while (!kbhit())
	 {
	    if (kontrol==1)
	       ozelyembelirle();
	    do
	    {
	       kuyruksildegeraktar();
	       hareketkontrol();
	       duvarcarpmakontrol();
	       kendinecarpmakontrol();
	       yemekontrol();
	       yilangoruntule();
	    }
	    while(1 == 2);
	 }
	 ch=getch();
	 if (ch==0) d=getch();
	 if (ch=='p')
	    getch();

	 if (kontrol==1)
	       ozelyembelirle();
	    do
	    {
	       kuyruksildegeraktar();
	       hareketkontrol();
	       duvarcarpmakontrol();
	       kendinecarpmakontrol();
	       yemekontrol();
	       yilangoruntule();
	    }
	    while(1 == 2);

      }
   sonnot();
}


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.