#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 - ™ZGšR BAYRAKTARO¦LU",olmadi;
void sonnot()
{
nosound();
getch();
clrscr();
gotoxy(22,12);
textcolor(RED);cprintf("@ ...DESIGNED BY ™ZGš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---€anakkale 18 Mart šniversitesi");
delay(500);
gotoxy(20,8);printf ("\n\t\t---Bilgisayar ™§retmenli§i ve ™§retim Teknolojileri B”lm");
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 Ylan 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Ÿlamak icin herhangi bir tuŸa basnz");
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("™zgr 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();
}