2017-08-27 18 views
1

私はC#を使ってコンソールゲームを作っています。ユーザーが矢印キーを押すたびにコードブロックを実行するプログラムにしたい。それはかなり簡単ですが、私はC#の初心者であるため、これをどうやって行うのかわかりません。C#コンソールアプリケーションでユーザー入力を追跡する方法は?

PS私はVS Macで作業しています。

EDIT 1:ユーザー入力の追跡は、プログラムがユーザー入力を待機しているときに他のタスクを停止しないようにすることを意味します。

答えて

1

あなたのGameLogicは、無限ループで別のスレッドで実行する必要があります。 メインスレッドのwhile(true)ループエンドレスループでConsole.ReadKey()をリッスンして、追跡を続けることができます。キーが押されるたびに、他のスレッドが処理するイベントを投げることができます。 How do I run a simple bit of code in a new thread?がきれいaproachがプライベートスレッド(私の意見で最もきれいaproach)を保持しているGameLogicWorkerを作成することです これanswereはそれを行う方法を示して

新しいスレッドを起動するには、見ています: https://stackoverflow.com/a/8123600/4992212

しかし、いくつかのオプションがあります。 asyncを使用し、キーワードを待って非同期操作を実現することもできます。

+0

良いアイデア!私はマルチスレッドを考えていません。しかし、C#でマルチスレッドを行う方法を教えてください。 –

+0

私の答えを編集しました。 2番目のリンクは、GameLogicに使用できるワーカークラスの実装方法の例を示しています –

+0

ありがとうございました!それは私の問題を完全に解決しました!このウェブサイトではあなたの答えを今受け入れることはできません。私は少し後でそれをやります。 –

関連する問題