1 //vomitado por Eriiiiiic dominio público-púbico
7 //declaraciones pendejas globales
12 //tamaño imbecil del laberinto a dibujar idiota
16 //puto laberinto y sus caminos
17 int maze
[renglones
][columnas
][4];
19 //inicialización de movimientos de mierda a dibujar
24 //puto arreglo para dibujar un inutil laberinto con pinche ASCII
25 int mazeDraw
[mazeRow
][mazeCol
];
27 //puta posicion actual (x,y)
35 for (int i
= 0; i
< renglones
; i
++){
36 for (int j
= 0; j
< columnas
; j
++){
37 for (int k
= 0; k
< 4; k
++){
43 //reglon (en x de la chingada)
48 //columna (en y de la chingada)
54 for (int i
= 0; i
< mazeRow
; i
++){
55 for (int j
= 0; j
< mazeCol
; j
++){
63 void mazeFuck(int posX
, int posY
){
64 //inicializa bandera de cagada validez
67 //mientras hayan movimeintos de mierda válidos
72 //chequeo de casillas válidas imbecil
73 for (int i
= 0; i
< 4; i
++){
74 //verifica que este adentro del maldito arreglo
75 if ( (posX
+ row
[i
] >= 0) && (posY
+ column
[i
] >= 0) &&
76 (posX
+ row
[i
] < renglones
) &&
77 (posY
+ column
[i
] < columnas
) ){
78 //verifica que no este recorrida la puta posición
79 if ( maze
[posX
+ row
[i
]][posY
+ column
[i
]][0] == -1 ){
80 //guarda movimientos de mierda válidos
86 // no me caso de poner comentarios de la verga
87 //si hay movimientos de mierda válidos
89 //elige un valor de mierda válido al chile (random)
90 int movPos
= valido
[rand() % cuenta
];
91 maze
[posX
][posY
][x
++] = movPos
;
94 mazeFuck(posX
+ row
[movPos
], posY
+ column
[movPos
]);
97 //si no hay, bla bla dice: "FLAG! no mames, eres falso, salte del puto while
105 //la recorro a la puta
106 for (int i
= 0; i
< mazeRow
; i
++){
107 for (int j
= 0; j
< mazeCol
; j
++){
108 printf("%d", mazeDraw
[i
][j
]);
115 //la recorro a la puta
116 for (int i
= 0; i
< renglones
; i
++){
117 for (int j
= 0; j
< columnas
; j
++){
118 for (int k
= 0; k
< columnas
; k
++){
119 printf("%d", maze
[i
][j
][k
]);
131 //genera el laberinto y sus caminos de la chingada
133 //se inicializa con algun caracter cagada
134 for (int i
= 0; i
< mazeRow
; i
++){
135 for (int j
= 0; j
< mazeCol
; j
++){
140 //harcodea entrada y salida, que pendejo y webon
142 mazeDraw
[renglones
- 2][columnas
- 1]= 1;
144 //recorre al arreglo lameculos para dibujar el putillo recorrido
145 for (int x
= 0; x
< renglones
; x
++){
146 for (int y
= 0; y
< columnas
; y
++){
147 for(int z
= 0; z
< 4; z
++){
148 //si el putin valor es -1 no tumba pared
149 if(maze
[x
][y
][z
] != -1){
150 //guarda el mierda de valor del movimiento
151 int tempr
= row
[ maze
[x
][y
][z
] ];
152 int tempc
= column
[ maze
[x
][y
][z
] ];
155 //pinta caminillo hijo de puta en posicion actual, +1 y +2 en respecputamente
156 mazeDraw
[posR
][posC
] = 1;
157 mazeDraw
[ posR
+ tempr
][ posC
+ tempc
] = 1;
158 mazeDraw
[ posR
+ 2*tempr
][ posC
+ 2*tempc
] = 1;
164 //imprime el laberinto pinche cabron