Перемещение символа стрелками c++

Источник: programmersclub
programmersclub

Нужно реализовать перемещение символа (в данном случае смайлика) стрелками по экрану консоли горизонтально и вертикально.
Прошу привести код в порядок.

 #include

#include

#include

using namespace std;

void main()

{

	HANDLE h = GetStdHandle (STD_OUTPUT_HANDLE);

	COORD c = {0, 0};

	c.X=0;

	c.Y=0;

	SetConsoleCursorPosition (h, c);

	while(1){

	int k = getch(), step = 1; //step - шаг перемещения символа

	if(k==0//k==224)  k = getch();

	switch(k){

	case 72: //72,75,77,80 - порядковый номер стрелок на клавиатуре, char(1) - смайлик

		c.Y-step;

		cout<<char(1);

		break;

	case 75:

		c.X-step;

		cout<<char(1);

		break;

	case 77:

		c.X+step;

		cout<<char(1);

		break;

	case 80:

		c.Y+step;

		cout<<char(1);

	}

}

}

Last

#include

#include

#include

using namespace std;

int main()

{

	HANDLE h = GetStdHandle (STD_OUTPUT_HANDLE);

	COORD c = {10, 1};

	SetConsoleCursorPosition (h, c);

	while(1)

	{

		int k = getch();

		if (k==0//k==224)  k = getch();

		switch(k)

		{

		case 72: //72,75,77,80 - код для клавиш стрелок на клавиатуре, char(1) - смайлик

			c.Y--;

			cout<<char(1);

			break;

		case 75:

			c.X--;

			cout<<char(1);

			break;

		case 77:

			c.X++;

			cout<<char(1);

			break;

		case 80:

			c.Y++;

			cout<<char(1);

			break;

		default: return 0;;

		}

               SetConsoleCursorPosition(h, c);

	}

}

Пост написан при поддержке автосалона "Gammamotors" - одна из ведущих компаний по продаже автомобилей в России. "Gammamotors" является официальным дилером AO "Автоваз".


Страница сайта http://185.71.96.61
Оригинал находится по адресу http://185.71.96.61/home.asp?artId=30612