Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- #include <cstdlib>
- /* 03.11.2014r
- * Author: Maksymilian Polarczyk
- * Aka: Tooster
- */
- using namespace std;
- int rozmiar;
- int generuj(int a){
- int mapa[rozmiar][rozmiar];
- int left, up;
- for(int x=0; x<a; x++){
- for(int y=0; y<a; y++){
- if(x!=0)
- up = mapa[x-1][y];
- if(y!=0)
- left = mapa[x][y-1];
- if(x==0){ // x==0 TAK ::::::::::::
- if(y==0){ // y==1 TAK
- mapa[x][y] = (rand()%10); //random
- cout<<"["<<mapa[x][y]<<"]";
- }
- else{ // y==0 NIE
- if(left == 0){ //left==0 TAK
- mapa[x][y] = rand()%2;
- cout<<"["<<mapa[x][y]<<"]";
- }
- else{ //left==0 NIE
- mapa[x][y] = ( rand()%3 ) + left - 1;
- if(mapa[x][y] == 10)
- mapa[x][y] -= 1;
- cout<<"["<<mapa[x][y]<<"]";
- }
- }
- }
- else{ // x==0 NIE ::::::::::::
- if(y==0){ // y==0 TAK
- if(up == 0){
- mapa[x][y]= rand()%2;
- cout<<"["<<mapa[x][y]<<"]";
- }
- else{ // y==0 NIE
- mapa[x][y] = ( rand()%3 ) + up - 1;
- if(mapa[x][y] == 10)
- mapa[x][y] -= 1;
- cout<<"["<<mapa[x][y]<<"]";
- }
- }
- else{
- if(left==up){ // left==up TAK
- if(up!=0){
- mapa[x][y] = ( rand()%3 ) + up - 1;
- if(mapa[x][y] == 10)
- mapa[x][y] -= 1;
- cout<<"["<<mapa[x][y]<<"]";
- }
- else{
- mapa[x][y]= rand()%2;
- if(mapa[x][y] == 10)
- mapa[x][y] -= 1;
- cout<<"["<<mapa[x][y]<<"]";
- }
- }
- else if(left-2 == up || left+2 == up){ // left +- 2 == up SREDNIA
- mapa[x][y] = (left+up)/2;
- cout<<"["<<mapa[x][y]<<"]";
- }
- else if(left-1 == up || left+1 == up){ // left +- 1 == up LEFT OR UP
- if(left<up){
- mapa[x][y] = (rand()%2)+left;
- cout<<"["<<mapa[x][y]<<"]";
- }
- else{
- mapa[x][y] = (rand()%2)+up;
- cout<<"["<<mapa[x][y]<<"]";
- }
- }
- else{
- cout<<"ERROR <<left "<<left<<" up "<<up<<">>";
- }
- }
- }
- }
- cout<<endl;
- }
- return 0;
- }
- int main(){
- srand(time(NULL));
- cin>>rozmiar;
- generuj(rozmiar);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement