rendered paste body#include<ccc_win.h>
using namespace std;
double position(double init_pos, double velocity, double accel, int t)
{
double pos;
pos = init_pos + (velocity * t) + (0.5 * accel * t * t);
return pos;
}
double velocity(double init_vel, double accel, int t)
{
double vel;
vel = init_vel + (accel * t);
return vel;
}
void accelaration(double & x_accelaration, double & y_accelaration)
{
string input;
double left_thruster;
double right_thruster;
// Get Y Accelaration
input = cwin.get_string("Vertical Thruster Value, (h)igh, (m)edium, (l)ow, (n)one: ");
if(input == "h")
y_accelaration = 2.0;
if(input == "m")
y_accelaration = 1.0;
if(input == "l")
y_accelaration = 0.0;
else
y_accelaration = -1.6;
// Get Right Thruster
input = cwin.get_string("Right Thruster Value, (h)igh, (m)edium, (l)ow, (n)one: ");
if(input == "h")
right_thruster = -2.0;
if(input == "m")
right_thruster = -1.0;
if(input == "l")
right_thruster = -0.5;
else
right_thruster = 0.0;
// Get Left Thruster
input = cwin.get_string("Left Thruster Value, (h)igh, (m)edium, (l)ow, (n)one: ");
if(input == "h")
left_thruster = 2.0;
if(input == "m")
left_thruster = 1.0;
if(input == "l")
left_thruster = 0.5;
else
left_thruster = 0.0;
// Calculate X Accelaration
x_accelaration = left_thruster + right_thruster;
}
void drawship(Point one)
{
Point two = one;
one.move(0,1000);
Line l(one,two);
two.move(500,0);
Line ll(one,two);
two.move(-1000,0);
Line lll(one,two);
one.move(500,-1000);
Line llll(one,two);
cwin << l << ll << lll << llll;
}
int ccc_win_main()
{
cwin.coord(0,10000,10000,0);
const int drawnum = 100;
int n = 1;
double x_velocity = 0.0;
double y_velocity = 0.0;
double x_accelaration = 0.0;
double y_accelaration = -1.6;
double x_initial_pos = 5000.0;
double y_initial_pos = 7000.0;
double x_position;
double y_position;
int time = 1;
while(time>-1)
{
while(time <= 30)
{
x_position = position(x_initial_pos,x_velocity,x_accelaration,time);
y_position = position(y_initial_pos,y_velocity,y_accelaration,time);
cwin.clear();
for(n=1;n<=drawnum;n++)
{
Point p(x_position,y_position);
drawship(p);
}
time++;
}
x_initial_pos = x_position;
y_initial_pos = y_position;
x_velocity = velocity(x_velocity,x_accelaration,30);
y_velocity = velocity(y_velocity,y_accelaration,30);
accelaration(x_accelaration,y_accelaration);
time = 1;
}
return 0;
}