Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #include <cstdio>
- #include <unistd.h>
- int main()
- {
- struct ship
- {
- float x_pos;
- float y_pos;
- float x_dest;
- float y_dest;
- float spd;
- };
- ship my_ship;
- my_ship.spd = 10.0f;
- my_ship.x_pos = 0.0f;
- my_ship.y_pos = 0.0f;
- my_ship.x_dest = 2000.0f;
- my_ship.y_dest = 1500.0f;
- float x_dist = my_ship.x_dest - my_ship.x_pos;
- float y_dist = my_ship.y_dest - my_ship.y_pos;
- float angle = atan2f(y_dist, x_dist); // The differences in this and the following two lines.
- float x_ratio = cosf(angle);
- float y_ratio = sinf(angle);
- float x_spd_comp = my_ship.spd * x_ratio;
- float y_spd_comp = my_ship.spd * y_ratio;
- printf("Ship X_dest = %.2f, Ship Y_dest = %.2f\n\n", my_ship.x_dest, my_ship.y_dest);
- while((my_ship.x_pos < (my_ship.x_dest - (my_ship.spd / 2.0f))) ||
- (my_ship.x_pos > (my_ship.x_dest + (my_ship.spd / 2.0f))) ||
- (my_ship.y_pos < (my_ship.y_dest - (my_ship.spd / 2.0f))) ||
- (my_ship.y_pos > (my_ship.y_dest + (my_ship.spd / 2.0f))))
- {
- my_ship.x_pos += x_spd_comp;
- my_ship.y_pos += y_spd_comp;
- printf("Ship X Pos = %.2f, Ship Y Pos = %.2f\n", my_ship.x_pos, my_ship.y_pos);
- usleep(75000);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement