Advertisement
c_pinoleo01

tyf 2.0

Jan 23rd, 2020
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <cstdlib>
  4. #include"toqueYFama.h"
  5.  
  6. void bienvenida_tf();
  7. int selectorDificultad_tf();
  8.  
  9. void generadorNumeroPC_tf(int a[5], int b);
  10. void seleccionNumero_tf(int a[5], int b);
  11.  
  12. int adivinarNumero_tf();
  13. int adivinarPosicion_tf(int a);
  14. int pcNumberGuess_tf();
  15. int pcPossitionGuess_tf(int a);
  16.  
  17. void scanToqueFama_tf(int a[5], int b[5], int c, int d, int e, int f, int g);
  18. int scanVictoria_tf(int a, int b, int c, int d[5]);
  19.  
  20. int dificultad = 0;
  21. int toqueUsuario, famaUsuario, toquePC, famaPC;
  22. int numeroPC, posicionPC, numeroUsuario, posicionUsuario;
  23. int memoriaPC1 = 0;
  24. int memoriaPC2 = 0;
  25. int vectorPC[5] = {10,10,10,10,10};
  26. int vectorUsuario[5] = {30,30,30,30,30};
  27.  
  28.  
  29. void bienvenida_tf(){
  30. printf("Toque y Fama\n\n");
  31. printf("Bienvenido a Toque y Fama. En este juego deberas intentar adivinar los\n");
  32. printf("digitos del numero de la computadora antes de que esta adivine los tuyos.\n");
  33.  
  34. }
  35.  
  36. int selectorDificultad_tf(){
  37.  
  38. char x[10];
  39. printf("\nSeleccione su nivel de dificultad (de 2 a 5): ");
  40. scanf("%s",&x);
  41.  
  42. int k=0;
  43. while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra) , el programa pedirá que se ingrese otro.
  44.  
  45. int temp = (int)x[0];
  46.  
  47. if(((temp <= 53) && (temp >= 50))){
  48. while(x[1]!=0){
  49. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 2 y 5.\n");
  50. fflush(stdin);
  51. scanf("%s",&x);
  52. }
  53. k=1;
  54. break;
  55. }
  56. else{
  57. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 2 y 5\n");
  58. fflush(stdin);
  59. scanf("%s",&x);
  60. }
  61. }
  62. int z = x[0];
  63. z = z - '0';
  64. printf("La dificultad seleccionada es %i.\n\n",z);
  65. return z;
  66. }
  67.  
  68. void generadorNumeroPC_tf(int a[5],int b){
  69.  
  70. int x;
  71. int y=0;
  72.  
  73. srand(time(NULL));
  74.  
  75. while(y<b){
  76. int r=rand()%10;
  77.  
  78. for (x = 0; x < y; x++)
  79. {
  80. if(a[x] == r){
  81. break;
  82. }
  83. }
  84. if(x==y){
  85. a[y++]=r;
  86. }
  87. }
  88.  
  89. }
  90.  
  91. void seleccionNumero_tf(int a[5],int b){
  92.  
  93. char x[6] = {0,0,0,0,0,0};
  94. int k = 0;
  95. while(k == 0){
  96. printf("Seleccione un numero de %i cifras distintas entre si: ",b);
  97. scanf("%s",&x);
  98.  
  99. switch (b){
  100. case 2:
  101. if((x[0] >= 48) && (x[0] <= 57)){
  102. if((x[1] >= 48) && (x[1] <= 57)){
  103. if(x[2] == 0){
  104. if((x[0] != x[1])){
  105. k = 1;
  106. break;
  107. } } } }
  108. break;
  109. case 3:
  110. if((x[0] >= 48) && (x[0] <= 57)){
  111. if((x[1] >= 48) && (x[1] <= 57)){
  112. if((x[2] >= 48) && (x[2] <= 57)){
  113. if(x[3] == 0){
  114. if((x[0] != x[1]) && (x[1] != x[2]) && (x[0] != x[2])){
  115. k = 1;
  116. break;
  117. } } } } }
  118. break;
  119. case 4:
  120. if((x[0] >= 48) && (x[0] <= 57)){
  121. if((x[1] >= 48) && (x[1] <= 57)){
  122. if((x[2] >= 48) && (x[2] <= 57)){
  123. if((x[3] >= 48) && (x[3] <= 57)){
  124. if(x[4] == 0){
  125. if((x[0] != x[1]) && (x[1] != x[2]) && (x[2] != x[3]) && (x[0] != x[2]) && (x[0] != x[3])){
  126. k = 1;
  127. break;
  128. } } } } } }
  129. break;
  130. case 5:
  131. if((x[0] >= 48) && (x[0] <= 57)){
  132. if((x[1] >= 48) && (x[1] <= 57)){
  133. if((x[2] >= 48) && (x[2] <= 57)){
  134. if((x[3] >= 48) && (x[3] <= 57)){
  135. if((x[4] >= 48) && (x[4] <= 57)){
  136. if(x[5] == 0){
  137. if((x[0] != x[1]) && (x[1] != x[2]) && (x[2] != x[3]) && (x[3] != x[4]) && (x[0] != x[2]) && (x[0] != x[3]) && (x[0] != x[4])){
  138. k = 1;
  139. break;
  140. } } } } } } }
  141. break;
  142. }
  143. if(k == 0){
  144. printf("ERROR, el dato introducido no es valido, intente nuevamente.\n");
  145. }
  146.  
  147. }
  148.  
  149. for(int i = 0; i < b; i++){
  150.  
  151. a[i] = x[i] - 48;
  152.  
  153. }
  154.  
  155.  
  156. }
  157.  
  158. int adivinarNumero_tf(){
  159.  
  160. char x[10];
  161. printf("\nIntente adivinar un digito del numero del PC: ");
  162. scanf("%s",&x);
  163.  
  164. int k=0;
  165. while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra), el programa pedirá que se ingrese otro.
  166.  
  167. int temp = (int)x[0];
  168.  
  169. if(((temp <= 57) && (temp >= 48))){
  170. while(x[1]!=0){
  171. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 0 y 9.\n");
  172. fflush(stdin);
  173. scanf("%s",&x);
  174. }
  175. k=1;
  176. break;
  177. }
  178. else{
  179. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 0 y 9.\n");
  180. fflush(stdin);
  181. scanf("%s",&x);
  182. }
  183. }
  184. int y = x[0];
  185. y = y - '0';
  186. return y;
  187. }
  188.  
  189. int adivinarPosicion_tf(int a){
  190.  
  191. char x[10];
  192. printf("\nIntente adivinar la posicion de el digito: ");
  193. scanf("%s",&x);
  194.  
  195. int k=0;
  196. while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra), el programa pedirá que se ingrese otro.
  197.  
  198. int y = a;
  199. y = y + '0';
  200.  
  201. int temp = (int)x[0];
  202.  
  203. if(((temp <= y) && (temp > 48))){
  204. while(x[1]!=0){
  205. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 1 y %i.\n",a);
  206. fflush(stdin);
  207. scanf("%s",&x);
  208. }
  209. k=1;
  210. break;
  211. }
  212. else{
  213. printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 1 y %i.\n",a);
  214. fflush(stdin);
  215. scanf("%s",&x);
  216. }
  217. }
  218. int z = x[0];
  219. z = z - '0';
  220. z = z-1;
  221. return z;
  222. }
  223.  
  224. int pcNumberGuess_tf(){
  225.  
  226. int x;
  227.  
  228. srand(time(NULL));
  229.  
  230. int r=rand()%10;
  231.  
  232. x = r;
  233.  
  234. printf("El PC eligio el numero %i, ", x);
  235.  
  236. memoriaPC2 = x;
  237.  
  238. return x;
  239. }
  240.  
  241. int pcPossitionGuess_tf(int a){
  242.  
  243. int x;
  244.  
  245. srand(time(NULL));
  246.  
  247. int r=rand()%a;
  248.  
  249. x = r;
  250.  
  251. printf("y la posicion %i. \n", x + 1);
  252.  
  253. return x;
  254. }
  255.  
  256. void scanToqueFama_tf(int a[5], int b[5], int c, int d, int e, int f, int g){
  257.  
  258. for(int i = 0; i < g; i++){
  259.  
  260. if(a[i] == c){
  261. if(i == d){
  262. famaUsuario++;
  263. break;
  264. }
  265. else{
  266. toqueUsuario++;
  267. break;
  268. }
  269.  
  270. }
  271. }
  272.  
  273. for(int j = 0; j < g; j++){
  274.  
  275. if(b[j] == e){
  276. if(j == f){
  277. memoriaPC1 = 30;
  278. famaPC++;
  279. break;
  280. }
  281. else{
  282. memoriaPC1 = 1;
  283. toquePC++;
  284. break;
  285. }
  286. }
  287. }
  288.  
  289. printf("Toques del Usuario: %i. Famas del usuario: %i.\n", toqueUsuario, famaUsuario);
  290. printf("Toques del PC: %i. Famas del PC: %i. \n",toquePC, famaPC);
  291. }
  292.  
  293. int scanVictoria_tf(int a, int b, int c, int d[5]){
  294.  
  295. if(a == 4){
  296.  
  297. printf("Gana el usuario! El numero del PC era: ");
  298. for(int i = 0; i < c; i++){
  299. printf("%i", d[i]);
  300.  
  301. }
  302. }
  303.  
  304. else if(b == 4){
  305. printf("Gana el PC, su numero era: ");
  306. for(int i = 0; i < c; i++){
  307. printf("%i", d[i]);
  308.  
  309. }
  310. }
  311.  
  312.  
  313. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement