رفتن به مطلب

ارسال های توصیه شده

سلام

بسیاری از دوستانی که با برنامه نویسی کامپیوتر سروکار داشتند حتما اسم پروژه 8 وزیر به گوشون خورده

پروژه ای که خودم برای نوشتن برنامش تو پاسکال ساعتها درگیرش بودم(پیدا کنم برنامه ای که اون موقع نوشتم رو میزارم)

تو این تاپیک سورس این پروژه رو به زبان های مختلف برنامه نویسی براتون قرار میدیم امیدوارم که به درد دوستان عزیز بخوره

حتما خودتون درموردش فکر کنید واقعا برنامه جالبی میشه

موفق باشیم:icon_gol:

لینک به دیدگاه

برنامه نحوه چيدن 8 وزير در صفحه شطرنج به زبان c++

 

اینو تست کنید من نصب شده رو سییستمم ندارم فعلا

 

 

#include

#include

#include

#include

#include

#include

#define EMPTY 48

#define ESCAPE 27

void show(int *minister, int answer);

void main()

{

int minister[8] = {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};

register int i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0;

register int s, s1, answer = 0;

char flag[8][8];

char ch;

int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "");

errorcode = graphresult();

if (errorcode != grOk)

{

cprintf("Graphics error: %s\n", grapherrormsg(errorcode));

cprintf("Press any key to halt:");

getch();

exit(1);

}

while(i

minister[0] = 8;

j = 0;

k = 0;

l = 0;

m = 0;

n = 0;

o = 0;

p = 0;

memset(flag, EMPTY, 64);

minister[0] = i;

for(s = i; s >= 0; s--)

flag[i - s] = 'i';

for(s = i; s

flag[s - i] = 'i';

for(s = 1; s

flag = 'i';

while(j

minister[1] = 8;

for(s = 0; s

for(s1 = 1; s1

if(flag[s1] > 'i'){

flag[s1] = EMPTY;

k = 0;

l = 0;

m = 0;

n = 0;

o = 0;

p = 0;

}

while(flag[j][1] != EMPTY)

j++;

if(j

minister[1] = j;

for(s = j; s >= 0; s--)

if( (j - s + 1)

flag[j - s + 1] = 'j';

for(s = j; s

if( (s - j + 1)

flag[s - j + 1] = 'j';

for(s = 2; s

if(flag[j] == EMPTY)

flag[j] = 'j';

}

if(j

while(k

minister[2] = 8;

for(s = 0; s

for(s1 = 2; s1

if(flag[s1] > 'j'){

flag[s1] = EMPTY;

l = 0;

m = 0;

n = 0;

o = 0;

p = 0;

}

while(flag[k][2] != EMPTY && k

k++;

if(k

minister[2] = k;

for(s = k; s >= 0; s--)

if( (k - s + 2)

flag[k - s + 2] = 'k';

for(s = k; s

if( (s - k + 2)

flag[s - k + 2] = 'k';

for(s = 3; s

if(flag[k] == EMPTY)

flag[k] = 'k';

}

if(k

while(l

minister[3] = 8;

for(s = 0; s

for(s1 = 3; s1

if(flag[s1] > 'k'){

flag[s1] = EMPTY;

m = 0;

n = 0;

o = 0;

p = 0;

}

while(flag[l][3] != EMPTY && l

l++;

if(l

minister[3] = l;

for(s = l; s >= 0; s--)

if( (l - s + 3)

flag[l - s + 3] = 'l';

for(s = l; s

if( (s - l + 1)

flag[s - l + 3] = 'l';

for(s = 4; s

if(flag[l] == EMPTY)

flag[l] = 'l';

}

if(l

while(m

minister[4] = 8;

for(s = 0; s

for(s1 = 4; s1

if(flag[s1] > 'l'){

flag[s1] = EMPTY;

n = 0;

o = 0;

p = 0;

}

while(flag[m][4] != EMPTY && m

m++;

if(m

minister[4] = m;

for(s = m; s >= 0; s--)

if( (m - s + 4)

flag[m - s + 4] = 'm';

for(s = m; s

if( (s - m + 4)

flag[s - m + 4] = 'm';

for(s = 5; s

if(flag[m] == EMPTY)

flag[m] = 'm';

}

if(m

while(n

minister[5] = 8;

for(s = 0; s

for(s1 = 5; s1

if(flag[s1] > 'm'){

flag[s1] = EMPTY;

o = 0;

p = 0;

}

while(flag[n][5] != EMPTY && n

n++;

if(n

minister[5] = n;

for(s = n; s >= 0; s--)

if( (n - s + 5)

flag[n - s + 5] = 'n';

for(s = n; s

if( (s - n + 5)

flag[s - n + 5] = 'n';

for(s = 6; s

if(flag[n] == EMPTY)

flag[n] = 'n';

}

if(n

while(o

minister[6] = 8;

for(s = 0; s

for(s1 = 6; s1

if(flag[s1] > 'n'){

flag[s1] = EMPTY;

p = 0;

}

while(flag[o][6] != EMPTY && o

o++;

if(o

minister[6] = o;

for(s = o; s >= 0; s--)

if( (o - s + 6)

flag[o - s + 6] = 'o';

for(s = o; s

if( (s - o + 6)

flag[s - o + 6] = 'o';

for(s = 7; s

if(flag[o] == EMPTY)

flag[o] = 'o';

o++;

}

if(o

while(p

minister[7] = 8;

while(flag[p][7] != EMPTY && p

p++;

if(p

minister[7] = p;

s1 = 0;

for(s = 0; s

if(minister

s1++;

if(s1 == 8){

show(minister, answer);

ch = getch();

if(ch == ESCAPE){

closegraph();

exit(1);

}

answer++;

}

}

p++;

}

o++;

}

n++;

}

m++;

}

l++;

}

k++;

}

j++;

}

i++;

}

closegraph();

}

void show(int *minister, int answer)

{

register int i;

char s[25], ch;

cleardevice();

sprintf(s, "%02d form(s) of answer.", answer + 1);

outtextxy(160, 10, s);

for(i = 0; i

line(i * 16, 0, i * 16, 128);

for(i = 0; i

line(0, i * 16, 128, i * 16);

for(i = 0; i

bar((i * 8) + 4, minister[i / 2] * 16 + 4, (i * 8) + 12, minister[i / 2] * 16 + 12);

outtextxy(10, 440, "Press any key to show another forms.(Espace for skip / Escape for end.)");

}

 

لینک به دیدگاه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اینم یه نمونه دیگه که تمام 92 حالت رو میتونین اجرا کنین

لینک به دیدگاه
  • 1 ماه بعد...

وای ...

تا 5 ماه پیش برنامه نویسی سی ++ خیلی خوب شده بود ...

ولی اصلا وقت نمیکنم کار کنم ... داره یادم میره ...

( اخه وقتم داشته باشم کا ر نمیکنم .... الان وقتم مهمتر ...)

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...