| ||
scry% =_Y/2,scrx%=scry%,x1=-2,s=2,x2=2,y1=-2,y2=2,np%=scrx%*scry%,imax%=127,px=(x2-x1)/scrx%,py=(y2-y1)/scry% OPENW #1,_X/2-scrx%/2,_Y/2-scry%/2,scrx%,scry%,0 DO i%=0,P%=(P%+31)%np%,xx=0,yy=0,x0=x1+(P%%scrx%)*px,y0=y1+((P%\scrx%)*py) DO i%++,xxx=xx^2-yy^2+x0,yy=2*xx*yy+y0,xx=xxx LOOP UNTIL (xxx^2+yy^2>4) OR i%=imax% RGBCOLOR RGB(SHL(i%,1),SHL(i%,3),SHL(i%,2)) PLOT MOD(P%,scrx%),DIV(P%,scrx%) IF MOUSEK WHILE MOUSEK K%=MAX(K%,MOUSEK),cx=x1+MOUSEX*px,cy=y1+MOUSEY*py WEND EXIT IF K%=3 s=(s*2)+(K%=1)*(s*1.5),K%=0,x1=cx-s/2,y1=cy-s/2,x2=cx+s/2,y2=cy+s/2,px=(x2-x1)/scrx%,py=(y2-y1)/scry% ENDIF IF (MOD(P%,scrx%)=0) THEN PEEKEVENT LOOP CLOSEW #1 |
|
||
OPENW #1,_X / 2 - 100,_Y / 2 - 100,199,199,0 GET 0,0,199,199,Z% a$=SPACE$(20),n%=GetObject(Z%,20,V:a$),B%=BYTE{V:a$+9},p%=-(B%=32)*4-(B%=16)*2-(B%=8)-(B%=24)*3,p%=MAX(p%,1),sf%=200*200*p%,pl%=p%*200,end%=sf%/80,sfpl%=sf%-pl% DIM o|(sf% + 4) deb: i%++,X%=ADD(4,RND*sfpl%),o|(X%)=SHR(ADD(o|(ADD(X%,pl%)),o|(ADD(X%,p%)),o|(SUB(X%,p%))),2) IF i%<end% THEN GOTO deb a=a+0.001/(1-(p%=1 OR p%=2)),k%=MOD(SUCC(k%),10-(p%=1)*20-(p%=2)*10),i%=0,X%=SetBitmapBits(Z%,sf%,V:o|(0)),p$="MA "+STR$(INT(70+SIN(a)*50))+","+STR$(INT(100+COS(a)*50))+" TT"+STR$(INT(270+SIN(a*5)*50)) PUT 0,0,Z% IF k% <> 0 THEN GOTO deb FREEBMP Z% RGBCOLOR RGB(127+SIN(a*3)*127,127+SIN(a*2.2)*127,127+COS(a*4.1)*127) DRAW "SX "+STR$(1+SIN(a*3.4)/2)+" SY "+STR$(1+SIN(a*3.4)/2)+p$+"FD10"+STRING$(5,"LT45FD10")+"LT135FD10LT157PUFD20PDLT113FD25LT270FD20LT205PUFD22PDLT155FD10LT315PUFD23PDLT120FD29LT212FD30LT180PUFD15PDLT70FD9" RGBCOLOR RGB(127+SIN(a*2)*127,127+SIN(a*3.2)*127,127+COS(a*1.1)*127) IF p%>2 THEN DRAW 196,0 TO 196,196 TO 0,196 GET 1,1,199,199,Z% a=a*-(a<32000),n%=GetBitmapBits(Z%,sf%,V:o|(0)) PEEKEVENT IF MENU(1)<>4 THEN GOTO deb CLOSEW #1 |
| ||
OPENW #1,_X/2-200,_Y/2-240,400,440,&x1110000 DIM f%(500),fx%(500),fy%(500),r%(500),col%(600,600) fy%(0)=420,c%=1,v1=TIMER DO ' PAUSE MAX(1,7-(TIMER-v1)/7000) CLS FOR xyi% = 0 TO (f%*16)-1 i%=1+xyi%\16,x%=xyi%%16%4,y%=xyi%%16\4 RGBCOLOR VAL("&H"+MID$("FF0000FFFF0000FF0000FFFF0000FFFF00FF",1+(i%%6)*6,6)) afx%=MAX(0,MIN(400,fx%(i%)+(x%*-(r%(i%)=0)+(y%+1)*(r%(i%)=1)+(x%+1)*(r%(i%)=2)-y%*(r%(i%)=3))*20)) afy%=MAX(0,MIN(420,fy%(i%)+(y%*-(r%(i%)=0)-x%*(r%(i%)=1)+(y%+1)*(r%(i%)=2)+(x%+1)*(r%(i%)=3))*20)) IF BTST(f%(i%),xyi%%16) THEN PBOX afx%+1,afy%+1,afx%+18,afy%+18 IF BTST(f%(i%),xyi%%16) THEN col%(afx%,afy%)=(col%(afx%,afy%)|-(i%<f%)),c%=MAX(c%,-((i%=f%)&(afy%>400 OR col%(afx%,afy%)=1))) NEXT xyi% f$=INKEY$,fy%(f%)=fy%(f%)+20-c%*20,fin%=(fy%(f%)=0 AND c%=1) IF c%=0 THEN fx%(f%)=MAX(0,MIN(400,fx%(f%)+(-(ASC(RIGHT$(f$))=77)+(ASC(RIGHT$(f$))=75))*20)),r%(f%)=(r%(f%)-(f$=" "))%4 IF c%=1 THEN c%=0,fy%(f%)=fy%(f%)-20,f%=f%+1,f%(f%)=VAL("&H"+MID$("0F17333647C6",1+(f%%6)*2,2)),r%(f%)=1,fx%(f%)=200 LOOP UNTIL fin% ALERT 3,"Arrgh!|MICROTETRIS By Nicolas Rey. GFA-PUNCH 25-04-2003|*** GAME OVER ***|Score : "+STR$(INT((TIMER-v1)/1000))+"!",1,"Ok",rien% CLOSEW #1 |