برنامه هشت وزیر

yasi93

New Member
کسی سورس برنامه هشت وزیر به زبان cرا داره حتمآ cباشه نه c++ تو را خدا خیلی لازمش دارم
 

saalek110

Well-Known Member

yasi93

New Member
درخواست تصحیح برنامه هشت وزیر

میشه این برنامه را توضیح دهید و یک خطای ان را تصحیح کنید
کد:
/* IN THE NAME OF GOD
_______________
| |
| EIGHT QUEEN |
|_______________|

*/
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#include <dos.h>
#include <stdlib.h>
#include <conio.h>
struct vazir{
int x,y,r;
}vazir[8];
int a[8][8];
char c;
int i,j,q;
void draw();
void initializ();
void clean();
void menu();
void draw_vazir(int i,int j);
void main()
{
int driver = DETECT,mode;
initgraph(&driver,&mode,"d:\\tc\\bgi\0");
initializ();
draw();
while (vazir[0].x<8){
if (vazir[1].r==1){
vazir[1].r=0;
vazir[0].x++;
}
if (vazir[0].x==8) break;
while (vazir[1].x<8){
if (vazir[2].r==1){
vazir[2].r=0;
vazir[1].x++;
}
if (vazir[1].x==7)
vazir[1].r=1;
if(vazir[1].x==vazir[0].x||abs(vazir[1].x-vazir[0].x)==abs(vazir[1].y-vazir[0].y)||(vazir[1].x==8))
{
vazir[1].x++;
continue;
}
while (vazir[2].x<8){
if (vazir[3].r==1){
vazir[3].r=0;
vazir[2].x++;
}
if( vazir[2].x==7)
vazir[2].r=1;
if(vazir[2].x==vazir[1].x||abs(vazir[2].x-vazir[1].x)==abs(vazir[2].y-vazir[1].y)||vazir[2].x==vazir[0].x||abs(vazir[2].x-vazir[0].x)==abs(vazir[2].y-vazir[0].y)||(vazir[2].x==8))
{
vazir[2].x++;
continue;
}
while (vazir[3].x<8){
if (vazir[4].r==1){
vazir[4].r=0;
vazir[3].x++;
}
if (vazir[3].x==7)
vazir[3].r=1;
if(vazir[3].x==vazir[1].x||abs(vazir[3].x-vazir[1].x)==abs(vazir[3].y-vazir[1].y)||(vazir[3].x==vazir[0].x)||abs(vazir[3].x-vazir[0].x)==abs(vazir[3].y-vazir[0].y)||(vazir[3].x==vazir[2].x)||abs(vazir[3].x-vazir[2].x)==abs(vazir[3].y-vazir[2].y)||(vazir[3].x==8))
{
vazir[3].x++;
continue;
}
while (vazir[4].x<8){
if (vazir[5].r==1){
vazir[5].r=0;
vazir[4].x++;
}
if (vazir[4].x==7)
vazir[4].r=1;
if(vazir[4].x==vazir[1].x||abs(vazir[4].x-vazir[1].x)==abs(vazir[4].y-vazir[1].y)||vazir[4].x==vazir[0].x||abs(vazir[4].x-vazir[0].x)==abs(vazir[4].y-vazir[0].y)||vazir[4].x==vazir[2].x||abs(vazir[4].x-vazir[2].x)==abs(vazir[4].y-vazir[2].y)||vazir[4].x==vazir[3].x||abs(vazir[4].x-vazir[3].x)==abs(vazir[4].y-vazir[3].y)||vazir[4].x==8)
{
vazir[4].x++;
continue;
}
while (vazir[5].x<8){
if (vazir[6].r==1)
{
vazir[6].r=0;
vazir[5].x++;
}
if (vazir[5].x==7)
vazir[5].r=1;
if(vazir[5].x==vazir[1].x||abs(vazir[5].x-vazir[1].x)==abs(vazir[5].y-vazir[1].y)||vazir[5].x==vazir[0].x||abs(vazir[5].x-vazir[0].x)==abs(vazir[5].y-vazir[0].y)||vazir[5].x==vazir[2].x||abs(vazir[5].x-vazir[2].x)==abs(vazir[5].y-vazir[2].y)||vazir[5].x==vazir[3].x||abs(vazir[5].x-vazir[3].x)==abs(vazir[5].y-vazir[3].y)||vazir[5].x==vazir[4].x||abs(vazir[5].x-vazir[4].x)==abs(vazir[5].y-vazir[4].y)||(vazir[5].x==8))
{
vazir[5].x++;
continue;
}
while (vazir[6].x<8){
if (vazir[7].r==1){
vazir[7].r=0;
vazir[6].x++;
}
if (vazir[6].x==7)
vazir[6].r=1;
if(vazir[6].x==vazir[1].x||abs(vazir[6].x-vazir[1].x)==abs(vazir[6].y-vazir[1].y)||vazir[6].x==vazir[0].x||abs(vazir[6].x-vazir[0].x)==abs(vazir[6].y-vazir[0].y)||vazir[6].x==vazir[2].x||abs(vazir[6].x-vazir[2].x)==abs(vazir[6].y-vazir[2].y)||vazir[6].x==vazir[3].x||abs(vazir[6].x-vazir[3].x)==abs(vazir[6].y-vazir[3].y)||vazir[6].x==vazir[4].x||abs(vazir[6].x-vazir[4].x)==abs(vazir[6].y-vazir[4].y)||vazir[6].x==vazir[5].x||abs(vazir[6].x-vazir[5].x)==abs(vazir[6].y-vazir[5].y)||(vazir[6].x==8))
{
vazir[6].x++;
continue;}
while (vazir[7].x<8){
if (vazir[7].x==7)
vazir[7].r=1;
if(vazir[7].x==vazir[1].x||abs(vazir[7].x-vazir[1].x)==abs(vazir[7].y-vazir[1].y)||vazir[7].x==vazir[0].x||abs(vazir[7].x-vazir[0].x)==abs(vazir[7].y-vazir[0].y)||vazir[7].x==vazir[2].x||abs(vazir[7].x-vazir[2].x)==abs(vazir[7].y-vazir[2].y)||vazir[7].x==vazir[3].x||abs(vazir[7].x-vazir[3].x)==abs(vazir[7].y-vazir[3].y)||vazir[7].x==vazir[4].x||abs(vazir[7].x-vazir[4].x)==abs(vazir[7].y-vazir[4].y)||vazir[7].x==vazir[5].x||abs(vazir[7].x-vazir[5].x)==abs(vazir[7].y-vazir[5].y)||vazir[7].x==vazir[6].x||abs(vazir[7].x-vazir[6].x)==abs(vazir[7].y-vazir[6].y)||(vazir[7].x==8))
{
vazir[7].x++;
continue;
}
else
{
q++;
setcolor(q/8+2);
settextstyle(7,0,2);
outtextxy(20,420,"By : Jafar Taghipour & Jamshid Eynali");
graphdefaults();
menu();
for(i=0;i<8;i++)
draw_vazir(vazir[i].x,i);
do{
c=getch();
if (c==27) exit(0);
}while(c!=27 && c!=13 );
clean();
menu();
vazir[7].x++;
}
}//end while 7
vazir[7].x=0;
}//end while 6
vazir[6].x=0;
}//end while 5
vazir[5].x=0;
}//end while 4
vazir[4].x=0;
}//end while 3
vazir[3].x=0;
}//end while 2
vazir[2].x=0;
}//end while 1
vazir[1].x=0;
}//end while 0
getch();
closegraph();
}
////////////////////////////////DRAW/////////////////////////////////////////
void draw(){
for ( i=1;i<10;i++){
setcolor(14);
line(170,40*i+40,490,40*i+40);
line(40*i+130,80,40*i+130,400);
}
setfillstyle(1,15);
for (i=0; i<9;i++)
{
for (j=0 ;j<9;j++)
{
floodfill(150+40*i,130+40*j,14);
floodfill(110+40*i,90+40*j,14);
j++;
}
i++;
}
setfillstyle(2,1);
floodfill(0,0,14);
}
//////////////////////////////////DRAW_VAZIR////////////////////////////////
void draw_vazir(int i,int j){
//graphdefaults();
setcolor(2);
circle(40*i+190,40*j+100,16);
outtextxy(40*i+187,40*j+93,"");
outtextxy(40*i+183,40*j+97,">");
outtextxy(40*i+190,40*j+97,"<");
outtextxy(40*i+187,40*j+101,"");
setfillstyle(1,j+6);
floodfill(40*i+199,40*j+110,2);
}
/////////////////////////////////////CLEAN//////////////////////////////////
void clean(){
for(i=0;i<8;i++)
for(j=0;j<8;j++){
if (a[i][j]==1){
setfillstyle(1,15);
floodfill(190+40*i,100+40*j,14);}
else
{setfillstyle(1,0);
floodfill(190+40*i,100+40*j,14);}
}
}
///////////////////////////////////INITIALIZ/////////////////////////////////
void initializ(){
for(i=0;i<8;i++) {
vazir[i].x=0;
vazir[i].y=i;
}
for(i=0;i<8;i++)
for(j=0;j<8;j++)
a[i][j]=0;
for(i=0;i<8;i+=2)
for(j=0;j<8;j+=2)
a[i][j]=1;
for(i=1;i<8;i+=2)
for(j=1;j<8;j+=2)
a[i][j]=1;
}
/////////////////////////////////////////////////////////////////////////////
void menu(){
setcolor(13);
line(5,95,35,95);
line(35,95,45,80);
line(45,80,125,80);
line(125,80,135,95);
line(135,95,165,95);
line(165,95,165,235);
line(165,235,5,235);
line(5,235,5,95);
setfillstyle(3,0);
floodfill(7,97,13);
gotoxy(8,6);
printf("<<Menu>>");
gotoxy(4,8);
printf("<<Eight Queen>>");
gotoxy(3,10);
printf("Press Esc To Exit");
gotoxy(3,12);
printf("And Enter To Next");
if (q<93){
setcolor(5);
gotoxy(3,14);
printf(" Number %d Of 92",q); }
else
{
gotoxy(3,10);
printf(" ");
gotoxy(3,12);
printf(" ");
gotoxy(3,14);
printf(" END OF PROGRAM!");

}
}
 

saalek110

Well-Known Member
من این خط را :
کد:
initgraph(&driver,&mode,"d:\\tc\\bgi\0");
تبدیل به این خط کردم:
کد:
initgraph(&driver,&mode,"c:\\tc\\bgi");

بی مشکل اجرا شد.

شما هم باید ببینید توربو سی را کجا نصب کرده اید و موتور گرافیکی bgi در چه مسیری قرار دارد.
 

جدیدترین ارسال ها

بالا