fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <time.h>
  5. #include<stdlib.h>
  6. using namespace std;
  7.  
  8.  
  9. string pick_city(vector<string>a,unsigned int x);
  10. string set_answer(unsigned int x);
  11. char input() ;
  12. void chek_for_letter(string city,string &answer,char letter,int &mis);//problem so 4tiov parametar
  13. void playGame();
  14.  
  15. int main() {
  16.  
  17. playGame();
  18.  
  19. return 0;
  20. }
  21. string pick_city(vector<string>a, unsigned int x){
  22. return a[x];
  23.  
  24. }
  25. string set_answer(unsigned int x){
  26. string answer;
  27. for(unsigned int i=0;i<x;i++){
  28. answer+="_";
  29.  
  30. }
  31. return answer;
  32. }
  33. char input(){
  34. char input;bool ok=true;
  35. cout<<"\nEnter lower case letter :";
  36. while(ok){
  37. cin>>input;
  38. if(input>='a'&&input<='z'){
  39. return input;
  40. ok=false;
  41. }else
  42. cout<<"Bad input please try again :";
  43. }
  44.  
  45. }
  46.  
  47.  
  48. void chek_for_letter(string city,string &answer,char letter,int &mis){
  49.  
  50. int matches = 0;
  51. for(unsigned int i=0;i<city.size();i++){
  52. if(letter==city[i]){
  53. answer[i]=city[i];
  54. matches++;
  55. }
  56. }
  57.  
  58. cout<<answer;
  59. if (matches == 0) {
  60. mis--;
  61. }
  62. }
  63.  
  64.  
  65. void playGame(){ vector<string>easyCity={"london","berlin","paris","madrid","stockholm","viena","prague","amsterdam","copenhagen","oslo"};
  66. vector<string>mediumCity={"zagreb","belgrade","skopje","bucharest","bratislava","ljubljana","athina","budapest","sarajevo","sofia"};
  67. vector<string>hardCity={"nicosia","managua","cardiff","nairobi","stanley","palikir","tallinn","rangoon","kampala","honiara"};
  68. string city;string answer;
  69.  
  70. srand(time(NULL));
  71. cout<<"Welcome to my simple hangman game.\nGuess the hidden city but first choose mod \n( easy-1 medium-2 hard-3 )\n";
  72. int mod; bool chekmod=true;
  73. while(chekmod){
  74. cin>>mod;
  75. if (mod==1||mod==2||mod==3){chekmod=false;}else{cout<<"( easy-1 medium-2 hard-3 )\n ";}
  76. switch(mod){
  77. case 1:{bool play_game=true;int mistake =7;
  78.  
  79. unsigned int randomWord=rand()%easyCity.size();
  80. cout<<"You are playing now on easy mod \n";
  81. city= pick_city(easyCity,randomWord);
  82. answer=set_answer(city.size());
  83. cout<<answer<<endl;
  84. while(mistake>0 ){
  85. char inp=input();
  86. chek_for_letter(city,answer,inp,mistake);
  87.  
  88. cout << "MISTAKE: " << mistake << endl;
  89. }
  90.  
  91. break;}
  92. case 2:
  93. cout<<"You are playing now on medium mod \n";
  94. break;
  95. case 3:
  96. cout<<"You are playing now on hard mod \n";
  97. break;
  98. default:
  99. cout<<"i don't think this will happen";
  100. break;
  101.  
  102.  
  103.  
  104. }
  105.  
  106. }
  107. }
Success #stdin #stdout 0s 15240KB
stdin
1
a
e
i
o
m
l
d
v
b
s
t
stdout
Welcome to my simple hangman game.
Guess the hidden city but first choose mod 
( easy-1  medium-2  hard-3 )
You are playing now on easy mod 
______

Enter  lower case letter :_a____MISTAKE: 7

Enter  lower case letter :_a____MISTAKE: 6

Enter  lower case letter :_a__i_MISTAKE: 6

Enter  lower case letter :_a__i_MISTAKE: 5

Enter  lower case letter :ma__i_MISTAKE: 5

Enter  lower case letter :ma__i_MISTAKE: 4

Enter  lower case letter :mad_idMISTAKE: 4

Enter  lower case letter :mad_idMISTAKE: 3

Enter  lower case letter :mad_idMISTAKE: 2

Enter  lower case letter :mad_idMISTAKE: 1

Enter  lower case letter :mad_idMISTAKE: 0