2017-03-02 28 views
-2

警告:私はプログラミングにとって新しいです!私は、クラスプロジェクトのためのランダムな文字ジェネレータゲームを作成しようとしています。まともなスタートを切ったような気がしますが、私はいくつかの点で問題があります。ランダム・レター・ジェネレータ・ゲーム

プログラムは、プレイしたいゲームの数(1-5)をプレーヤーに尋ねることになっています。ゲームごとに得られる推測の最大数は5であり、推測されなかった場合の正解の内容を印刷することになっています。それは、私はそれが正しい推測の数を実行しますが、ゲームではありませんので、すべての推測が完了したときに正しい答えを< <とします。どんな助けでも感謝しています。ゲームの外側のループ、およびターンのための内部ループ - あなたは「ネストされたループ」を使用することができ

#include<iostream>; 
#include<cstdlib>; 
#include<ctime>; 
using namespace std; 
int main() 
{ 
    char alphabet [27]; 
    int number_of_games; 
    char guess; 
    int x = 1; 
    srand(time(0)); 
    int n = rand() % 26 + 1; 

     cout<<"Weclome to the Letter Guessing game!\n"; 
     cout<<"You have 5 chances to guess each letter.\n \n"; 
     cout<<"How many games do you want to play?\n"; 
     cin >> number_of_games; 

     cout<<"**************************************************\n\n"; 

    while (x <= number_of_games) //Need to get it for how many rounds, not how many guesses 

    { 
     if (number_of_games < 1) 
     { 
      cout<< "Lets play game " << number_of_games << '\n'; 
     } 
     //cout << (char)(n+97); //cheat to make sure working 
     cout<<"Enter your guess: "; 
     cin >> guess; 
     int guessValue = int(guess); 

     if (guessValue > (n+97)) 
     { 
      cout<<"The letter you are trying to guess is before " <<guess <<"\n"; 
     } 
     else if (guessValue < (n+97)) 
     { 
      cout<<"The letter you are trying to guess is after " <<guess << "\n"; 
     } 
     else if( (char)(n+97)) 
     { 
      cout << "The answer you were looking for was " << (char)(n+97) << "\n"; 
     } 
     else 
     { 
      cout<<"Your guess is correct! \n"; 
      break; 
     } 
     //if answer is not right after x tries, cout the correct answer 
     x++; 
    } 

    system("pause"); 
    return 0; 
} 

答えて

0

。私は私の例ではforループを使用しました。

また、すべてをintに変換する必要はありません。 charは整数型で、数字のように使用できます。

while (x <= number_of_games) //Need to get it for how many rounds, not how many guesses 
{ 
    // Select a new char (a-z) for each game 
    char n = 97 + rand() % 27; 
    cout << "Lets play game " << x << '\n'; 
    // 5 guesses 
    for (int number_of_guesses = 0; number_of_guesses < 5; number_of_guesses++) { 
     cout << "Enter your guess: "; 
     cin >> guess; 
     if (guess > n) 
     { 
      cout << "The letter you are trying to guess is before " << guess << "\n"; 
     } 
     else if (guess < n) 
     { 
      cout << "The letter you are trying to guess is after " << guess << "\n"; 
     } 
     else 
     { 
      cout << "Your guess is correct! \n"; 
      // Break out of the inner for loop, not the while 
      break; 
     } 
    } 
    x++; 
} 
+0

ありがとうございました!あなたの提案はとてもうまくいった@JohnnyMopp – Brittany

関連する問題