Tortoise
Tortoise
h>
#include <stdlib.h>
#include <math.h>
#include <unistd.h>
#include <time.h>
enum Speed{
Slow = 0,
Medium = 1,
Fast = 2
};
enum Range{
Short = 0,
MediumRange = 1,
Long = 2
};
struct Tortoise {
float tortoiseLocation[2];
float tortoiseSpeed;
int isMoving;
int isDead;
};
struct Sprinkler {
float sprinklerLocation[2];
float sprinklerRange;
float angle;
int direction;
};
return tortoise;
}
sprinkler.angle = 90.0;
return sprinkler;
}
int main() {
srand(time(NULL));
struct Tortoise tortoises[10];
struct Sprinkler sprinklers[10];
while (allTortoisesDied == 0) {
printf("\nStep %d:\n", step + 1);
int found = 0;
if (IsTortoiseStillAlive(&tortoises[j], j + 1)) {
found = 1;
continue;
}
if (tortoises[j].isMoving &&
isTortoiseInSprinklerRange(tortoises[j], sprinklers[i])) {
printf("Tortoise %d was watered by Sprinkler %d at (%0.2f,
%0.2f).\n", j + 1, i + 1, tortoises[j].tortoiseLocation[0],
tortoises[j].tortoiseLocation[1]);
found = 1;
}
}
}
if (!found) {
printf("Nothing happened in this step.\n");
}
allTortoisesDied = 1;
for (int k = 0; k < 10; k++) {
if (tortoises[k].isMoving) {
allTortoisesDied = 0;
break;
}
}
if (allTortoisesDied) {
printf("All Tortoises have died.\n");
break;
}
sleep(1);
step++;
}
printf("\nSimulation complete.\n");
return 0;
}