تبلیغات
مسعود جویبار - برنامه هشت وزیر به صورت ریکرسیو
مسعود جویبار
مسعود جویبار
گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من
درباره وبلاگ


اینجا یه اتاقک کوچولو واسه داد زدنه . ما هم کم و بیش جونی داریم تا بخوایم خرج فریاد بکنیمش . شما هم اگه خواستی سبک شی فریاد بزن . کی به کیه ؟ خوش اومدی

مدیر وبلاگ : مسعود جویبار
نویسندگان

برنامه هشت وزیر به صورت ریکرسیو :

...

#include <stdio.h>
#include <conio.h>
/*-----------------*/
int aray[8][8]={0},rp=1,j_o[8]={0},Vazir_no,j,Ok,Ok2=1,R1=0,Ans=1,X=0;
void DrawChes(void);
void Tiker(void);
void DrawData(void);
void GoBack(void);
/*-----------------*/
void main(void){
int k,l;
textbackground(1);
clrscr();
Vazir_no=0;
j=-1;
while(Ok2==1){
Ok=1;
for( ;j<8&&Ok==1;j++){
if(aray[Vazir_no][j]==0){
Tiker();
Ok=0;
j_o[Vazir_no]=j+1;
Vazir_no++;
if(Vazir_no==8){
DrawChes();
DrawData();
getch();
if(rp>25){
rp=1;
X++;
}
gotoxy(X*12+19,rp++);
textbackground(3); textcolor(0);
cprintf("%2d:",Ans++);
textbackground(3); textcolor(1);
for(k=0;k<8;k++)
for(l=0;l<8;l++)
if(aray[k][l]>49)cprintf("%1d",l+1);
}
j=-1;
}
else if (j>7){
for(k=0;k<8;k++)
for(l=0;l<8;l++)
if( aray[k][l]==Vazir_no || aray[k][l]==(50+Vazir_no-1) )
aray[k][l]=0;
GoBack();
}
}
if (j>7){
if(j_o[Vazir_no-1]>7){
for(k=0;k<8;k++)
for(l=0;l<8;l++)
if(aray[k][l]==Vazir_no||aray[k][l]==50+Vazir_no-1)
aray[k][l]=0;
}
GoBack();
}
}
}
/*----------------------*/
void GoBack(void){
int register k,l;
if(j>=7/*&&j<9*/&&Vazir_no>0){
for(k=0;k<8;k++)
for(l=0;l<8;l++)
if( aray[k][l]==Vazir_no || aray[k][l]==(50+Vazir_no-1) )
aray[k][l]=0;
j=j_o[Vazir_no-1];
Vazir_no--;
Ok=1;
}
else{
Ok2=0;
}
}
/*----------------------*/
void Tiker(void){
int k;
aray[Vazir_no][j]=50+Vazir_no;
for(k=0;k<8;k++) if(aray[Vazir_no][k]==0)aray[Vazir_no][k]=Vazir_no+1;
for(k=0;k<9;k++) if(aray[k][j]==0)aray[k][j]=Vazir_no+1;
for(k=0;k<8;k++)
if( (Vazir_no+k)<8 && (j+k)<8 && aray[Vazir_no+k][j+k]==0 )
aray[Vazir_no+k][j+k]=Vazir_no+1;
for(k=-8;k<8;k++)
if( (Vazir_no+k)<8 && (j-k)>-1 && aray[Vazir_no+k][j-k]==0 )
aray[Vazir_no+k][j-k]=Vazir_no+1;
}
/*----------------------*/
void DrawChes(void){
int k,l,m;
for(k=0;k<8;k++){
textbackground(4);
textcolor(14);
gotoxy(2*k+2,1);
cprintf("%c ",'A'+k);
gotoxy(1,k+2);
cprintf("%1d",k+1);
textbackground(9);
for(l=1;l<9;l++){
for(m=1;m<9;m++)
if((l%2&&m%2)|| !(l%2||m%2)){
gotoxy(2*l,m+1);
textbackground(7);
textcolor(7);
if(aray[l-1][m-1]!=0){
textbackground(7);
textcolor(1);
if(aray[l-1][m-1]>20) cprintf("* ");
else cprintf("°°");
}
else{
cprintf("²²");
}
}
else{
gotoxy(2*l,m+1);
textbackground(5);
if(aray[l-1][m-1]!=0){
textbackground(5);
textcolor(15);
if(aray[l-1][m-1]>20) cprintf("* ");
else cprintf("°°");
}
else{
textbackground(5);
textcolor(5);
gotoxy(2*l,m+1);
cprintf("²²");
}
}
}
}
}
/*----------------------*/
void DrawData(void){
int register k,l;
if(rp>=20){
textbackground(1);
clrscr();
rp=1;
}
gotoxy(1,25);
for(l=0;l<8;l++) cprintf("%2d.",j_o[l]);
gotoxy(19,rp++);
textbackground( 0 );
textcolor( 15 );
cprintf("Vazir_no=%d,j=%d,j[i]=%d,j[i-1]=%d",Vazir_no,j,j_o[Vazir_no],j_o[Vazir_no-1]);
for(k=0;k<8;k++){
gotoxy(50,k+1);
for(l=0;l<8;l++){
textbackground(0);
textcolor( aray[l][k] );
if(aray[l][k]>=50){
textbackground(7);
textcolor( aray[l][k]-49 );
}
cprintf("%2d.",aray[l][k]);
}
}
}




نوع مطلب : پروژه های برنامه نویسی، 
برچسب ها :
چهارشنبه 9 اردیبهشت 1388




آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
به سایت ما خوش آمدید
نام و نام خانوادگی      
آدرس ایمیل      
کلیه حقوق این وبلاگ برای مسعود جویبار محفوظ است