Command 콘솔창에서 그래픽을 구현하려면?
글쓴이: sucho / 작성시간: 화, 2009/06/30 - 11:36오전
c언어 공부중인데요..
command콘솔창에서 그래픽을 구현하려면 어떻게 해야 하나요?
api를 불러다 쓰는 방법이 최선인가요??
아니면 옛날 터보씨에서 쓰던 라이브러리와 흡사한 적당하고 가벼운 라이브러리 없나요?
가벼운 프로젝트를 하는데... gui쓰면 욕먹을 꺼 같고..
콘솔창에서 적당히 그래픽 좀 메뉴 구현할만한 라이브러리 있으면 알려주세요..
컬러 캐릭터 어느정도 되고, 라인정도 그릴수 있는 거면 좋겠네요..
현재 vs2005로 하고 있는데... 영..
devcpp깔고 패키지 업데이트 하면 괜찮은 거 있긴 하던데... gg_tk? <- 이거는 gui로 넘어가는 거 같고
sdl <-이거는 완전 게임용 같고... 적당한 거 없을까요??
Forums:
allegro -
allegro - http://www.talula.demon.co.uk/allegro/
It is a game library, but still very useful for small programs as well.
콘솔 그래픽?
콘솔 그래픽이라 말하시면, ASCII 형식의 그래픽을 말씀하시는건가요?
만약 아니라면 질문이 다소 틀린 것 같네요 ^^;
일단, ASCII 그래픽을 가정하고 말씀 드리겠습니다.
콘솔은 애초에 ASCII 형식의 그래픽을 지원합니다.
Windows API 차원에서 콘솔에서 사용할 수 있는 함수를 지원합니다.
하지만, 불편하기 때문에 curses(윈도우는 ncurses) 와 같은 라이브러리를 사용합니다.
이 라이브러리는 역사가 꽤 되었는데, 과거에 COBOL 시절에 콘솔 어플리케이션을 개발할 때
CUI(CLI 아닌; Console User Interface)을 구현할 때 사용하였다고 합니다.
참고로 외부 라이브러리이므로, 따로 설치하셔야 합니다.
그리고, 일단 윈도우 그래픽을 말씀하신 거라면
WINAPI GDI 나 WINAPI GDI+ 을 사용하시는 것이 나을 것 같습니다.
GDI 은 WINAPI 책 보면 쉽게 알 수 있고,
GDI+ 은 몇년 전 나온 것인데, 최근 개발툴에서 기본적으로 사용할 수 있고,
GDI 보다 사용하기 쉽게 클래스화된 그래픽 라이브러리입니다.
표준 라이브러리는 아니지만, VC++ 깔면 기본적으로 사용할 수 있습니다.
윗 분이 올려주신 ALLEGRO 은 SDL 보다 더 게임 용도네요. ^^;
SDL 도 나쁘지 않습니다 ^^
---
참고로 왜 콘솔 그래픽이라는 (ASCII 그래픽을 말씀하신 게 아니라면) 말이 틀렸냐면
도스 시절에는 콘솔모드, 그래픽모드를 눈으로 확인할 수 없었기에(모든 그래픽모드가 전체화면모드니)
마치 콘솔모드에서 그래픽이 구현되는 것 처럼 보였을 것입니다.
하지만, 윈도우는 GUI 기반 OS 이기 때문에, 콘솔창(CMD 에 의한)에서는 그래픽을 지원하지 않습니다.
다만, DOS 에뮬레이션 모드에서는 DOS 그래픽이 콘솔창에서 띄어지는 것 처럼 보일 수는 있겠네요. (아마 Vista 부터는 DOS 시절 그래픽 에뮬레이션이 지원안되는듯)
ncurses라이브러리는 어디서 구해요?
dos그래픽이 콘솔창에 띄어지는 것을 말한 것이네요.
예..c언어 공부중에 윈도우에서 주어진 것으로 ( 포함된 라이브러리로),gui 넘어가지 않는 선에서 프로젝트 하나 해볼라는 차에 질문 했었네요..
allegro, sdㅣ은 아쉽게도 한글이 지원이 안되는 것 같은데요..
그래서 winapi에서 컬러만 불러다 쓸수 있을 정도 선에 마무리 했네요..
궁금한 것은 ncurses는 어디서 구하는 거죠? 리눅스에서 curses를 제가 보긴 한 것 같은데..
ncurses 라이브러리는 어디서 구해서 설치하는 것인지 궁금하네요.
...
http://lmgtfy.com/?q=ncurses
기본 라이브러리 있지 않나요?
고딩 때 친구 하나가 c 로 게임 만든 적 있습니다.
뭐더라... 암튼 put(x,y) 같은 기본 함수써서...
당시 Hercules 였나 EGA 였나...
암튼 화면 해상도 640x480 에 도트 직접 뿌려서 만드는게 가능합니다...
이건 뭐 라이브러리 수준도 아니고 조잡하긴 한데
unix 나 linux 라이브러리같은 다른 라이브러리 없이 가능은 했었던 걸로 기억합니다.
-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr
댓글 달기