📄 jianxie.cpp
字号:
#include "graphics.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
#include "dos.h"
const PI=3.1415926;
void spring(int x0,int y0,int x,int y,double r,int n)
{
int i,k=1;
double dx=((double)x-(double)x0)/2.0/n, dy=((double)y0-(double)y)/2.0/n;
double a=atan2((double)(y0-y),(double)(x-x0));
double dxr=r*cos(a+1.570796327), dyr=r*sin(a+1.570796327);
double X[20],Y[20];
for(i=0;i<n;i++){
X[i]=x0+(2*i+1)*dx+k*dxr;
Y[i]=y0-(2*i+1)*dy-k*dyr;
k=-k;
};
moveto(x0,y0);
for(i=0;i<n;i++)
lineto((int)X[i],(int)Y[i]);
lineto(x,y);
}
void arrow(int x,int y,double r,double a)
{
double x1,y1,x2,x3,y3,y2,b,L;
a=a*3.141592655/180.0;
b=0.197395559;
L=10.19803903;
x1=x+r*cos(a);
y1=y-r*sin(a);
x2=x1-L*cos(b-a);
y2=y1-L*sin(b-a);
x3=x1-L*cos(b+a);
y3=y1+L*sin(b+a);
line(x,y,(int)x1,(int)y1);
if(r<11.0)return;
moveto((int)x1,(int)y1);
lineto((int)x2,(int)y2);
lineto((int)x3,(int)y3);
lineto((int)x1,(int)y1);
}
void main(void)
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"");
int i,j,pi;
float CTa,x,y,X,Y,py,Y1,Y2;
setbkcolor(8);
setfillstyle(1,1);
setcolor(4);
circle(400,240,100);
fillellipse(400,240,2,2);
bar(100,10,200,60);
setcolor(2);
arrow(250,150,150,90.00);
arrow(230,75,400,0.00);
arrow(250,480,140,90.00);
arrow(230,410,400,0.00);
setcolor(9);
outtextxy(250,0,"Ep");
outtextxy(250,340,"Ek");
outtextxy(630,75,"t");
outtextxy(630,410,"t");
outtextxy(20,390,"Jian Xie Zhen Dong De");
outtextxy(70,410,"Shu Xue Biao Shu");
outtextxy(50,430,"to quit,");
outtextxy(70,450,"press Ctrl + Break");
outtextxy(50,470,"Copyright(R) by CeKong 0102");
setcolor(3);
outtextxy(270,470," ShiShiqiang");
for(i=1;i<=360*80;i++)
{
CTa=i*PI/180.0;
Y=240.0+100.0*cos(CTa);
setcolor(9);
arrow(400,240,100,i);
Y1=75.0-50.0*sin(4.0*i*PI/180.0+PI/2);
Y2=410.0+50.0*sin(4.0*i*PI/180.0);
putpixel(i+245,Y1,14);
putpixel(i+250,Y2,7);
if(i>=2)
{
setcolor(8);
arrow(400,240,100,pi);
circle(150,py,50);
spring(150,60,150,py-50,50,15);
}
pi=i;py=Y;
setcolor(11);
spring(150,60,150,Y-50,50,15);
setcolor(4);
circle(150,Y,50);
fillellipse(400,240,2,2);
circle(400,240,100);
delay(5);
}
getch();
closegraph();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -