Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define FLOOR_SIDE_SIZE 50
- #define COMMANDS 11
- #define FEATHER_UP 0
- #define FEATHER_DOWN 1
- #define TURTLE_PARAMS 4
- void printFloor(int array[][FLOOR_SIDE_SIZE]);
- void move(int turtle[], int path_length);
- main()
- {
- int commands[COMMANDS + 4] = {2, {5, 12}, 3, {5, 12}, 3, {5, 12}, 3, {5, 12}, 1, 6, 9};
- int flooor[FLOOR_SIDE_SIZE][FLOOR_SIDE_SIZE] = {0};
- int turtle[TURTLE_PARAMS] = {0, 0, 2, 0}; // y, x, face (1-4: n s e w), feather
- int counter;
- for (counter = 0; counter < COMMANDS; counter++) {
- switch(commands[counter]) {
- case 1:
- turtle[3] = FEATHER_UP;
- break;
- case 2:
- turtle[3] = FEATHER_DOWN;
- break;
- case 3:
- (turtle[2] == 4) ? (turtle[2] = 1) : (turtle[2]++);
- break;
- case 4:
- (turtle[2] == 0) ? (turtle[2] = 4) : (turtle[2]--);
- break;
- case 5:
- move(turtle, commands[counter][1]);
- break;
- case 6:
- printFloor(flooor);
- break;
- case 9:
- counter = COMMANDS;
- break;
- }
- }
- return 0;
- }
- void printFloor(int flooor[][FLOOR_SIDE_SIZE])
- {
- int i, j;
- for (i = 0; i < FLOOR_SIDE_SIZE; i++) {
- for (j = 0; j < FLOOR_SIDE_SIZE; j++) {
- printf("%d", flooor[i][j]);
- }
- printf("\n");
- }
- }
- void move(int turtle[], int path_length)
- {
- int counter;
- if (turtle[2] == 1) {
- turtle[0] -= path_length;
- if (turtle[3] == FEATHER_DOWN) {
- for (counter = turtle[0]; counter < path_length; counter--) {
- flooor[counter][turtle[1]] = 1;
- }
- }
- }
- if (turtle[2] == 2) {
- turtle[0] += path_length;
- if (turtle[3] == FEATHER_DOWN) {
- for (counter = turtle[0]; counter < path_length; counter++) {
- flooor[counter][turtle[1]] = 1;
- }
- }
- }
- if (turtle[2] == 3) {
- turtle[1] += path_length;
- if (turtle[3] == FEATHER_DOWN) {
- for (counter = turtle[1]; counter < path_length; counter++) {
- flooor[turtle[0]][counter] = 1;
- }
- }
- }
- if (turtle[2] == 4) {
- turtle[1] -= path_length;
- if (turtle[3] == FEATHER_DOWN) {
- for (counter = turtle[1]; counter < path_length; counter--) {
- flooor[turtle[0]][counter] = 1;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement