PDA

View Full Version : استفاده از تابع برای حرکت مکان نما



AronJason
چهارشنبه 15 آذر 1391, 23:25 عصر
با سلام به دوستان.
من شنیدم که برای حرکت دادن مکان نما در زبان C باید از تابعی به نام gotoxy استفاده بشه. نمای کلیش رو از یه سایت خارجی پیدا کردم:
void gotoxy(int x, int y){
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD cursorCoord;
cursorCoord.X=x;
cursorCoord.Y=y;
SetConsoleCursorPosition(consoleHandle, cursorCoord);
}
می خواستم بدونم داخل تابع اصلی دقیقا باید چه جوری ازش استفاده کنیم. یعنی اگه بخوایم داخل صفحه اجرای برنامه، مثلا سه تا سه تا جا به جا بشیم، باید چه دستوراتی رو و چه جوری تعریف کنیم. مثلا شنیدم می تونیم بنویسیم 5x+2 تا پنج تا پنج تا بره جلو.
ضمنا کد اسکی جهت ها رو چه جوری تعریف کنیم و چه جوری رابطه برقرار می شه بین دکمه های جهت نما و کد اسکیشون بین تابع gotoxy. برای کار کردن روی یه جدول چاپ شده بهش نیاز دارم. ولی نمی دونم cursor رو از کجا باید تعریف کنم.
ضمنا چی کار کنیم که وقتی برنامه اجرا میشه، متوقف نشه و پیام press any key to continue مستقیم نیاد! چون من جدول رو که طرحش رو چاپ کردم، وقتی اجرا می کنم چون حلقه ای داخل تابع اصلی برای توقف تعریف نکردم، کار تابع تموم می شه. چه جوری باید اجرای برنامه رو کنترل کرد تا هم زمان با چاپ نقشه، cursor هم روی صفحه نمایان بشه و بتونیم جا به جا بشیم.