Advertisement
Guest User

ProyectoFI

a guest
Jun 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include<stdlib.h>
  5. #include<time.h>
  6. #include <ctime>
  7. #include <windows.h>
  8. #define limpiar system("cls");
  9. #define pausa system("pause >> void");
  10. using namespace std;
  11. struct usuario{
  12.     string usuariog, contrasenyag;
  13.     };
  14.  
  15. int menu(){
  16. cout<<"--------------------"<<endl;
  17. cout<<"       MENU         "<<endl;
  18. cout<<"--------------------"<<endl;
  19. cout<<"1.Iniciar Sesion"<<endl;
  20. cout<<"2.Registrarse"<<endl;
  21. cout<<"3.Puntuaciones"<<endl;
  22. cout<<"4.Salir"<<endl;
  23. int opcio;
  24. cin>>opcio;
  25. return opcio;
  26. }
  27.  
  28. int menu2(){
  29. cout<<endl;
  30. cout<<"Selecciona minijuego"<<endl;
  31. cout<<"Ahorcado"<<endl;
  32. cout<<"Adivina el numero"<<endl;
  33. cout<<"Minijuego 3"<<endl;
  34. cout<<"Minijuego 4"<<endl;
  35. int opcio2;
  36. cin>>opcio2;
  37. return opcio2;
  38. }
  39.  
  40. void iniciosesion(vector<usuario>& u, usuario& ug){
  41. string usuario, contrasenya;
  42. bool trobat=false;
  43. int i=0;
  44. ifstream fin("usuarios.txt");
  45. cout<<endl;
  46. cout<<"Usuario: "; cin>>usuario;
  47. cout<<"Contrasenya: "; cin>>contrasenya;
  48. while(!fin.eof()){
  49.     fin>>ug.usuariog>>ug.contrasenyag;
  50.     u.push_back(ug);
  51.     }
  52. while(i<u.size() and !trobat){
  53.     if(usuario==u[i].usuariog and contrasenya==u[i].contrasenyag) trobat=true;
  54.     else i++;
  55.     }
  56. if(trobat) menu2();
  57. else{
  58.     cout<<"No esta registrado"<<endl<<endl<<"Crea un perfil"<<endl;
  59.     }
  60. }
  61.  
  62. void registrarse(vector<usuario>& u){
  63. usuario nuevo;
  64. ofstream fout("usuarios.txt",ios::app);
  65. cout<<endl;
  66. cout<<"Introduce tus datos"<<endl;
  67. cout<<"Nuevo usuario: "; cin>>nuevo.usuariog;
  68. cout<<"Nueva contrasenya: "; cin>>nuevo.contrasenyag;
  69. u.push_back(nuevo);
  70. for(int i=0;i<u.size();i++){
  71.     fout<<u[i].usuariog<<" "<<u[i].contrasenyag<<endl;
  72.     }
  73.  
  74. }
  75.  
  76. void puntuaciones(){
  77. }
  78.  
  79. void ahorcado(){
  80. string palabra;
  81. vector<string> vpal;
  82. bool win=false;
  83. char letra;
  84. int intentos=8;
  85. int inten=0;
  86. ifstream fin("listado-general.txt");
  87. while(!fin.eof()){
  88.     fin>>palabra;
  89.     vpal.push_back(palabra);
  90.     }
  91. srand(time(NULL));
  92. int num=rand()%80382; ///numero aleatorio para coger una palabra de la lista
  93. int i=vpal[num].size(); ///tamaño de la palabra
  94. string pal=vpal[num]; ///tabla con la palabra de su tamaño
  95. cout<<"La palabra tiene "<<i<<" letras"<<endl;
  96. for(int j=0;j<i;i++) cout<<"_";
  97.  
  98.  
  99.  
  100.  
  101. }
  102.  
  103. void adivinanumero(){
  104. srand(time(NULL));
  105. int opcion, numeroAleatorio, numeroUsuario, vidas;
  106. float probabilidad;
  107.  
  108. menu:
  109.  
  110.     system("title Adivina el numero");
  111.     system("color 0f");
  112.     limpiar;
  113.     vidas=5;
  114.  
  115.     cout << "Adivina el numero" << endl << endl;
  116.     cout << "1. Facil -> (del 1 al 15)" << endl;
  117.     cout << "2. Normal -> (del 1 al 25)" << endl;
  118.     cout << "3. Dificil -> (del 1 al 50)" << endl;
  119.     cout << "Elige la dificultad (escribe el numero): "; cin >> opcion;
  120.  
  121.     switch(opcion) {
  122.  
  123.      case 1:
  124.         limpiar;
  125.         system("title Dificultad facil. 1-15");
  126.         system("color 0A");
  127.         numeroAleatorio = rand() % 15 + 1;
  128.  
  129.         while (vidas > 0)
  130.         {
  131.             limpiar;
  132.             cout << "Escribe un numero: "; cin >> numeroUsuario;
  133.  
  134.             if (numeroUsuario == numeroAleatorio)
  135.             {
  136.                 limpiar;
  137.                 system("title Has ganado.");
  138.                 cout << "Bien! Has adivinado el numero en la dificultad facil." << endl;
  139.                 cout << "Probabilidades de ganar: 33.3%";
  140.                 pausa;
  141.                 goto menu;
  142.             }
  143.             if (numeroUsuario > numeroAleatorio)
  144.             {
  145.                 limpiar;
  146.                 cout << "El numero aleatorio es MENOR que tu numero." << endl;
  147.                 vidas--;
  148.                 cout << "Vidas restantes: " << vidas << endl << endl;
  149.                 cout << "Volviendo..." << endl;
  150.                 Sleep(2000);
  151.             }
  152.             if (numeroUsuario < numeroAleatorio)
  153.             {
  154.                 limpiar;
  155.                 cout << "El numero aleatorio es MAYOR que tu numero." << endl;
  156.                 vidas--;
  157.                 cout << "Vidas restantes: " << vidas << endl << endl;
  158.                 cout << "Volviendo..." << endl;
  159.                 Sleep(2000);
  160.             }
  161.         }
  162.  
  163.         limpiar;
  164.         cout << "Has perdido en la dificultad facil!" << endl;
  165.         cout << "Probabilidades de ganar: 33.3%" << endl << endl;
  166.         cout << "El numero aleatorio era " << numeroAleatorio;
  167.  
  168.     pausa;
  169.     goto menu;
  170.  
  171.         case 2:
  172.         limpiar;
  173.         system("title Dificultad normal. 1-25");
  174.         system("color 0B");
  175.         numeroAleatorio = rand() % 25 + 1;
  176.  
  177.         while (vidas > 0)
  178.         {
  179.             limpiar;
  180.             cout << "Escribe un numero: "; cin >> numeroUsuario;
  181.  
  182.             if (numeroUsuario == numeroAleatorio)
  183.             {
  184.                 limpiar;
  185.                 system("title Has ganado.");
  186.                 cout << "Muy bien! Has adivinado el numero en la dificultad normal." << endl;
  187.                 cout << "Probabilidades de ganar: 20%";
  188.                 pausa;
  189.                 goto menu;
  190.             }
  191.             if (numeroUsuario > numeroAleatorio)
  192.             {
  193.                 limpiar;
  194.                 cout << "El numero aleatorio es MENOR que tu numero." << endl;
  195.                 vidas--;
  196.                 cout << "Vidas restantes: " << vidas << endl << endl;
  197.                 cout << "Volviendo..." << endl;
  198.                 Sleep(2000);
  199.             }
  200.             if (numeroUsuario < numeroAleatorio)
  201.             {
  202.                 limpiar;
  203.                 cout << "El numero aleatorio es MAYOR que tu numero." << endl;
  204.                 vidas--;
  205.                 cout << "Vidas restantes: " << vidas << endl << endl;
  206.                 cout << "Volviendo..." << endl;
  207.                 Sleep(2000);
  208.             }
  209.         }
  210.  
  211.         limpiar;
  212.         cout << "Has perdido!" << endl;
  213.         cout << "Probabilidades de ganar: 20%" << endl << endl;
  214.         cout << "El numero aleatorio era " << numeroAleatorio;
  215.  
  216.         pausa;
  217.         goto menu;
  218.  
  219.          case 3:
  220.         limpiar;
  221.         system("title Dificultad difícil. 1-50");
  222.         system("color 0E");
  223.         numeroAleatorio = rand() % 50 + 1;
  224.  
  225.         while (vidas > 0)
  226.         {
  227.             limpiar;
  228.             cout << "Escribe un numero: "; cin >> numeroUsuario;
  229.  
  230.             if (numeroUsuario == numeroAleatorio)
  231.             {
  232.                 limpiar;
  233.                 system("title Has ganado.");
  234.                 cout << "Felicidades! Has adivinado el numero en la dificultad difícil." << endl;
  235.                 cout << "Probabilidades de ganar: 10%";
  236.                 pausa;
  237.                 goto menu;
  238.             }
  239.             if (numeroUsuario > numeroAleatorio)
  240.             {
  241.                 limpiar;
  242.                 cout << "El numero aleatorio es MENOR que tu numero." << endl;
  243.                 vidas--;
  244.                 cout << "Vidas restantes: " << vidas << endl << endl;
  245.                 cout << "Volviendo..." << endl;
  246.                 Sleep(2000);
  247.             }
  248.             if (numeroUsuario < numeroAleatorio)
  249.             {
  250.                 limpiar;
  251.                 cout << "El numero aleatorio es MAYOR que tu numero." << endl;
  252.                 vidas--;
  253.                 cout << "Vidas restantes: " << vidas << endl << endl;
  254.                 cout << "Volviendo..." << endl;
  255.                 Sleep(2000);
  256.             }
  257.         }
  258.  
  259.         limpiar;
  260.         cout << "Has perdido :(" << endl;
  261.         cout << "Probabilidades de ganar: 10%" << endl << endl;
  262.         cout << "El numero aleatorio era " << numeroAleatorio;
  263.  
  264.         pausa;
  265.         goto menu;
  266.  
  267.  
  268.  
  269.     }
  270. }
  271. int main(){
  272. vector<usuario> U;
  273. usuario ug;
  274. bool trobat;
  275. int op=menu();
  276. switch(op){
  277.     case 1: iniciosesion(U,ug);
  278.             break;
  279.     case 2: registrarse(U);
  280.             break;
  281.     case 3: puntuaciones();
  282.             break;
  283.     case 4: cout<<"Gracias por jugar!";
  284.     }
  285. if(trobat){
  286.     int op2=menu2();
  287.     switch(op2){
  288.         case 1: ahorcado();
  289.                 break;
  290.         case 2: adivinanumero();
  291.                 break;
  292.         case 3:
  293.                 break;
  294.         case 4:;
  295.         }
  296.     }
  297. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement