Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- #define N_KEYS 12
- #define KEY_MAX_WIDTH 20
- #define FAILS_ALLOWED 7
- char possiblekeys [N_KEYS][KEY_MAX_WIDTH] = {
- "mushroom", "pineapple", "neighborhood", "citizen",
- "programming", "darkness", "fundamental", "encyclopedia",
- "businessman", "restaurant", "observatory", "civilization"
- };
- char key [KEY_MAX_WIDTH];
- char outstring [KEY_MAX_WIDTH];
- int CheckLetter (char letter);
- main ()
- {
- using namespace std;
- char input;
- int valid;
- int fails = FAILS_ALLOWED;
- unsigned int discovered = 0;
- unsigned int n;
- srand ( time (NULL) );
- int value = rand()%N_KEYS;
- strcpy (key,possiblekeys[value]);
- for (n=0; n<strlen(key); n++) outstring[n]='-';
- outstring[n]='\0';
- do {
- cout << "\nDiscover the secret key: " << outstring << "\n";
- cout << "Enter a letter (You may fail " << fails << " times): ";
- cin >> input; cin.ignore (100,'\n');
- valid = CheckLetter (input);
- if (valid!=0) discovered+=valid;
- else fails--;
- } while (discovered < strlen(key) && fails>0);
- if (discovered == strlen(key)) cout << "CORRECT! ";
- cout<< "Key was '" << key <<"'.\n";
- return 0;
- }
- int CheckLetter (char letter)
- {
- unsigned int n;
- int found=0;
- for (n=0; n<strlen(key); n++)
- if (key[n]==letter && outstring[n]=='-')
- {
- found++;
- outstring[n]=key[n];
- }
- return found;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement