看板 CTSH96302 關於我們 聯絡資訊
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
a606155123:140後面不是116嗎? 05/04 16:19
danny6430:116是成大吧 05/04 16:34
MiaoMi225:120.148.4 05/04 21:55
a606155123:XD 05/05 00:37