#include "def.h" //ここは必ず必要 #include "mlib.h" //ここは必ず必要 #include "math.h" #define PI 3.1415926535 void main(int Number){ int m,n,mm=0,nn=0,r=10; double x,z,w=100,h=100; double v0,theta,vx,vz,dt,g=9.8; v0=Get_double(0); //速度入力 theta=Get_double(1)/180*PI; //入力角度をラジアンに変換 vx=v0*cos(theta); // x方向初速度 vz=v0*sin(theta); // z方向初速度 dt=5e-3; //時間離散間隔設定 x=-w; z=0; while (z>-h) { //z座標が画面の下部を過ぎるまで繰り返し Plot_pen(0,2,7); //白色に設定(バックと同じ) Circle(mm-r,nn-r,mm+r,nn+r,1); //過去の玉を消去 x=x+vx*dt; // x座標更新 vz=vz-g*dt; // z方向速度更新 z=z+vz*dt; // z座標更新 m=sGW.w*(1+x/w) /2; //実座標をピクセル座標に変換 n=sGW.h*(1-z/h) /2; //実座標をピクセル座標に変換 //(z座標は上向きを正)) Plot_pen(0,2,3); //緑色に指定 Circle(m-r,n-r,m+r,n+r,1); //新しい位置に玉を描画 UpdateWindow(hWnd); //画面更新 mm=m; //新しいピクセル座標を過去のピクセル座標に nn=n; //新しいピクセル座標を過去のピクセル座標に } }