Advertisement
Gilgamesh858

Prato_Bian_Coniglio

Dec 2nd, 2014
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.17 KB | None | 0 0
  1. /*
  2.   * Esercizio "Il Prato del Coniglio"
  3.   * Avebdo un prato ( matrice di boolean di grandezza letta in input ) in cui esiste un coniglio che si ciba delle carote sparse in tutto il prato. Nella matrice le carote corrispondono al TRUE   mentre l'assenza di carote corrisponde al FALSE. Il coniglio parte dal centro e si può spostare di una sola cella verticale o orizzontale.
  4.   * Il coniglio ha una vita di 100 punti. Ad ogni salto perde un punto vita e ad ogni carota mangiata ne guadagna 10 punti.
  5.   * Non può saltare al di fuori dei bordi.
  6.   * Quanto resta in vita il coniglio prima che si finiscano le carote e muoia di fame???
  7.   *
  8.   * \\\\\\\\\\ Realizzato da Trupia Ludovico \\\\\\\\\\\\\
  9.   */
  10.  
  11.   #include <iostream>
  12.   #include <ctime>
  13.   #include <cstdlib>
  14.   #include <cstdio>
  15.  
  16.   using namespace std;
  17.    
  18.   int main ()
  19.   {
  20.     srand ( time ( NULL ) ) ;
  21.     int n ;
  22.     cout << "###################### \n##By#Trupia#Ludovico## \n\n\n\n Benvenuti in questo Programma" << endl << endl;
  23.     cout << " Inserisci la grandezza del prato \\\\ " ;
  24.     cin >> n ;
  25.    
  26.      if ( n <= 1 )
  27.       {
  28.         cout << endl << endl << "Il Cogniglio Non puo saltare, quindi nemmeno morire... forever Alone..." << endl << endl;     
  29.         return 0;
  30.       }
  31.    
  32.     bool prato [ n ][ n ] , vivo = true ;  
  33.     int centro = ((n - 1)/2) , rabbX = centro , rabbY = centro , salta = 11, vita = 100 , salti = 0 ;
  34.        
  35.     for ( int i = 0 ; i < n ; i++ )
  36.     {
  37.         for ( int j = 0 ; j < n ; j++ )
  38.         {
  39.             prato [ i ] [ j ] = rand () % 2 ;
  40.         }
  41.     }
  42.     cout << endl << endl;
  43.    
  44.    
  45.     while ( vivo )
  46.     {
  47.         while ( salta > 10 )
  48.         {          
  49.             salta = rand() %  4 + 1;
  50.             salti++;
  51.             switch ( salta )
  52.             {
  53.                 case ( 1 ) :  // Il Coniglio salta in alto!
  54.                                     rabbY -= 1;
  55.                                     if ( rabbY < 0 )
  56.                                     {
  57.                                         rabbY += 1;
  58.                                         salta = 11;                    
  59.                                     }
  60.                                     else
  61.                                     {
  62.                                         vita--;
  63.                                     }
  64.                                     break;
  65.                                    
  66.                 case ( 2 ) :  //    Il Coniglio salta a sinistra!
  67.                                     rabbX -= 1;
  68.                                     if ( rabbX < 0 )
  69.                                     {
  70.                                         rabbX += 1;
  71.                                         salta = 11;                    
  72.                                     }
  73.                                     else
  74.                                     {
  75.                                         vita--;
  76.                                     }
  77.                                     break;
  78.                 case ( 3 ) : // IL Coniglio salta a destra!
  79.                                     rabbX += 1;
  80.                                     if ( rabbX == n || rabbX > n )
  81.                                     {
  82.                                         rabbX -= 1;
  83.                                         salta = 11;                    
  84.                                     }
  85.                                     else
  86.                                     {
  87.                                         vita--;
  88.                                     }
  89.                                     break;
  90.                 case ( 4 ) : // Il Coniglio salta in basso!
  91.                                     rabbY += 1;
  92.                                     if ( rabbY == n || rabbY > n )
  93.                                     {
  94.                                         rabbY -= 1;
  95.                                         salta = 11;                    
  96.                                     }
  97.                                     else
  98.                                     {
  99.                                         vita--;
  100.                                     }
  101.                                     break;
  102.             }
  103.         }
  104.         salta = 11;
  105.        
  106.             if ( prato [rabbY][rabbX] )
  107.             {
  108.                 prato [rabbY][rabbX] = false;
  109.                 vita += 10;
  110.             }
  111.            
  112.             if ( vita == 0 )
  113.             {
  114.                 vivo = !vivo;
  115.             }
  116.        
  117.     }
  118.    
  119.       cout << endl << endl << "Il Cogniglio e' morto!!! Dopo " << salti << " salti " << endl << endl;  
  120.      
  121.       return 0;
  122.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement