Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include <time.h>
- short i,i2,maxx,maxy,i3,i4,randnum;
- bool running = true, blocked = false, isolated = true;
- short playerX,playerY,genX,genY;
- int main () {
- srand(time(NULL));
- printf("Dimensiones: \n");
- scanf("%d%d",&maxx,&maxy);
- char grid[maxy][maxx];
- playerX=rand()%maxx;
- playerY=rand()%maxy;
- genX=playerX;
- genY=playerY;
- //Generacion de grid inicial
- for(i = 0;i < maxy;i++) {for(i2=0;i2<maxx;i2++){
- if(i%2==0 && i2%2==0 || i==playerY && i2==playerX) {grid[i][i2] = ' ';}
- else {grid[i][i2] = '#';}
- }}
- //Generacion de pasillos
- /*for(i = 0;i < maxy;i++) {for(i2=0;i2<maxx;i2++){
- if(grid[i][i2] == ' ') {
- randnum = rand()%5;
- switch (randnum) {
- case 1:
- grid[i][i2+1] = ' ';
- break;
- case 2:
- grid[i][i2-1] = ' ';
- break;
- case 3:
- grid[i+1][i2] = ' ';
- break;
- case 4:
- grid[i-1][i2] = ' ';
- break;
- default: break;
- }
- }
- }}*/
- while(blocked==false) {
- randnum=rand()%5;
- switch (randnum) {
- case 1:
- if(grid[genY][genX+2] == ' ') {
- grid[genY][genX+1] = ' ';
- genX=genX+2;
- }
- break;
- case 2:
- if(grid[genY][genX-2] == ' ') {
- grid[genY][genX-1] = ' ';
- genX=genX-2;
- }
- break;
- case 3:
- if(grid[genY+2][genX] == ' ') {
- grid[genY+1][genX] = ' ';
- genY=genY+2;
- }
- break;
- case 4:
- if(grid[genY-2][genX] == ' ') {
- grid[genY-1][genX] = ' ';
- genY=genY-2;
- }
- break;
- default: break;
- }
- //if(grid[genY-1][genX] == ' ' && grid[genY+1][genX] == ' ' && grid[genY][genX-1] == ' ' && grid[genY][genX+1] == ' ') {blocked = true;}
- for(i = 0;i < maxy;i=i+2) {for(i2=0;i2<maxx;i2=i2+2){
- if(grid[i-1][i2] != ' ' && grid[i+1][i2] != ' ' && grid[i][i2-1] != ' ' && grid[i][i2+1] != ' ') {isolated = true;}
- else {isolated = false;}
- }}
- if(isolated==false) {blocked=true;}
- }
- //Juego en si:
- while(running) {
- //Controles y colisiones
- switch(getch()) {
- case 'H': //Arriba
- if(grid[playerY-1][playerX] == ' ') {playerY--;}
- break;
- case 'K': //Izquierda
- if(grid[playerY][playerX-1] == ' ') {playerX--;}
- break;
- case 'P': //Abajo
- if(grid[playerY+1][playerX] == ' ') {playerY++;}
- break;
- case 'M': //Derecha
- if(grid[playerY][playerX+1] == ' ') {playerX++;}
- break;
- case 27: //Escape
- running = false;
- break;
- default:
- printf("http://media.giphy.com/media/ZTMAhfbqpSMP6/giphy.gif"); //Nosotros en grupo dándole al coco
- break;
- }
- system("cls"); //Vaciar terminal
- //Mostrar todo en pantalla
- for(i3 = 1;i3 < maxy;i3++) {
- for(i4 = 1;i4 < maxx;i4++){
- if(i3 == playerY && i4 == playerX) {printf("x");}
- else{printf("%c",grid[i3][i4]);}
- }
- printf("\n");
- }
- }
- }
- /*
- ___------__
- |\__-- /\ _ -
- |/_ __ _
- // \ / \ /__
- | o| 0|__ --_
- \\____-/ __ \ ___ -
- (@@ ___/ / /_
- -_____--- --_
- // \ \\ -
- //|\__/ \\ ___ -
- \_\\_____/ \-|
- // \\--\|
- ____// ||_
- /___//_\ /__|
- Sladkoto Ivi
- Property of the La-Li-Lu-Le-Lo © Illuminati 420 B.C. - 2016 A.D.
- Do not matrix with stereo sound. Do not compile in Bloodshed Dev-C++.
- Full or partial copy of this file is punishable by death penalty.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement