본문 바로가기

PROGRAMMING LANGUAGE/C++

화살표 입력값으로 글자 움직이기

#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;

int GetKey(void)
{
	int ch = _getch();
	
	if (ch == 0 || ch == 224)
		ch = _getch();
	
	return ch;
}

// 커서 위치 이동 // 입력된 x,y 값으로 화면에 커서를 이동시켜주는 함수
void gotoxy(int x, int y)
{
	COORD pos = { x,y };
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}

void CursorView(bool show)
{
	HANDLE hConsole;
	CONSOLE_CURSOR_INFO ConsoleCursor;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	ConsoleCursor.bVisible = show;
	ConsoleCursor.dwSize = 1;
	SetConsoleCursorInfo(hConsole, &ConsoleCursor);
}

int main()
{
	int key;
	int x = 5; int y = 5;

	while (true)
	{
		key = GetKey();

		if (key == 75) { if (x > 0) x = x - 1; }       // 왼쪽 방향키
		else if (key == 77) { if (x < 20) x = x + 1; } // 오른쪽 방향키
		else if (key == 72) { if (y > 0) y = y - 1; }  // 아래쪽 방향키
		else if (key == 80) { if (y < 10) y = y + 1; } // 위쪽 방향키

		if (key == 27)
		{
			cout << "STOP+"; break;
		}

		system("cls");
		gotoxy(x, y); cout << "a";
	}
	return 0;
}

 

 

'PROGRAMMING LANGUAGE > C++' 카테고리의 다른 글

출력할 때 글자색 바꾸기  (0) 2022.01.14
화살표 입력값 받아서 출력하기  (0) 2022.01.14
ctime  (0) 2022.01.13
decltype  (0) 2022.01.13
c++17 fold expression(재귀호출)  (0) 2021.12.31