Advertisement
Domerk

Untitled

May 4th, 2012
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.62 KB | None | 0 0
  1. //что есть пока
  2.  
  3. //Помимо main ещё три функции, первая - сама игра
  4. //(в неё передаётся строка или указатель на строку, считываются буквы с монитора,
  5. //сравниваются с буквами слова и вызываются две последующие функции), вторая - функция,
  6. //вызываемая при правильно отгаданной букве, рисует на экране значки "_" по числу букв и заменяет их буквами,
  7. //третья - вызывается в случае неправильного ответа, рисует виселицу и человечка (http://pastebin.com/w7UwVTrN).
  8. //В main соответственно создаётся только массив указателей на строки,
  9. //заполняется словарь - по слову в строке, рандомом выбирается слово, с которым идёт игра, вызывается первая функция.
  10.  
  11. #include <iostream>
  12. #include <cstdlib>
  13. #include <string>
  14. #include <cstring>
  15. #include <ctime>
  16. #include <cstdlib>
  17.  
  18. using namespace std;
  19.  
  20. void Game (string *a);
  21. bool Pic1 (int n);
  22. void Pic2 (int n);
  23.  
  24. //==================================================
  25.  
  26. int main ()
  27. {
  28.     setlocale(LC_CTYPE,"");
  29.     string sl0 = " "; //слова
  30.     string sl1 = " ";
  31.     string sl2 = " ";
  32.     string sl3 = " ";
  33.     string sl4 = " ";
  34.     string sl5 = " ";
  35.     string sl6 = " ";
  36.     string sl7 = " ";
  37.     string sl8 = " ";
  38.     string sl9 = " ";
  39.  
  40.     string *mass[10]; //массив указателей на слова
  41.     mass[0] = &sl0;
  42.     mass[1] = &sl1;
  43.     mass[2] = &sl2;
  44.     mass[3] = &sl3;
  45.     mass[4] = &sl4;
  46.     mass[5] = &sl5;
  47.     mass[6] = &sl6;
  48.     mass[7] = &sl7;
  49.     mass[8] = &sl8;
  50.     mass[9] = &sl9;
  51.  
  52.     srand (time (NULL));
  53.     int Random = rand()%9;
  54.  
  55.     Game (mass[Random]);
  56.  
  57.     return 0;
  58. }
  59.  
  60. //==================================================
  61.  
  62. void Game (string *a) //функция - игра
  63. {
  64. system("cls");
  65. int i=1, j=1, k=1, ochibka=0;
  66. bool verno = false;
  67. int lenl = a->size(); // получить длину переданного слова
  68. char bukva;
  69.  
  70. while (i!= 33) //пока в русском языке не кончились буквы
  71. {
  72.     while (j!= lenl)
  73.         { cout << "_"; j++;} //первый раз выводим символ по количеству букв в слове
  74.    
  75.     setlocale(LC_CTYPE,"");
  76.     cout <<endl<<"Назовите букву:"<<endl;
  77.     cin >> bukva;
  78.         while (k!= lenl) //поиск
  79.         {
  80.             if ((*a)[k]==bukva) // если совпадение есть, номер совпавшей буквы передаётся в первую рисующую функцию, которая эту букву "открывает"
  81.             {
  82.             if (Pic1 (k)) break;
  83.             verno = true; //проверка на то, было ли совпадение
  84.             }
  85.             if (verno == false) //если совпадения не было
  86.             {
  87.                 ochibka++; //число ошибок увеличивается на 1
  88.                 Pic2 (ochibka); //передаётся как параметр в функцию, рисующую виселицу
  89.                                 if (ochibka == 8)
  90.                 {
  91.                     cout<<endl<<"Вы проиграли!"<<endl<<"Правильный ответ: "<<(*a);
  92.                     break;
  93.                 }
  94.             }
  95.             verno = false;
  96.             k++;
  97.         }
  98.     i++;
  99. }
  100.  
  101. }
  102.  
  103. //==================================================
  104.  
  105. bool Pic1 (int n) //n - номер буквы
  106. {
  107. system("cls");
  108.  
  109.  
  110. }
  111.  
  112. //==================================================
  113.  
  114. void Pic2 (int n) //n - число ошибок
  115. {
  116. system("cls");
  117. int mas1[5][4] = { {1, 1, 1, 1}, {1, 256, 2, 256}, {1, 4, 3, 5}, {1, 256, 6, 256}, {1, 7, 256, 8} }; //целочисленный массив, в котором происходит сранвниене
  118. char mas2[5][4] = { {'|', '-', 'T', '-'}, {'|', ' ', 'o', ' '}, {'|', '-', '|', '-'}, {'|', ' ', '^', ' '}, {'|', '/', ' ', '\ '} }; //массив символьный, в нём храниться картинка
  119.  
  120. for (int i = 0; i < 5; i++) //переключение по строкам
  121.     {
  122.         for (int j = 0; j < 4; j++)// переключение по столбцам
  123.             if (mas1[i][j] <= n)
  124.             {
  125.                 cout << mas2[i][j]; // вывести символ, стоящий в аналогичной ячейке второго массива
  126.             } else
  127.                  cout << " ";  // вывести проблел
  128.         cout << endl;
  129. }
  130. }
  131.  
  132. //==================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement