Дело в том, что я хочу иметь возможность увеличить/уменьшить переменную (int), нажимая клавиши со стрелками вверх и вниз. Но как я могу манипулировать переменной, поэтому она идет от 3 до 1 и назад от 1 до 3 снова?Подсчет до определенного номера и начало снова + назад
Я использую Visual C# express 2010 и это приложение Windows Console! Извините за беспокойство!
Я отчаянно пытаюсь попасть на C# и борюсь с такими основными вещами. Я был бы очень благодарен, если бы кто-нибудь мог мне помочь в этом. Я получил это далеко, это должно стать меню на котором пользователь может прокручивать три варианта: 1- Новые игры // 2- загрузить игру и 3- Выход игры
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int iMOP = 0;
ConsoleKeyInfo keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.UpArrow){
}
else if (keyInfo.Key == ConsoleKey.DownArrow){
}
switch (iMOP)
{
case 0:
break;
case 1:
break;
case 2:
break;
}
}
}
}
Дополнительно: Постараюсь для обновления меню с помощью Console.Clear, хотя мне придется вычислять проблему подсчета. Я перевел это на это сейчас: И ЭТО РАБОТАЕТ СЕЙЧАС, СПАСИБО ДЛЯ ВХОДА, ПАРОВ!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.CursorVisible = false;
int iMOP = 1;
Console.WriteLine(" >>New Game");
Console.WriteLine(" Load Game");
Console.WriteLine(" Exit Game");
while (iMOP != 5)
{
{
ConsoleKeyInfo keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.UpArrow)
{
iMOP--;
}
else if (keyInfo.Key == ConsoleKey.DownArrow)
{
iMOP++;
}
}
if (iMOP == 0)
{
iMOP = 3;
}
else if (iMOP == 4)
{
iMOP = 1;
}
switch (iMOP)
{
case 1:
Console.Clear();
Console.WriteLine(" >>New Game");
Console.WriteLine(" Load Game");
Console.WriteLine(" Exit Game");
break;
case 2:
Console.Clear();
Console.WriteLine(" New Game");
Console.WriteLine(" >>Load Game");
Console.WriteLine(" Exit Game");
break;
case 3:
Console.Clear();
Console.WriteLine(" New Game");
Console.WriteLine(" Load Game");
Console.WriteLine(" >>Exit Game");
break;
}
}
}
}
}
Непонятно, что вы имеете в виду ... если вы реагируете на нажатия клавиш, это будет определять, увеличиваете или уменьшаете переменную. Возможно, если вы разместили код, который у вас есть, и объяснили разницу между тем, что он делает и что вы хотите, вам было бы легче помочь вам. –
Итак, вы хотите, чтобы номер «обернулся»? Оператор модуля ('%') - ваш друг здесь. Если вы опубликуете то, что у вас есть, было бы легче помочь. – BradleyDotNET
Когда ваш вопрос включает какой-либо пользовательский интерфейс или ввод (например, клавиши со стрелками, инициирующие процесс), вы должны указать, с какой платформы вы работаете, потому что вы получите разные ответы: WPF, Windows Forms, Web? –