10 REM ****************************
11 REM *     PARA LINHA APPLE     *
12 REM *                          *
13 REM *      TARDE DE TURFE      *
15 REM ****************************
20 GOSUB 5000
100 REM  ** LOOP PRINCIPAL **
110 GOSUB 1000
120 GOSUB 2000
130 VM=(V(1)+V(2)+V(3))/3
140 FOR Q=1 TO 3
150 GOSUB 500
160 NEXT Q
170 IF FI<3 THEN 140
180 INVERSE :PRINT "      O CAVALO ";WI;" E' O VENCEDOR !!!      ";
190 NORMAL
200 CR=CR+I(WI)*P(WI)
210 FOR I=1 TO 1500:W=I/I+1:NEXT
220 IF CR>0 THEN 100
230 TEXT :HOME
240 PRINT "          VOCE ESTA ARRUINADO!"
250 END
500 REM  ** ANDA UM PASSO  **
510 IF D(Q)=0 THEN HCOLOR=0:X=PEEK(-16336)
520 DRAW SH(Q) AT X(Q),Y(Q)
530 IF D(Q)=1 THEN 750
540 IF S(Q)=1 THEN S(Q)=0:GOTO 740
550 X(Q)=X(Q)+V(Q)
560 V(0)=V(0)+VP*RND(1)*(VM-V(0)1
570 IF S(0)=2 THEN SH(0)=3:Y(0)=Y(Q)+12 :S(Q)=0:GOTO 740
580 SH(Q)=SH(Q)+1:IF SH(Q)>3 THEN SH(Q)
590 IF (X(Q)>X1) AND (X(Q)<X3) THEN 710
600 IF X(Q)<XM THEN 740
610 X(Q)=X(Q)+20-XM
620 R(Q)=R(Q)+1
630 HCOLOR=3:HPLOT 3*R(Q),Y(Q)-20 TO 3*R(Q),Y(Q)-25
640 IF R(Q)<RD THEN 740
650 SH(Q)=1
660 IF WI=0 THEN WI=Q
670 D(Q)=1
680 FI=FI+1
690 X(Q)=20+8*(3-FI)
700 GOTO 740
710 IF X(Q)<X2 THEN SH(Q)=1:S(Q)=1:GOTO 750
720 S(Q)=2:SH(Q)=2:Y(Q)=Y(Q)-12
730 GOTO 750
740 X=PEEK(-16336)
750 HCOLOR=3:DRAW SH(Q) AT X(Q),Y(Q)
760 RETURN
1000 REM  **  INICIALIZA CAVALOS **
1010 SH=1:WI=0:FI=0
1020 FOR K=1 TO 3
1030 X(K)=20:R(K)=0
1040 P(K)=FNRN(5)/5
1050 V(K)=P(K)*DV+V1
1060 Y(K)=K*40
1070 D(K)=0:SH(K)=1
1080 NEXT K
1090 REM  **  CHANCES E APOSTAS  **
1100 PT=0
1110 FOR I=1 TO 3
1120 P(I)=(V(I)-V1)/DV
1130 PT=PT+P(I)
1140 NEXT I
1150 FOR K=1 TO 3
1160 P(K)=INT(PT/P(K))
1170 NEXT K
1180 TEXT :HOME
1190 PRINT "**************************************"
1200 PRINT "          PODE APOSTAR AGORA"
1210 PRINT "**************************************"
1220 PRINT
1230 PRINT "AS CHANCES SAO:"
1240 PRINT
1250 FOR I=1 TO 3
1260 PRINT "CAVALO ";I;" PAGA ";P(I);" / 1"
1270 NEXT I
1280 PRINT
1290 FOR I=1 TO 3
1300 VTAB (11):HTAB (1):CALL -958
1310 PRINT "VOCE TEM AINDA ";CR;" MIL CRUZEIROS"
1320 PRINT
1330 PRINT "SUA APOSTA NO CAVALO "I" E':";
1340 INPUT " ";I(I)
1360 RS=CR-I(I)
1370 IF RS>=0 THEN 1410
1380 PRINT
1390 PRINT "VOCE ANDA ACIMA DE SUAS POSSES!"
1400 PRINT :GOTO 1330
1410 CR=CR-I(I)
1420 NEXT I
1470 RETURN
2000 REM  **  PREPARA 0 CAMPO    **
2010 HGR :HCOLOR=3
2020 HPLOT X(1),Y(1)-30 TO 279,Y(1)-30
2030 FOR K=1 TO 3
2040 HPLOT X(K),Y(K) TO X(H),Y(K)-8
2050 HPLOT X(K),Y(K)+10 TO 279,Y(K)+10
2060 DRAW SH(K) AT X(K),Y(K)
2070 NEXT K
2080 VTAB 21:HTAB 1:CALL -958
2090 PRINT "CAVALO:   1      2      3"
2100 PRINT "CHANCES:  ";P(1);TAB(18);P(2);TAB(25);P(3)
2110 PRINT "APOSTA:   ";I(1);TAB(18);I(2);TAB(25);I(3)
2120 PRINT " QUALQUER TECLA PARA COMECAR A CORRIDA";
2130 GET A$
2140 VTAB (24):HTAB (1):CALL -958
2150 PRINT CHR$(7);
2160 RETURN
5000 REM  **  INICIALIZA  **
5010 DEF FNRN(R)=INT(RND(1)*R+1)
5020 DIM R(3),V(3),X(3),Y(3),D(3),P(3),I(3),S(3),AD(3)
5030 V1=20:DV=10:VP=2:RD=10:XM=260:CR=100
5040 XH=180:X1=XH-28:X2=XH-20:X3=XH+5
5050 AD(1)=775:AD(2)=815:AD(3)=856
5060 FOR SH=1 TO 3
5070 AD=AD(SH):GOSUB 5500:REM CORPO DO CAVALO
5080 NEXT SH
5090 FOR SH=1 TO 3
5100 AD=AD(SH)+30
5110 READ A:REM PERNAS DO CAVALO
5120 POKE AD,A
5130 AD=AD+1
5140 IF A<>0 THEN 5110
5150 NEXT SH
5160 FOR I=1 TO 8
5170 READ A
5180 POKE 767+I,A
5190 NEXT I
5200 POKE 232,0:POKE 233,3:REM ENDERECO INICIAL DA TABELA DE FORMAS
5210 SCALE=1:ROT=0
5220 RETURN
5500 REM ** LE CORPO DO CAVALO **
5510 RESTORE
5520 FOR I=1 TO 29
5530 READ A
5540 POKE AD+I,A
5550 NEXT I
5560 RETURN
6000 REM **  CORPO DO CAVALO    **
6010 DATA 36,36,12,12,101,45,45,45,101,12,12,37,46,21
6020 DATA 14,246,28,55,30,30,30,30,63,63,63,28,28,180,145
6030 REM ** PERNAS EM PE'       **
6040 DATA 45,30,55,110,73,73,36,60,44,4,0
6050 REM ** PERNAS CORRENDO 1 **
6060 DATA 45,30,191,110,72,72,72,45,21,21,4,0
6070 REM ** PERNAS CORRENDO 2 **
6080 DATA 41,53,119,14,13,12,12,28,39,0
6090 REM ** FORMAS **
6100 DATA 3,0,8,0,48,0,89,0

