2014-11-12 2 views
2

저는 프로그래밍에 익숙하며 현재 C의 배열에 대해 배우고 있습니다. 15 개의 숫자가 매겨진 정사각형 조각이 프레임에 장착되어 있고 하나의 조각이 비어있는 퍼즐을 만들고 있습니다. 사용자가 화살표 키 위, 아래, 왼쪽, 오른쪽). 숫자가 오름차순으로 정렬되지 않을 때까지 화살표 키를 계속 누릅니다. 이러한 조각은 수평 및 수직으로 이동할 수 있습니다. 내 문제는 커서를 어떻게 배치 해야할지 모르겠다. 라이브러리 함수를 알고있다. gotoxy()하지만 터보 C/C++에서 사용되었다고 생각한다. 코드 블록을 사용하고 있는데, Google에서 검색했다. 하지만 결과를 얻을 수 없습니다. 그렇습니다. 저는 키보드 커서와 윈도우 OS를 사용하고 있습니다. 도와주세요! :)커서를 화면에 배치하는 방법은 무엇입니까?

+0

가 마우스를 뜻

당신은 여기에 참조로 윈도우 SDK를 사용해야 만합니다 위치 15,5에 foo_bar를 작성하는 작은 프로그램입니다 커서? 무슨 소리 야? –

+0

@ jean-loup OP가 콘솔 커서를 참조하고 있다고 생각합니다. BTW 이것은 사용하는 플랫폼 (예 : Windows 또는 Unix/Linux)에 따라 달라집니다. –

+0

나는 창을 사용하고 있습니다. –

답변

3

예전에는 MS/DOS가 특수 드라이버 ANSI.SYS를 사용하여 ANSI 명령 코드를 에뮬레이트했습니다. 이 오래된 드라이버는 Windows XP에서 사용할 수 있지만 (config.sys에서 구성해야 함), Windows 7 이상에서는 작동하지 않는다고 말하는 기사가 있습니다.

ANSI (또는 vt100 또는 vt220) 코드는 Linux 또는 Unix 터미널에서 유용하지만 Windows에서는 Wincon.h에 선언 된 Windows API 콘솔 함수를 직접 사용하는 것이 좋지만 Windows를 포함해야합니다. h Windows API 함수를 사용할 때.

#include <windows.h> 
#include <tchar.h> // compatibility 8/16 bits characters 

int _tmain(int argc, const LPSTR *argv) { 
    HANDLE hStdOut = ::GetStdHandle(STD_OUTPUT_HANDLE); // console output handle 
    COORD dwCursorPosition; 
    DWORD nb; 
    dwCursorPosition.X = 15; 
    dwCursorPosition.Y = 5; 
    ::WriteConsoleOutputCharacter(hStdOut, _T("foo_bar"), 7, dwCursorPosition, &nb); 

    return 0; 
} 

참고 : Console Reference MSDN에

+0

"window.h : No such file or directory"를 컴파일 한 후 오류가 표시됩니다. –

+0

'windows.h를 작성했습니다. '-''''s '를 메모해라. –

+0

오. 그것은 훌륭하다. 고맙다. 많이 배웠다. 나는 C를 배운다. 그래서 당신이 위에서 쓴 프로그램을 이해할 수 없다. C로 설명해 주실 수 있겠 니? 나에게 도움이된다. –