Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

C++ Labirent'ten çıkış oyunu

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

Kod:
//Bu program labirentte cikis yolu bulan programdir.\\   

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

**** goster(int lab[100][100],int n)   
{   
int i,j;   
printf(" \n");   
for (i=1;i<=n-1;i++)   
{   
for (j=1;j<=n-1;j++)   
{   
printf(" %d ",lab[i][j]);   
}   
printf(" \n");   
}   

}   


int initialize(int lab[100][100],int n)   
{ int i,j;   
for (i=1;i<=n;i++)   
for (j=1;j<=n;j++)   
if (lab[i][j]==3)   
lab[i][j]=0;   
printf("\n");   
return(-1);   

}   

int git(int lab[100][100],int n,int x,int y)   
{   
char yol;   
if (lab[x+1][y]==0)   
{   
lab[x][y]=3;   
printf("AŸa§�.>");   

x=x+1; y=y;   
}   
else if (lab[x-1][y]==0)   
{   
lab[x][y]=3;   
printf("yukar�.>");   
x=x-1; y=y;   

}   
else if (lab[x][y+1]==0)   
{   

lab[x][y]=3;   
printf("Sa§a.>");   
x=x; y=y+1;   

}   
else if (lab[x][y-1]==0)   
{   
lab[x][y]=3;printf("Sola.>");   
x=x; y=y-1;   

}   
else if (x==n && y==n)   
{   
printf("Labirent tamamland�.");   
}   
else   
{   
lab[x][y]=8;   
initialize(lab,n);   
goster(lab,n);   
return(-1);   
}   

git(lab,n,x,y);   
}   
main()   
{   
int sayac,x,y,n,i,j,lab[100][100],tempX[100],tempY[100];   
char secim;   
clrscr();   
sayac=0;   
printf("Bir sayi (Dizi Boyutu) giriniz.:");scanf("%d",&n);   
/* i‡erisine rastgele sayi ekle*/   
n++;   
for (i=0;i<=n;i++)   
for (j=0;j<=n;j++)   
lab[i][j]=random(2);   

/* kenarlari d”se */   
for (i=0;i<=n;i++)   
lab[0][i]=1;   
for (i=0;i<n;i++)   
lab[n][i]=1;   
for (i=0;i<=n;i++)   
lab[i][0]=1;   
for (i=0;i<n;i++)   
lab[i][n]=1;   

/* labirenti g”ster*/   
printf(" \n");   
for (i=1;i<=n-1;i++)   
{   
printf("\n\n");   
for (j=1;j<=n-1;j++)   
{   
printf(" %d ",lab[i][j]);   
}   
printf(" \n");   
}   
git(lab,n,1,1);   
secim='e';   
while (secim=='E' || secim=='e')   
{   
printf("Alternatif Baska Bir Yol denemek istiyormusunuz.... [E/e]");   
secim=getch();   
if (secim=='E' || secim=='e')   
git(lab,n,1,1); else break;   
}   

getch();   

}
 
Üst Alt