I want to make a snake game in a C# console, movement problem : <p>To change snakes direction I first have to press upArrow and then the new direction of the snake, and the snake is going in that direction until I hit upArrow again. So, to change direction to the left you need to press upArrow and then leftArrow. I want that to disappear, when I press left to make snake go left. Basically up arrow is pausing the game and I dont know why.                </p>

<pre><code>            if (Console.KeyAvailable &amp;&amp; Console.ReadKey(true).Key == ConsoleKey.UpArrow)
            {
                keyinfo = Console.ReadKey();
                Console.WriteLine(ConsoleKey.UpArrow);
            }
            if (Console.KeyAvailable &amp;&amp; Console.ReadKey(true).Key == ConsoleKey.DownArrow)
            {
                keyinfo = Console.ReadKey();
                Console.WriteLine(ConsoleKey.DownArrow);
            }
            if (Console.KeyAvailable &amp;&amp; Console.ReadKey(true).Key == ConsoleKey.LeftArrow)
            {
                keyinfo = Console.ReadKey();
                Console.WriteLine(ConsoleKey.LeftArrow);
            }
            if (Console.KeyAvailable &amp;&amp; Console.ReadKey(true).Key == ConsoleKey.RightArrow)
            {
                keyinfo = Console.ReadKey();
                Console.WriteLine(ConsoleKey.RightArrow);
            }
            if (keyinfo.Key == ConsoleKey.UpArrow)
            {
                j--;
            }
            if (keyinfo.Key == ConsoleKey.DownArrow)
            {
                j++;
            }
            if (keyinfo.Key == ConsoleKey.LeftArrow)
            {
                k--;
            }
            if (keyinfo.Key == ConsoleKey.RightArrow)
            {
                k++;
            }
</code></pre>
