Advertisement
Tooster

MapGen0.1

Nov 3rd, 2014
437
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. /* 03.11.2014r
  5.  * Author: Maksymilian Polarczyk
  6.  * Aka: Tooster
  7. */
  8. using namespace std;
  9. int rozmiar;
  10.  
  11. int generuj(int a){
  12.    
  13.     int mapa[rozmiar][rozmiar];
  14.     int left, up;
  15.    
  16.     for(int x=0; x<a; x++){
  17.         for(int y=0; y<a; y++){
  18.             if(x!=0)
  19.                 up = mapa[x-1][y];
  20.             if(y!=0)
  21.                 left = mapa[x][y-1];
  22.                
  23.             if(x==0){ // x==0 TAK ::::::::::::
  24.                 if(y==0){ // y==1 TAK
  25.                     mapa[x][y] = (rand()%10); //random
  26.                     cout<<"["<<mapa[x][y]<<"]";
  27.                 }
  28.                 else{ // y==0 NIE
  29.                     if(left == 0){ //left==0 TAK
  30.                         mapa[x][y] = rand()%2;
  31.                         cout<<"["<<mapa[x][y]<<"]";
  32.                     }
  33.                     else{ //left==0 NIE
  34.                         mapa[x][y] = ( rand()%3 ) + left - 1;
  35.                         if(mapa[x][y] == 10)
  36.                             mapa[x][y] -= 1;
  37.                         cout<<"["<<mapa[x][y]<<"]";
  38.                     }
  39.                 }
  40.             }
  41.             else{ // x==0 NIE ::::::::::::
  42.                 if(y==0){ // y==0 TAK
  43.                     if(up == 0){
  44.                         mapa[x][y]= rand()%2;
  45.                         cout<<"["<<mapa[x][y]<<"]";
  46.                     }
  47.                     else{ // y==0 NIE
  48.                         mapa[x][y] = ( rand()%3 ) + up - 1;
  49.                         if(mapa[x][y] == 10)
  50.                             mapa[x][y] -= 1;
  51.                         cout<<"["<<mapa[x][y]<<"]";
  52.                     }
  53.                 }
  54.                 else{
  55.                     if(left==up){ // left==up TAK
  56.                         if(up!=0){
  57.                             mapa[x][y] = ( rand()%3 ) + up - 1;
  58.                             if(mapa[x][y] == 10)
  59.                                 mapa[x][y] -= 1;
  60.                             cout<<"["<<mapa[x][y]<<"]";
  61.                         }
  62.                         else{
  63.                             mapa[x][y]= rand()%2;
  64.                             if(mapa[x][y] == 10)
  65.                                 mapa[x][y] -= 1;
  66.                             cout<<"["<<mapa[x][y]<<"]";
  67.                         }
  68.                     }
  69.                     else if(left-2 == up || left+2 == up){ // left +- 2 == up SREDNIA
  70.                         mapa[x][y] = (left+up)/2;
  71.                         cout<<"["<<mapa[x][y]<<"]";
  72.                     }
  73.                     else if(left-1 == up || left+1 == up){ // left +- 1 == up LEFT OR UP
  74.                         if(left<up){
  75.                             mapa[x][y] = (rand()%2)+left;
  76.                             cout<<"["<<mapa[x][y]<<"]";
  77.                         }
  78.                         else{
  79.                             mapa[x][y] = (rand()%2)+up;
  80.                             cout<<"["<<mapa[x][y]<<"]";
  81.                         }
  82.                     }
  83.                     else{
  84.                         cout<<"ERROR <<left "<<left<<" up "<<up<<">>";
  85.                     }
  86.                 }
  87.             }
  88.         }
  89.     cout<<endl;
  90.     }
  91. return 0;
  92. }
  93.  
  94.  
  95. int main(){
  96.     srand(time(NULL));
  97.     cin>>rozmiar;
  98.     generuj(rozmiar);
  99.     return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement