Я пытаюсь создать заставку для игры Сапер для моего класса

Я как бы иду дальше и выше. Мне было поручено создать псевдо-игру Сапер для моего класса C ++. Все рутинное кодирование сделано, и все, что я хочу сейчас сделать — это создать для него классное меню. На данный момент все, что у меня есть, это:

 #include <iostream>
#include <cstdlib>

using namespace std;

bool menu ()
{
int inpt;

bool exitVar;

system("cls");

cout << "               _       _   _   _       _   _ _ _  " << endl
<< "              |_|_   _|_| |_| |_|_    |_| |_|_|_| " << endl
<< "              |_|_|_|_|_| |_| |_|_|_  |_| |_|_    " << endl
<< "              |_| |_| |_| |_| |_| |_|_|_| |_|_|   " << endl
<< "              |_|     |_| |_| |_|   |_|_| |_|_ _  " << endl
<< "              |_|     |_| |_| |_|     |_| |_|_|_| " << endl
<< "               _ _   _       _   _ _ _   _ _ _   _ _     _ _ _   _ _      " << endl
<< "             _|_|_| |_|     |_| |_|_|_| |_|_|_| |_|_|_  |_|_|_| |_|_|_    " << endl
<< "            |_|_    |_|  _  |_| |_|_    |_|_    |_|_|_| |_|_    |_|_|_|   " << endl
<< "              |_|_  |_|_|_|_|_| |_|_|   |_|_|   |_|_|   |_|_|   |_|_|_    " << endl
<< "             _ _|_| |_|_| |_|_| |_|_ _  |_|_ _  |_|     |_|_ _  |_| |_|_  " << endl
<< "            |_|_|   |_|     |_| |_|_|_| |_|_|_| |_|     |_|_|_| |_|   |_| " << endl;

cout << "\n            Welcome to Psuedo Mine Sweeper!!\n\n\n\n";

cout << "Please choose from one of the following options:\n";
cout << "1 - Play Psuedo Mine Sweeper!\n";
cout << "2 - Exit Program :(\n\n";
cout << "(1 or 2):";
cin >> inpt;

while (inpt < 1 || inpt > 2 || cin.fail())
{
cin.clear();
cin.ignore();

cout << "Please enter a valid menu choice : ";
cin >> inpt;
}if (inpt = 1)
exitVar = true;
else
exitVar = false;
return exitVar;
}

Довольно просто Я хочу создать экран, на котором пользователь может использовать клавиши клавиатуры ВВЕРХ и ВНИЗ, чтобы выбрать СТАРТ или ВЫХОД, и нажать ВВОД, чтобы подтвердить их выбор. Я думаю, что это будет сделано с событием на Java или чем-то в этом роде. Но в C ++ я понятия не имею, как это сделать. Все, что мне нужно, это просто помощь, чтобы начать. Моя вводная книга по C ++ не охватывает ничего подобного.

Опять же, я хочу создать простой экран-заставку, похожий на тот, который вы найдете в старой игре Nintendo или что-то в этом роде. Я немного поиграю с собой, но я подумал, что это хорошее место, чтобы попросить двигаться в правильном направлении.

Спасибо за помощь в продвижении!

0

Решение

То, как вы это делаете, зависит от платформы. Если вы просто используете консоль, вы, вероятно, захотите использовать какую-то библиотеку, чтобы помочь стилизовать текст (например, инвертировать символы и фон для выбранного пункта меню). Я не очень хорошо знаком с любым из них, но попробуйте поискать библиотеку curses в качестве примера того, с чего начать.

Это не так просто, как кажется. В зависимости от того, как работает библиотека, вам нужно будет перерисовывать заставку всякий раз, когда пользователь отправляет ввод, сохранять, какой индекс пункта меню выбран в данный момент, и выборочно перекрашивать этот пункт меню в зависимости от того, выбран он или нет.

Получение ввода также будет зависеть от платформы, а получение ввода с помощью клавиши со стрелкой, в частности, сложно для консоли. Использовать числа намного проще, поскольку вы можете просто прочитать символ и использовать его в качестве указателя меню (т. Е. Если пользователь нажимает клавишу 1, выберите первый указатель меню).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]