)Ж╬
 PROGRAM SURF REM   (C) A. DE BRUIN REM       BALJUW 11, 2671 HL, NAALDWIJK( DIMVV1;P=#5000;P.$212 F.I=1 TO 2<[ LDX@0F:VV1 LDA#F000,X;CLC;ADC#80;STA#5AP     LDA#F001,X;CLC;ADC#81;STA#5CZ     LDA@0;STA#5B;STA#5Dd     TXA;STA#82n      LDA@2 ;STA#5Ex     JSR#F7AA;LDA#82;TAX;INX;INXВ CPX@254;BCCVV1;RTSМ];NEXT;P.$6Ц A=?#23;B=?#24; ?#23=0;?#24=#9Dа FDIM %CC36,%SS36; ?#23=A;?#24=Bк ┤ PROC SPRITS╛ BASE#70╚  DEF EEN,0011000010001000╥  DEF:     0000110110010000▄  DEF:     0000011111111000ц  DEF:     0011111111100000Ё  DEF:     0000111111100000·  DEF:     0111001101010000  DEF:     0000001000001000  DEF:     0000001000000100  DEF TWEE,0000100010000000"  DEF:     0000010110100000,  DEF:     00000111110000006  DEF:     0000111110000000@  DEF:     0000101101000000J  DEF:     0001001000110000T  DEF:     0000000000000000^  DEF:     0000000000000000h  DEF DRIE,0010100010001000r  DEF:    0000000000000000|  DEF:    0000000000000010Ж  DEF:    0110000000000000Р  DEF:    0000000000000000Ъ  DEF:    0100000000000000д  DEF:    0000000000000000о  DEF:    0000001000000100╕  ROM7┬ PEND╠  ╓ PROC MAKET,X,Y,A,Zр X=128;Y=96ъ FOR A=0 TO 360 STEP 10Ї   %CC(A/10)=COSRAD(A);%SS(A/10)=SINRAD(A)■   Z=#9800+((A/10)*9*2)  E=%(COSRAD(A-130)*6);F=%(SINRAD(A-130)*6);    Z?0=(X+E);Z?1=(Y+F)  E=%(COSRAD(A-9)*40);F=%(SINRAD(A-9)*40)&   Z?2=(X+E);Z?3=(Y+F)0  E=%(COSRAD(A-3)*55);F=%(SINRAD(A-3)*55):   Z?4=(X+E);Z?5=(Y+F)D  E=%(COSRAD(A+3)*55);F=%(SINRAD(A+3)*55)N   Z?6=(X+E);Z?7=(Y+F)X  E=%(COSRAD(A+9)*40);F=%(SINRAD(A+9)*40)b   Z?8=(X+E);Z?9=(Y+F)l  E=%(COSRAD(A+130)*6);F=%(SINRAD(A+130)*6)v   Z?10=(X+E);Z?11=(Y+F)А   REM PLAATS SURFERК  E=%(COSRAD(A-7)*17);F=%(SINRAD(A-7)*17)Ф   Z?12=(X+E);Z?13=(Y+F)Ю  E=%(COSRAD(A+7)*17);F=%(SINRAD(A+7)*17)и   Z?14=(X+E);Z?15=(Y+F)▓ NEXT╝ PEND╞  ╨ PROC TREKOP,A,B,C┌  MOVE128,136;PLOT6,149,111;PLOT6,191,136;PLOT6,128,136ф  A=191;B=149ю  DO°   KEY C   WAIT;WAIT;WAIT;WAIT;WAIT;WAIT   IF C=CH"3";MOVE128,136;PLOT6,(B-1),111;PLOT6,(A-3),136    IF C=CH"3";MOVE128,136;PLOT6,B,111;PLOT6,A,136    IFC=CH"3";MOVEA,136;PLOT3,-3,0;A=A-3;B=B-1* UNTIL A<=1284 PEND>   H PROC BEWEEG(F,A),E,G,HR   H=F/5\   E=-%(%CC(A/10)*H);G=-%(%SS(A/10)*H)f   LINK#5000;?#80=?#80+E;?#81=?#81+G;LINK#5000p   ROM7z PENDД  О PROC CALCFOR(A,B,V,W:F),D,E,G,H,IШ   D=(B+A)%180в   IFD<0;D=180+Dм   E=270+D╢   I=V-E└   G=%(COSRADI*W)╩   H=A+(360-E)╘   F=%(COSRADH*G)▐ PENDш   Є  № PROC WIND(V,W),E,F,G,H  V=V-(V/360)*360;IFV<0;V=360+V  E=%((COSRAD(V))*W/ 5); F=%((SINRAD(V))*W/ 5)  MOVE 50,140;DRAW(50+E),(140+F)$  G=%((COSRAD(V+20))*(W/5-7));H=%((SINRAD(V+20))*(W/5-7)).  DRAW(50+G),(140+H)8  G=%((COSRAD(V-20))*(W/5-7));H=%((SINRAD(V-20))*(W/5-7))B  MOVE(50+E),(140+F)L  DRAW(50+G),(140+H)V PEND`  j PROC PLONS(M,A),G,E,Ft  G=A+(M-1)*40~  G=G-(G/360)*360;IF G<0;G=360+GИ  E=%( %CC(G/10)*20)-8; F=%( %SS(G/10)*20)+4Т  SET:TWEE,(E+128),(F+96);P.$7Ь  SET:TWEE,(E+128),(F+96);SET:EEN,(128+E),(96+F)ж  P.$7;SET:EEN,(128+E),(96+F);SET:DRIE,(128+E),(96+F)░  P.$7;SET:DRIE,(128+E),(96+F)║ PEND─  ╬ PROC PLANK(M:A),Z╪  A=A-(A/360)*360;IF A<0;A=360+Aт  Z=#9800+((A/10)*9*2)ь  MOVE(Z?0),(Z?1);PLOT6,(Z?2),(Z?3)Ў  PLOT6,(Z?4),(Z?5); PLOT6,(Z?6),(Z?7)  PLOT6,(Z?8),(Z?9)
  PLOT6,(Z?10),(Z?11); PLOT6,(Z?0 ),(Z?1)  PLOT14,(Z?(12+M)),(Z?(13+M)+1)  PLOT14,(Z?(12+M)),(Z?(13+M)-1)(  PLOT14,(Z?(12+M)+1),(Z?(13+M))2  PLOT14,(Z?(12+M)-1),(Z?(13+M))< PENDF  P PROC ZEIL(A,B:K),G,E,F,I,JZ  K=180+A+Bd  K=K-(K/360)*360;IF K<0;K=360+K n  E=%( %CC(A/10)*40); F=%( %SS(A/10)*40)x  MOVE(128+E),(96+F)В  I=%( %CC(K/10)*30 );J=%( %SS(K/10)*30)М PLOT6,(128+E+I),(96+F+J)Ц PENDа  к PROC BOOT(M,V,W:A,B,K),F┤  PLANK(M,A)╛  CALCFOR(A,B,V,W,F);BEWEEG(F,A)╚  ZEIL(A,B,K)╥ PEND▄ ц SPRITSЁ INPUT"TABEL (1=JA)"A;IF A=1;MAKET· GRMOD C=80; REM LENGTE ZEIL A=90; REM HOEK VAN PLANK B=0  ;REM HOEK VAN ZEIL T.O.V. PLANK" M=0  ;REM PLAATS VAN MENS:0 =BAKBOORD, V=45 ;REM HOEK VAN WIND6 W=100;REM STERKTE VAN WIND@ K=270;REM ABSOLUTE HOEK VAN ZEIL(WORDT IN *ZEIL* GEVULD)J   T Q=20 ;REM LINKERZIJLIJN^ R=120;REM ONDERLIJNh S=500;REM RECHTERZIJLIJNr T=500;REM BOVENLIJN| X=128;Y=96Ж LINK#5000; WIND(V,W); PLANK(M,A)Р TREKOP;ZEIL(A,B,K)Ъ DOд  KEY Oо   Z=A-V;IF Z<0;Z=360+Z╕   XIF O=CH"-"┬     XIF (Z>=0 AND Z<=180)╠       BOOT(M,V,W,A,B,K);A=A+10;  BOOT(M,V,W,A,B,K)╓     ELSEр     XIF (Z>=180 AND Z<=360)ъ       BOOT(M,V,W,A,B,K);A=A-10; BOOT(M,V,W,A,B,K)Ї     ELSE■   ELSE   XIF O=CH"Q"     XIF (Z>=0 AND Z<=180)          BOOT(M,V,W,A,B,K);A=A-10;BOOT(M,V,W,A,B,K)&     ELSE0     XIF (Z>=180 AND Z<=360):         BOOT(M,V,W,A,B,K);A=A+10;BOOT(M,V,W,A,B,K)D     ELSEN   ELSEX   IF O=CH"G";ZEIL(A,B,K);B=B+10 ;ZEIL(A,B,K)b   IF O=CH"3";ZEIL(A,B,K);B=B-10 ;ZEIL(A,B,K)l   IF?#B001%2=0;BOOT(M,V,W,A,B,K);M=M:2;BOOT(M,V,W,A,B,K)v   CALCFOR(A,B,V,W,F)А   BEWEEG(F,A)К  B=B-(B/360)*360;IF B<0;B=360+BФ  IF((B<180 ANDM=0)OR(B>180 AND M=2)) AND B<>0;PLONS(M,A)Ю UNTIL 0и END (?ZZZZZGе        ееееееее        ееееееее        ееееееее        ееееееееZZZZZZZZZZZZZZZZZZZZZZZZ