Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
La Tartaruga E La Lepre - Main.cpp

Main.cpp

Caricato da: RiccardoG97
Scarica il programma completo

  1. // La tartaruga e la lepre
  2.  
  3. #include <iostream>
  4. #include <string>
  5. #include <windows.h>
  6. #include <ctime>
  7. #include <cstdlib>
  8. using namespace std;
  9.  
  10. int mossaTartaruga ( void );
  11. int mossaLepre ( void );
  12. int mossaBradipo ( void );
  13.  
  14. int posizioneTartaruga = -1;
  15. int posizioneLepre = -1;
  16. int posizioneBradipo = -1;
  17.  
  18. int main ( void )
  19. {
  20.         string percorso[60];
  21.         string animale1, animale2;
  22.         bool tartaruga, lepre, bradipo = false;
  23.         srand ( time ( 0 ) );
  24.  
  25.         for ( int i = 0; i < 60; i++ )
  26.                 percorso[i] = "_";
  27.  
  28.         cout << "LA TARTARUGA E LA LEPRE" << endl << endl;
  29.  
  30.  
  31.         cout << "\nBenvenuto quali animali vuoi far gareggiare?\n(tartaruga, lepre, bradipo) ";
  32.         cin >> animale1 >> animale2;
  33.  
  34.         if (  animale1  == "tartaruga" || animale2 == "tartaruga" )
  35.         {
  36.            tartaruga = true;
  37.            posizioneTartaruga = 0;
  38.     }
  39.         if ( animale1  == "lepre" || animale2 == "lepre")
  40.     {
  41.        lepre = true;
  42.        posizioneLepre = 0;
  43.     }
  44.     if ( animale1 == "bradipo" || animale2 == "bradipo")
  45.     {
  46.        bradipo = true;
  47.        posizioneBradipo = 0;
  48.     }
  49.  
  50.         cout << "\nOttima scelta la gara fra " << animale1 << " e " << animale2 << endl;
  51.  
  52.         cout << "\n\nIl gioco sta per iniziare. . .  ";
  53.  
  54.         Sleep ( 2000 );
  55.  
  56.         for ( int i = 3; i > 0; i-- )
  57.         {
  58.                 cout << i << "\a ";
  59.                 Sleep ( 1000 );
  60.         }
  61.  
  62.         cout << "\nBANG!!!\a PARTITI!!\n\n\n";
  63.  
  64.         for ( int i = 0; i < 60; i++ )
  65.                 cout << percorso[i];
  66.  
  67.  
  68.         while ( ( posizioneTartaruga < 59 ) && ( posizioneLepre < 59 ) && ( posizioneBradipo < 59 ) )
  69.         {
  70.  
  71.         Sleep ( 1000 );
  72.  
  73.         for ( int j = 0; j < 60; j++ )
  74.         {
  75.                     percorso[j] = "_";
  76.                     cout << "\r";
  77.                     cout << percorso[j];
  78.         }
  79.  
  80.  
  81.         cout << "\r";
  82.  
  83.         if ( tartaruga == true )
  84.         {
  85.                     posizioneTartaruga = posizioneTartaruga + mossaTartaruga();
  86.                     if ( posizioneTartaruga < 0 )
  87.                         posizioneTartaruga = 0;
  88.                     else if ( posizioneTartaruga > 59 )
  89.                 posizioneTartaruga = 59;
  90.  
  91.             percorso[posizioneTartaruga] = "T";
  92.         }
  93.  
  94.         if ( lepre == true )
  95.         {
  96.                     posizioneLepre = posizioneLepre + mossaLepre();
  97.                     if ( posizioneLepre < 0 )
  98.                         posizioneLepre = 0;
  99.                     else if ( posizioneLepre > 59 )
  100.                 posizioneLepre = 59;
  101.  
  102.             percorso[posizioneLepre] = "L";
  103.         }
  104.  
  105.         if ( bradipo == true )
  106.         {
  107.             posizioneBradipo = posizioneBradipo + mossaBradipo();
  108.                     if ( posizioneBradipo < 0 )
  109.                         posizioneBradipo = 0;
  110.                     else if ( posizioneBradipo > 59 )
  111.                 posizioneBradipo = 59;
  112.  
  113.             percorso[posizioneBradipo] = "B";
  114.         }
  115.  
  116.  
  117.                 if ( posizioneTartaruga == posizioneLepre || posizioneBradipo == posizioneTartaruga )
  118.                 percorso[posizioneTartaruga] = "P";
  119.             else if ( posizioneBradipo == posizioneLepre )
  120.             percorso[posizioneBradipo] = "P";
  121.  
  122.                 for ( int i = 0; i < 60; i++ )
  123.                     cout << percorso[i];
  124.  
  125.         }
  126.     for ( int i = 0; i < 60; i++ )
  127.         percorso[i] = "_";
  128.  
  129.         if ( posizioneTartaruga >= 59 )
  130.                 cout << "\n\nHa vinto la TARTARUGA!!";
  131.         else if ( posizioneLepre >= 59 )
  132.             cout << "\n\nHa vinto la LEPRE!!";
  133.         else if ( posizioneBradipo >= 59 )
  134.         cout << "\n\nHa vinto il BRADIPO!!";
  135.  
  136.         cout << "\n\n\nIl gioco si spegnera' fra 5 secondi. . .";
  137.  
  138.         Sleep ( 5000 );
  139.  
  140.         return EXIT_SUCCESS;
  141. }
  142.  
  143.  
  144. int mossaTartaruga ( void )
  145. {
  146.     int mossa;
  147.  
  148.     mossa = 1 + rand() % 10;
  149.  
  150.         if ( ( mossa >= 1 ) && ( mossa <= 5 ) )
  151.                 return 3;
  152.         else if ( ( mossa == 6 ) || ( mossa == 7 ) )
  153.                 return -6;
  154.         else if ( ( mossa >= 8 ) && ( mossa <= 10 ) )
  155.                 return 1;
  156. }
  157.  
  158. int mossaLepre ( void )
  159. {
  160.     int mossa;
  161.  
  162.     mossa = 1 + rand() % 10;
  163.  
  164.         if ( ( mossa == 1 ) || ( mossa == 2 ) )
  165.                 return 0;
  166.         else if ( ( mossa == 3 ) || ( mossa == 4 ) )
  167.                 return 9;
  168.         else if ( mossa == 5 )
  169.                 return -12;
  170.         else if ( ( mossa == 6 ) || ( mossa == 7 ) || ( mossa == 8 ) )
  171.                 return 1;
  172.         else if ( ( mossa == 9 ) || ( mossa == 10 ) )
  173.                 return -2;
  174. }
  175.  
  176. int mossaBradipo ( void )
  177. {
  178.     return 1;
  179. }