作者MiaoMi225 (口苗口米~)
看板CTSH96302
標題plz don't enter
時間Mon May 4 11:52:58 2009
program ellipse
use DFLIB
dimension x(2),y(2),r(2),vx(2),vy(2),dt(2)
xmin=-300*1024.0/768.0
xmax=300*1024.0/768.0
ymin=-300
ymax=300
ii=setwindow(.true.,xmin,ymax,xmax,ymin)
ii=setbkcolor(15)
call clearscreen($gclearscreen)
ii=clickmenuqq(loc(winfullscreen))
!!!!!!!!!!!!
x(1)=0
y(1)=0
r(1)=30
vx(1)=1
vy(1)=2
dt(1)=0.1
!----------!
x(2)=-20
y(2)=20
r(2)=20
vx(2)=10
vy(2)=10
dt(2)=0.1
!!!!!!!!!!!!
do i=1,10000000
ii=setcolor(9)
z=20
ii=rectangle_w($gborder,xmin+z,ymax-z,xmax-z,ymin+z)
do k=1,2
a=20
if (x(k)>xmax-r(k)-a .or. x(k)<xmin+r(k)+a) then
vx(k)=-vx(k)
endif
if (y(k)>ymax-r(k)-a .or. y(k)<ymin+r(k)+a) then
vy(k)=-vy(k)
endif
b=30
if (x(k)+r(k)>xmax-b .or. x(k)-r(k)<xmin+b .or. y(k)+r(k)>ymax-b .or. y(k)-r(k)<ymin+b) then
dt(k)=1
else
dt(k)=1
endif
if (sqrt((x(1)-x(2))**2+(y(1)-y(2))**2)==r(1)+r(2)) then
vx(k)=-vx(k)
vy(k)=-vy(k)
else
vx(k)=vx(k)
vy(k)=vy(k)
endif
ii=setcolor(15)
ii=ellipse_w($gfillinterior,x(k)-r(k),y(k)+r(k),x(k)+r(k),y(k)-r(k))
ii=setcolor(9)
x(k)=x(k)+vx(k)*dt(k)
y(k)=y(k)+vy(k)*dt(k)
ii=ellipse_w($gfillinterior,x(k)-r(k),y(k)+r(k),x(k)+r(k),y(k)-r(k))
call sleepqq(1)
enddo
enddo
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.148.4
1F:推 a606155123:140後面不是116嗎? 05/04 16:19
2F:推 danny6430:116是成大吧 05/04 16:34
3F:→ MiaoMi225:120.148.4 05/04 21:55
4F:→ a606155123:XD 05/05 00:37