PDA

View Full Version : سوال درمورد پروژه گرافیکی حرکت اسب



mahsa f
دوشنبه 13 آبان 1392, 20:32 عصر
اسب را از هر خانه ی صفحه ی شطرنج طوری حرکت دهید که به صورت متوالی تمام 64 خانه ی شطرنج را با یک بار و فقط با یک بار عبور از هر خانه ی شطرنج طی کند.
این مساله رو میخوام گرافیکش رو بنویسم(الگوریتم غیر گرافیکیش رو نوشتم)گرافیکش رو مشکل دارم.مشکلمم با اینه که باید یه جوری نوشته بشه که repaintبشه و هرلحظه حرکت اسب رو نشون بده!2روز وقت دارم.لطفا کمک کنیدممنون میشم.
توی محیط ویژوال استادیو هم هست

UfnCod3r
دوشنبه 13 آبان 1392, 22:00 عصر
منظورت تو محیط کنسوله؟
خب صفه رو پاک کن بعد اسب رو رسم کن هردفعه .

rahnema1
سه شنبه 14 آبان 1392, 07:50 صبح
این برنامه به ترتیب خانه ها رو با اسب پر می کنه
اندکس شروع سطر و ستون صفره که مبدا هم گوشه بالا سمت چپه


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void curPos(int, int);
void horse(int x,int y);
int main(){
unsigned char rawData[322] = {
0xDA, 0xC4, 0xC2, 0xC4, 0xC2, 0xC4, 0xC2, 0xC4, 0xC2, 0xC4, 0xC2, 0xC4,
0xC2, 0xC4, 0xC2, 0xC4, 0xBF, 0x0D, 0x0A, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x0D, 0x0A, 0xC3, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xB4, 0x0D, 0x0A, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x0D, 0x0A, 0xC3, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xB4, 0x0D, 0x0A, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x0D, 0x0A, 0xC3, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xB4, 0x0D,
0x0A, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x0D, 0x0A, 0xC3, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xB4, 0x0D, 0x0A, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x0D, 0x0A, 0xC3, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xB4, 0x0D, 0x0A, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x0D, 0x0A,
0xC3, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xB4, 0x0D, 0x0A, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x0D, 0x0A, 0xC3, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4,
0xC5, 0xC4, 0xC5, 0xC4, 0xC5, 0xC4, 0xB4, 0x0D, 0x0A, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3, 0x20, 0xB3,
0x20, 0xB3, 0x0D, 0x0A, 0xC0, 0xC4, 0xC1, 0xC4, 0xC1, 0xC4, 0xC1, 0xC4,
0xC1, 0xC4, 0xC1, 0xC4, 0xC1, 0xC4, 0xC1, 0xC4, 0xD9, 0x00
};
int i,j;
system("CLS");
printf("%s",rawData);
for (i=0;i<8;i++) for (j=0;j<8;j++) {horse(i,j);Sleep(500);}
curPos(17,17);
}
void curPos(int x, int y) {
HANDLE hStdout;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hStdout, &csbiInfo);
csbiInfo.dwCursorPosition.X=x;
csbiInfo.wAttributes.
csbiInfo.dwCursorPosition.Y=y;
SetConsoleCursorPosition(hStdout, csbiInfo.dwCursorPosition);
}
void horse(int x,int y)
{
curPos(x*2+1,y*2+1);
printf("%c",0x02);

}

mahsa f
جمعه 17 آبان 1392, 23:15 عصر
سلام.درستان ممنون از کمکتون.مشکلم حل شد.اما منظورم توی محیط کنسول نبود!منظورم گرافیک بود!