最近、私はConsole-Applicationで基本的なゲームを作ろうとしています。矢印でカーソルを動かしたいのです(ヘビやゲームの非常に基本的なスタートとして、コンソール画面)、カーソルが動くのを止めず、矢印を押したときの方向を変えることができるかどうか聞きたいのですが?イベントで何か?c#コンソール - キーを押すまで何かを実行する
ありがとうございました。
最近、私はConsole-Applicationで基本的なゲームを作ろうとしています。矢印でカーソルを動かしたいのです(ヘビやゲームの非常に基本的なスタートとして、コンソール画面)、カーソルが動くのを止めず、矢印を押したときの方向を変えることができるかどうか聞きたいのですが?イベントで何か?c#コンソール - キーを押すまで何かを実行する
ありがとうございました。
私は次のようなものをお勧めします:
bool isRight, isUp; //Used to determine direction
while (gamePlaying)
{
if(Console.KeyAvailable)
{
Console.ReadKey(); //Do your thing in here
}
}
キーが押されている、そしてそれがある場合は、それを読むのであれば、あなたは確認してください。
また、コンソールゲームを作成する場合は、画面をダブルバッファし、可能であれば書き込み呼び出しを最小限に抑えるためにWin32 APIを使用するか、恐ろしいフリッカーで画面を小さくしたいと考えています。
私はコンソールウィンドウのカーソル位置を制御するとは考えていません。テキストを読み書きすることはできますが、それだけです。だから、あなたがコンソールゲームをしたいのであれば、それはテキストベースである必要があります。あなたは新しいテキストがアニメーション化されているように見えるほど速くコンソールに印刷される場所に基づいてゲームアスキーアートを作ることができるかもしれませんが、コンソールがこの作業をうまく実行するのに十分に速く行くことはできません。
'while(true)'ループを使用し、キーが押されている場合は、すべてのループチェックの開始時に使用してください。 –
Console.ReadKeyを使用せずにどうすればいいですか?私がそれを使用すると、プログラムは入力キーを待つでしょう – Dvir
'if(Console.KeyAvailable){Console.ReadKey();}' –