Wpisywanie znaku od użytkownia

0

Pisałem sobie aplikacje ale ....
Mam taki problem że chę pobrać pojedynczy znak od użytkownika,wpisuję 'A' naciskam enter i dostaje na konsoli:
"Zły pionek, tracisz kolejkę!"
co tutaj zrobiłem żle? co się wpisuje do 2 zmiennej sourceY \n ?

       string vertical = "ABCDEFGH";

           int sourceY; 
           int sourceX;
           char tempSourceX;
           Console.WriteLine("\nPodaj wsp pionowe(A,B...) pionka:");
           tempSourceX = (char)Console.Read();
           Console.WriteLine("\nPodaj wsp poziome(0,1...) pionka:");
           sourceY = Console.Read();
           sourceX = vertical.IndexOf(tempSourceX); 

           if (sourceX >= 8 || sourceY >= 8 || sourceX < 0 || sourceY < 0 || array[sourceX, sourceY] != O) 
           {
               Console.WriteLine("Zły pionek, tracisz kolejkę!");
               return -1;
           }
0

Console.Read() - czyta cały bufor po jednym znaku, więc pierw przeczyta literę później(drugie wywoływanie) przeczyta Entera, a na końcu (trzecie wywołanie) zwróci 0 żeby zasygnalizować że bufor się skończył.
Alternatywnie możesz użyć : Console.ReadKey, który zwykle w takich przypadkach się stosuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1