0

私はちょっとここを超えて行きます。私は 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;
 }

ものすごく単純。私がやりたいことは、ユーザーが UP および DOWN キーボード キーを使用して START または EXIT を選択し、ENTER を押して選択を確認できる画面を作成することです。これは、Java のイベントなどで行われると思います。しかし、C ++では、それを行う方法がわかりません。必要なのは、始めるための手助けだけです。私のイントロ C++ の本では、このようなことはカバーされていません。

繰り返しますが、古い任天堂のゲームなどに見られるような単純なスプラッシュ スクリーンを作成しようとしています。私は自分自身で遊んでいますが、これは正しい方向に進むために尋ねるのに良い場所だと思いました.

事前に助けてくれてありがとう!

4

1 に答える 1

1

これを実現する方法は、プラットフォームによって異なります。コンソールを使用しているだけの場合は、テキストのスタイル設定に役立つ何らかのライブラリを使用することをお勧めします(選択したメニュー項目の文字と背景を反転するなど)。私はこれらのどれにも精通していませんが、どこから始めればよいかの例としてcursesライブラリを検索してみてください。

これは思ったほど簡単ではありません。ライブラリの動作に応じて、ユーザーが入力を送信するたびにスプラッシュ画面を再描画し、現在選択されているメニュー項目のインデックスを保存し、選択されているかどうかに応じてそのメニュー項目の色を選択的に変更する必要があります。

入力の取得もプラットフォームに依存し、特に矢印キーの入力を取得することはコンソールにとって注意が必要です。文字を読み込んでメニューインデックスとして使用できるため、数字の使用ははるかに簡単です(つまり、ユーザーが1キーを押した場合は、最初のメニューインデックスを選択します)。

于 2012-11-07T23:28:04.493 に答える