If you use Convert.ToInt32(), you might get an exception if the input is not a number. Using TryParse() method is more safe.
int atkchoice;
do
{
// repeat until input is a number
Console.WriteLine("Please input a number! ");
} while (!int.TryParse(Console.ReadLine(), out atkchoice));
Console.WriteLine("You entered {0}", atkchoice);
If you want to validate that input is in a set of numbers, you can create an enumeration of user choice then check if the input is correct. Use Enum.IsDefined to validate the value is in the enumeration.
enum UserChoiceEnum
{
Choice1 = 1,
Choice2,
Choice3
}
void Main()
{
int atkchoice;
do
{
do
{
// repeat until input is a number
Console.WriteLine("Please input a number! ");
} while (!int.TryParse(Console.ReadLine(), out atkchoice));
} while (!Enum.IsDefined(typeof(UserChoiceEnum), atkchoice));
Console.WriteLine("You entered {0}", atkchoice);
}