Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define NORTH 0
- #define EAST 1
- #define SOUTH 2
- #define WEST 3
- #define FALSE 0
- #define TRUE 1
- int main(void)
- {
- char walkPrint, walkArray[10][10] = {{'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
- {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}};
- int xVal = 0, yVal = 0, walk, i, nError, eError, sError, wError;
- srand((unsigned) time(NULL));
- for(walkPrint = 'a'; walkPrint <= 'z'; walkPrint++)
- {
- walk = rand() % 4;
- i = FALSE;
- if(nError == TRUE && eError == TRUE && sError == TRUE && wError == TRUE)
- break;
- while(i == FALSE)
- {
- switch(walk)
- {
- case NORTH:
- yVal += 1;
- if(walkArray[xVal][yVal] != '.')
- yVal -= 1;
- nError = TRUE;
- break;
- walkArray[xVal][yVal] = walkPrint;
- i = TRUE;
- break;
- case EAST:
- xVal += 1;
- if(walkArray[xVal][yVal] != '.')
- xVal -= 1;
- eError = TRUE;
- break;
- walkArray[xVal][yVal] = walkPrint;
- i = TRUE;
- break;
- case SOUTH:
- yVal -= 1;
- if(walkArray[xVal][yVal] != '.')
- yVal += 1;
- sError = TRUE;
- break;
- walkArray[xVal][yVal] = walkPrint;
- i = TRUE;
- break;
- case WEST:
- xVal -= 1;
- if(walkArray[xVal][yVal] != '.')
- xVal += 1;
- wError = TRUE;
- break;
- walkArray[xVal][yVal] = walkPrint;
- i = TRUE;
- break;
- default:
- printf("Invalid random generation.\n");
- return 0;
- }
- }
- }
- for(yVal = 0; yVal < 10; yVal++)
- {
- for(xVal = 0; xVal < 10; xVal++)
- printf("%c ", walkArray[xVal][yVal]);
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement