fork download
  1. /*Написать программу, которая на основе
  2. классов реализует карточную игру Блэк-Джек*/
  3. #include <iostream>
  4. #include<stdlib.h>
  5. #include <time.h>
  6. # include <conio.h>
  7. # include <stdio.h>
  8.  
  9. using namespace std;
  10.  
  11. class Carts;
  12.  
  13. class Cgame
  14. {
  15. private:
  16. short player_score;
  17. short pc_score;
  18. public:
  19.  
  20. Cgame ()
  21. {
  22. player_score=pc_score=NULL;
  23. }
  24. //игра
  25. bool play (Carts *pack)//ОСТАНОВИЛСЯ ТУТ
  26. {
  27. short i = 0;
  28. for (; player_score<=21; i++)//игра игрока
  29. {
  30. cout<<"get the cart ? (y/n): ";
  31. fflush(stdin);
  32. if(getchar() == 'n')
  33. break;
  34. print_pack(pack, i);//вот здесь выдает ошибку
  35. player_score+=get_value(pack, i);
  36. }
  37. cout<<endl<<endl;
  38. for (;pc_score<=17; i++)//игра компа
  39. {
  40. print_pack(pack, i);
  41. pc_score+=get_value(pack, i);
  42. }
  43.  
  44. if ((player_score>21)||((player_score<pc_score)&&(pc_score<=21)))
  45. return false;
  46. else
  47. return true;
  48. }
  49.  
  50.  
  51. friend short get_value (Carts *pack, short i);
  52. friend void print_pack(Carts *pack, short i);
  53. };
  54.  
  55. class Carts
  56. {
  57. private:
  58. short card;
  59. short value;
  60. char suit;
  61. public:
  62.  
  63.  
  64. Carts()//конст по умолч
  65. {
  66. card=value=NULL;
  67. suit=NULL;
  68. }//---------------------
  69.  
  70. void set_card(short c, short v, char s)//конст
  71. {
  72. card = c; value = v; suit = s;
  73. }//------------------------------------------
  74.  
  75. void create (Carts *pack)//создание колоды
  76. {
  77. for (short quant_of_pack = 0; quant_of_pack < 1; quant_of_pack++)
  78. for (short i = 2, m = 0; i < 15; i++)
  79. for (char j = 3; j < 7; j++, m++)
  80. {
  81. short _card = i;
  82. short _value = i;
  83. char _suit = j;
  84. if (i > 10)
  85. _value = 10;
  86. if (i==14)
  87. _value = 11;
  88. pack[m].set_card (_card, _value, _suit);
  89. }
  90. }
  91. //перегрузка []------------------------------
  92. Carts operator[] (short &m)
  93. {
  94. return *this;
  95. }//-----------------------------------------
  96.  
  97. void random_mix (Carts *pack)//перемешка колоды
  98. {
  99. short a = 5+rand()%6;
  100. for (short i = 0 ; i < a; i++)
  101. for (short j = 0; j < 52; j++)
  102. {
  103. Carts tmp_mas[1];
  104. short tmp = 0;
  105. short a = rand()%52;
  106. short b = rand()%52;
  107. tmp_mas[tmp] = pack[a];
  108. pack[a] = pack[b];
  109. pack[b] = tmp_mas[tmp];
  110. }
  111. }//-------------------------------------------------
  112. friend short get_value (Carts *pack, short i);
  113. friend void print_pack(Carts *pack, short i);
  114. };
  115.  
  116. short get_value (Carts *pack, short i)//значение
  117. {
  118. return pack[i].value;
  119. }//------------------------------------------------
  120.  
  121. void print_pack(Carts *pack, short i)//печать карты---
  122. {
  123. if (pack[i].card==11)
  124. {
  125. cout<<(char) (pack[i].card + 63);
  126. cout<<pack[i].suit<<" ";
  127. }
  128. if (pack[i].card==12)
  129. {
  130. cout<<(char) (pack[i].card + 69);
  131. cout<<pack[i].suit<<" ";
  132. }
  133. if (pack[i].card==13)
  134. {
  135. cout<<(char) (pack[i].card + 62);
  136. cout<<pack[i].suit<<" ";
  137. }
  138. if (pack[i].card==14)
  139. {
  140. cout<<(char) (pack[i].card + 51);
  141. cout<<pack[i].suit<<" ";
  142. }
  143. if (pack[i].card < 11)
  144. {
  145. cout<<pack[i].card;
  146. cout<<pack[i].suit<<" ";
  147. }
  148. }//----------------------------------------------------
  149.  
  150. int main()
  151. {
  152. srand(time(NULL));
  153. //создание колоды---------
  154. const short a=52;
  155. Carts pack[a];
  156. pack[a].create(pack);
  157. //перемешка колоды----------
  158. pack[a].random_mix (pack);
  159. cout<<endl<<endl;
  160. //--------------------------
  161. // pack[a].print_pack(pack);
  162.  
  163. Cgame game;
  164. if(!(game.play (pack)))
  165. cout<<"\npc win\n\n\n";
  166. else
  167. cout<<"\nplaer win\n\n\n";
  168.  
  169.  
  170. return NULL;
  171. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:6:20: error: conio.h: No such file or directory
prog.cpp: In member function ‘bool Cgame::play(Carts*)’:
prog.cpp:34: error: ‘print_pack’ was not declared in this scope
prog.cpp:35: error: ‘get_value’ was not declared in this scope
prog.cpp:40: error: ‘print_pack’ was not declared in this scope
prog.cpp:41: error: ‘get_value’ was not declared in this scope
stdout
Standard output is empty