최근에 Console-Application에서 기본 게임을 만들려고합니다. 화살표가있는 커서를 움직이는 것과 같습니다 (어쩌면 뱀과 게임의 가장 기본적인 시작으로 콘솔 화면), 나는 커서가 움직이지 않는 것을 가능하게 할 수 있는지 묻고 싶었고, 화살표를 눌렀을 때 방향을 바꾸었다. 이벤트가있는 것입니까?C# Console- 키를 누를 때까지 무언가를하십시오.
감사합니다.
최근에 Console-Application에서 기본 게임을 만들려고합니다. 화살표가있는 커서를 움직이는 것과 같습니다 (어쩌면 뱀과 게임의 가장 기본적인 시작으로 콘솔 화면), 나는 커서가 움직이지 않는 것을 가능하게 할 수 있는지 묻고 싶었고, 화살표를 눌렀을 때 방향을 바꾸었다. 이벤트가있는 것입니까?C# Console- 키를 누를 때까지 무언가를하십시오.
감사합니다.
나는 다음과 같은 제안 : 키를 누를되는 경우
bool isRight, isUp; //Used to determine direction
while (gamePlaying)
{
if(Console.KeyAvailable)
{
Console.ReadKey(); //Do your thing in here
}
}
그래서 당신이 확인을하고 있는지 당신은 그것을 읽었다.
콘솔 게임을하는 경우 화면을 이중 버퍼링하고 Win32 API를 사용하여 가능하면 쓰기 호출을 최소화하거나 화면이 깜박 거리는 것을 최소화해야합니다.
어쨌든 콘솔 창의 커서 위치를 제어 할 수 있다고 생각하지 않습니다. 텍스트를 읽거나 쓸 수는 있지만 그게 전부입니다. 따라서 콘솔 게임을 만들고 싶다면 텍스트 기반이어야합니다. 새 텍스트가 애니메이션으로 표시 될 정도로 빠르지 만 콘솔에 빠르게 인쇄되는 곳에 기반하여 게임 ASCII 아트를 만들 수는 있지만 콘솔이 빠르게 작동 할 수 있다고는 생각하지 않습니다.
'while (true)'루프를 사용하고 키를 눌렀을 때 모든 루프 검사의 시작 부분에 사용하십시오. –
Console.ReadKey를 사용하지 않고 어떻게 할 수 있습니까? 만약 내가 그것을 사용하면, 프로그램은 입력 키를 기다릴 것이다 – Dvir
'if (Console.KeyAvailable) {Console.ReadKey();}' –