콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경
명령프롬프트 제어 함수(system) - Windows.h
int __cdecl system(const char *_Command)
반환 값 int형이고 성공은 0, 실패는 -1을 리턴합니다.
명령 프롬프트(cmd)에 있는 명령어를 쓸 수 있다.
콘솔게임 만들 때 system함수에서 자주 쓰는 명령어들
(화면 전체 지우기, 콘솔 화면 크기 변경, 타이틀 변경 등이 있습니다.)
system("pause"); // 계속할려면 아무키나 누르시오.... 가 뜹니다. (아무키나 안눌르면 getch()같이 계속 입력을 기다림)
system("pause > NUL"); // 글자가 뜨지 않는 대신 효력은 system("pause");하고 같습니다.
system("cls"); // 화면 전체를 깨끗하게 지워주고 커서를 0,0으로 이동시킵니다.
system("C:\\test\run.exe") // C:\test에 위치한 run.exe파일을 실행합니다.
system("mode con: lines = number cols = number"); // 숫자만큼 콘솔창의 크기가 변경됩니다.
system("title Test"); // 도스창 타이틀(제목)을 Test으로 바꿔줍니다.
/* 명령어를 칠땐 소대문자를 상관하지 않습니다. */
콘솔에서 좌표 이동하는 방법(SetConsoleCursorPosition) - Windows.h
BOOL _stdcall SetConsoleCursorPosition(HANDLE hConsoleOutput, COORE dwCursorPosition)
dwCursorPosition를 받아서 그 값에 따라 콘솔창 커서 이동을 시킬 수 있습니다. 이 함수를 이용하면 게임 만들 때 필요한 부분만 지우고(공백출력) 화면을 보여줄 수 있다.
void gotoxy(int x, int y)
{
COORD XY = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), XY);
}
콘솔에서 깜박깜박거리는 커서를 보이지 않게 하기(CursorView) - Windows.h
void CursorView(char show)
{
HANDLE hConsole;
CONSOLE_CURSOR_INFO ConsoleCursor;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
ConsoleCursor.bVisible = show;
ConsoleCursor.dwSize = 1;
SetConsoleCursorInfo(hConsole , &ConsoleCursor);
}
글자에 색깔 넣는 방법(SetConsoleTextAttribute) - Windows.h
BOOL __stdcall SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes)
WORD wAttributes에 지정된 값을 넣어 주면 글자색, 배경색이 바뀝니다. 아래와 같이 정의하여 사용할 수 있습니다. 콘솔창에 색상이 변합니다.
enum {
BLACK, /* 0 : 검은색 */
DARK_BLUE, /* 1 : 어두운 파랑 */
DARK_GREEN, /* 2 : 어두운 초록 */
DARK_SKY_BLUE, /* 3 : 어두운 하늘 */
DARK_RED, /* 4 : 어두운 빨강 */
DARK_VOILET, /* 5 : 어두운 보라 */
DARK_YELLOW, /* 6 : 어두운 노랑 */
GRAY, /* 7 : 회색 */
DARK_GRAY, /* 8 : 어두운 회색 */
BLUE, /* 9 : 파랑 */
GREEN, /* 10 : 초록 */
SKY_BLUE, /* 11 : 하늘 */
RED, /* 12 : 빨강 */
VIOLET, /* 13 : 보라 */
YELLOW, /* 14 : 노랑 */
WHITE, /* 15 : 하얀색 */
};
#define col GetStdHandle(STD_OUTPUT_HANDLE) // 함수정의
#define BCK SetConsoleTextAttribute( col,0x0000); // 검은색
#define WHITE SetConsoleTextAttribute( col,0x000f ); // 흰색
#define HIG SetConsoleTextAttribute( col, 0x000d); //형광
#define BW SetConsoleTextAttribute( col,0x00f0 ); // 검흰색
#define RED SetConsoleTextAttribute( col,0x000c ); //빨강
#define VIO SetConsoleTextAttribute( col,0x00f1 | 0x0008 |0x000c); //보라
#define YEL SetConsoleTextAttribute( col, 0x000e); //노란색
#define SKY SetConsoleTextAttribute( col, 0x000b); //하색
#define S SetConsoleTextAttribute( col, 0x0003); //옥색
#define GRAY SetConsoleTextAttribute( col,0x0008); // 회색
#define HIGH SetConsoleTextAttribute( col,0x00a); // 연두
#define DA SetConsoleTextAttribute( col,0x06a); // 색연두
#define WHITE1 SetConsoleTextAttribute( col,0x007); //흰색
#define BLUE SetConsoleTextAttribute( col,0x009); // 파랑
#define BRED SetConsoleTextAttribute( col,0x0cc); // 빨간색칠
#define BGRAY SetConsoleTextAttribute( col,0x080); // 회색
#define G SetConsoleTextAttribute( col,0x004); // 갈색
#define GREEN SetConsoleTextAttribute( col,0x002); // 녹색
'Backup > Windows' 카테고리의 다른 글
CreateThread, _beginthread, _beginthreadex, AfxBeginThread 차이점 (0) | 2018.01.03 |
---|---|
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙 (2) | 2017.12.24 |
콘솔게임 만들때 자주쓰는 함수- 4.음악사용 (0) | 2017.12.21 |
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리 (1) | 2017.12.21 |
콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것 (0) | 2017.12.21 |
댓글
이 글 공유하기
다른 글
-
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
2017.12.24 -
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
2017.12.21 -
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
2017.12.21 -
콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것
콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것
2017.12.21