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 "Автоваз".