본문 바로가기
2_ 바삭바삭 프로그래밍/C and C++

C++ - gotoxy(좌표이동), setcolor(색상변경)

by 준환이형님_ 2012. 5. 24.

콘솔 상에서 gotoxy는 좌표를 이동시켜 주는 함수입니다. setcolor는 글자와 백그라운드 색상을 변경 시켜주고요.


기본적으로 콘솔게임은 바로 이 좌표/ 색상함수, 화면지움, 반복문, 타이머(sleep) 를 활용하여 구현 할 수 있습니다. 


rand, srand(난수발생), sleep(지연) 관련 링크는 다음 링크를 참조하세요(http://topnanis.tistory.com/175)


맨날 찾아만 보다가 포스팅 하게 되었답니다 ㅎ  


색상표가 있어요.. 0 이 검정이구, 10 이면 초록이군요. 이걸 코드에 적용시켜 보면..






#include < windows.h >     // windows.h를 인클루드 시킵니다.

#include <iostream>


using namespace std;


void gotoxy(int x,int y)

{

COORD pos={x,y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); 

 }


void setcolor(int color, int bgcolor) 

{

    color &= 0xf;

    bgcolor &= 0xf;

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (bgcolor << 4) | color);

}


int main()

{

setcolor(10,0);                //10 :초록

gotoxy(12,13);

cout<<"Hello, world!"<<endl<<endl;

        return 0;

}




참고로


system("cls");


는 도스명령어를 이용하여 화면을 깨끗이 지울 수 있게 되지요. 


좌표이동과 색상변경을 응용하여 만든 게임 예제는 아래 링크을 참조하세요 :)


http://topnanis.tistory.com/90