ACLS:XSCREEN 2 KX=4:PX=100:PY=50 CL=5:CA=80:RS=0.5 X=256:Y=256:PA=0 SPSET 0,2416 SPHOME 0,8,16 SPSET 0,3232 SPHOME 0,8,8 SPCOLOR 1,RGB(200,0,0,0) LOAD "GRP3:SYS/DEFSP.GRP",0 BGMPLAY 30 WHILE 1 TOUCH OUT TM,TX,TY B=BUTTON() IF B AND 4 THEN PA=(PA+355)MOD 360 IF B AND 8 THEN PA=(PA+5)MOD 360 IF B AND 16 THEN SP=SP+(SP<20) IF B AND 32 THEN SP=SP-(SP>-20) IF B AND 64 THEN SP=0 IF TM THEN CA=0OR 91-ROUND(TY/4):RS=POW(0.99,TX):CL=RS*10 C=2-C GOSUB @GRP2ROT X=SN*SP/8:Y=-CS*SP/8 INC FPS:IF MAINCNT-CNT>59THEN LOCATE 0,0?"FPS"FPS,:FPS=0CNT=MAINCNT SPSCALE 0,KX*PX/2,240-SC*16 SPOFS 1,KX*PX/2,240 WEND @GRP2ROT SN=SIN(RAD(PA)) CS=COS(RAD(PA)) SI=SIN(RAD(CA)) CO=COS(RAD(CA)) TA=TAN(RAD(90-CA)) MY=239 FOR I=1 TO PY DW=CL/I/RS-TA DX=CL/(DW+!DW) DY=DX*SQR(1+TA*TA) IF DY<0 OR DY>999THEN DY=999 XR=(CL*SI+DX*TA)/CL*RS IF XR>999 THEN XR=999 AX=X+SN*DY:AY=Y-CS*DY BX=CS*XR:BY=SN*XR CX=AX-BX*PX/2:CY=AY-BY*PX/2 FOR MX=0 TO (PX-1)*KX STEP KX GPAGE 0,3:G=GSPOIT(CX,CY) GPAGE 0,C,2-C GFILL MX,MY,MX+KX,MY-KX,G*(G<0) CX=CX+BX:CY=CY+BY NEXT MY=MY-KX NEXT RETURN |
RETURN (プチコン3号/BIGプログラムのページにもどる) RETURN *MAIN (トップページにもどる)