Você está na página 1de 52

I

~~

~M4{Gh~HMI[oE3

A utilizacao dos computadores pessoais em atividades ludtcas e crlatlvas vem eon· quistando, a-eada dia, urn grande nurnero de adeptos, fascinados com as possibilidades destas aplicacoes. . Neste aspeete, 0 autor fez uma pequena. mas interessante mostra de alguns dos diversos recursos graficos do ..BASIC APPLESOFT" . Programas comentados e textos expllcativos. trazem inf.ormac;6es valtesas ae leitor, que encontrara neste livro uma proposta de divertimento. sem que seja esquecldo 0 lado serio da programac80. o autor: Mario Folll, Engenheiro Civil. Analista da area de repasses do Banco Itau S.A., onde desenvolve sistemas de anallses econcmtee-ftnancetras e de tnformaeees de apaio a gestao. em microcomputadores Itautec 1-7000.I: tarnbem instrutor de lingua~ (gens de programacao e usuarlo de urn
APPLE II.

Copyright

1985

MARIO FOlLi

BRASIL EM INFORMATICA

Coie9i0

Capa Roland Matos

"APPLE" JOGOS E APLICATIVOS EM BASIC

Fones: (011) 66-3095/826.9510 01135 - S. Paulo - SP - Brasil

tCONE EDITORA LTDA. R. Anhanguera. 66

Todos ()fiI direitos reservadOll. Proibida a reprodu9io total ou parcial.

INDICE Montando figuras de alta resolu~ao em tabelas de formas . 9 Montando as figuras . 9 Montando as tabelas de figuras . 10 - Observa~iio importante . 11 Montando 0 diretorio . . . . . . . . . . . . . . . . . . . . . . . 11 Obtendo os eodigos hexadeeimais do diretcrio . 13 J ogando tudo na memoria . 13 Programa criador de formas . 16 Programa para mudaneas de bases numericas . 19 Programa Appletelas . 25 Utilizando 0 Appletelas . 26 Dieas de utiliza~iio .. . . . . . . . . . . . . . . . . . . . 26 - Dica 1: tela com detaIhes piscantes . 26 - Dica 2: tela sobrepondo tela . . . . . . 27 28 Defini~.iio das Iinhas do programa .. . . . . . . . . . .. Appletelas . 29 Letras Pequenas . . . . . . . . . . . . . 36 Letras Grandes . . . . . . . . . . . .. '. . . . . . . . . . . 41 Coqueda . 55 56 Programa coqueda inieio .. . . . . . . . . . . . . Kaboom ., . 73 Funcbes das instru~Oes . 73 Base de Centauro . 82 Defini~o das linhas do programa . . . . . . . . . . . . . . 83 logo de Palitinhos . 92 Programa - Palitinhos . 93 Grafieos Prismaticos . . . . . . . . . . . . . . . . . . . 101 105 Teelado musical .....•.......................

MONTANDO FIGURAS DE ALTA RESOLUCAO EM TABELAS DE FORMAS Montar figuras em tahelas de formas pode parecer urn pouco complexo a principio, mas na realidade, depende de poucos coneeitos, os quais tentarei aqui transmitir de uma maneira simplificada, para que mesmo os iniciantes em programaeiio possam se utilizar deste maravilhoso recurso de seu "APPLE" ou "TK.2000". Basicamente temos quatro passos a seguir: - Montar as figuras e suas tahelas. - Montar 0 diretorio das figuras. - Jogar tudo na memoria do computador. - Elahorar 0 program a em BASIC para visualizar as figuras. MONTANDO AS FIGURAS Devemos elahorar as figuras a serem mostradas no video, em uma folba de papel quadriculada ou milimetrada, utilizando apenas as linhas des quadradinhos para formar os desenhos (e proibido, por exemplo, tra~ar diagonais ).
9

Para se ter uma n098.0 de tamanho, basta ver que tanto 0 "APPLE" como 0 "TK 2000" possuern resoIU9ao grafica de 280 pontes na horizontal, por 192 na vertical. Cada uma das quatro linhas que formam urn quadrieulado, corresponde a urn destes pontes, portanto, se 0 leitor desejar ter urna not;:ao exata de como seu desenho saira na tela, basta obter urn papel quadriculado de 280 X 192 quadradinhos, com tamanho igual a tela de video, 0 que quase pode ser conseguido com uma folha de papel milimetrada normal, que possui um total de 280 X 190 quadradinhos,

modifiear, caso voce tenha cornetido algum erro na in. trocluc;8.o dos rnovimentos. Digite 0 (zero) se nao houver erro, 0 computador apresentara a tabela do desenho ja codificada em hexadecimal, com op~ao tamhem para decimal.

Observat;io importante
Cada byte da figura formado por dois vetores de movimentos, sendo que urn byte 00 (zero, zero) indica final de figura. Como 0 codigo dos movimentos para cima sem desenhar 0 (zero), niio podemos efetuar mais de um movimento sem desenho nesta direc;ao, sob pena do restante da figura ser ignorada pelo computador.

MONTANDO AS TABELAS DE FIGURAS


Tendo as figuras definidas, devemos codifiea-las para hexadecimal. Como esta uma parte mais complexa, o program a "CRIADOR DE FORMAS" faz isso por nos.

Carregue-o na memoria e informe ao cornputador todos os movimen tos (I = cima; M = baixo; K = direita e J esquerda ), iniciando em urn ponto qualquer, que sera tornado como eixo da figura.

Nas demais dire~oes, este problema nfio oeorre, logo tambem devemos estudar antecipadarnente 0 caminho a ser percorrido na formataeiio da figura, afim de nao zerarmos nenhum byte. Apcis obtermos as codifieaeoes psssamos para a etapa de montagem de todas as figuras, do diretorio.:

que 0 primeiro ponto [movimento) fornecido ao computador, sera 0 eixo da figura e, como existe no BASIC APPLESOFT a mstruciio ROT, que define rota~oes das figuras, a posieao inicial do desenho devera ser estudada com anteeedencia, caso haja a inteneao de obter efeitos visuais atraves de rotaeoes das figuras. Cada movimento

It sempre born lembrar

MONTANDO 0 DIRETORIO
diretorio, como 0 proprio nome diz. urn Indice que informa ao computador as posi~oes onde cada figura estara alocada. Fazendo analogia, podemos considerar 0 diretorio como sendo 0 indiee de urn livro onde, atraves de uma simples visualiza~ao, vamos direto a pagina de interesse. No nosso diret6rio, cada item informa~ respectivamente : a) POSiC;80 final de cada figura ret6rio ).

"5", caso 0 movimento


for apenas mente, 10
0

devera ser seguido da digita~ao de seja desenhado, ou "N" quando


sem desenho.
0

urn movimento

composto

de duas

Digitando-se "F'" quando


computador solicitara

for a dire~ao do movimimero dos vetores para

[ou do p.r6prio di-

11

b) Uma informa98o qualquer, que e desprezada pelo computador e que vamos deixar como um par de
zeros, Assim, como 0 indice de um livro eneontra-se no inieio do mesmo, nosso diretorio tambem anteeedera as codifica~s das figuras, sendo a primeira mformacao a ser passada ao computador.

Portanto, 8 bytes.

neste

easo, seu comprimento

sera

de

OBTENDO OS CODIGOS HEXADECIMAIS DO DIRETORIO Desc~ao Decimal 03 08 08+05=13 13+10=23 23+12=35 Hexade. cimal 03 08 OD

Como exemplo, vamos supor que serao elaboradas tres figuras, com as seguintes codifica90es obtidas do CRIADOR DE FORMAS. Figura +1 :2D F~a +2:2D Figura +3 :25 36 24 3F 36 PO 25 25 3C 3C 3F 3E 36 35 00 2C 25 3F 2C 2D 3C 3F 37 36 00

WW XX yy

ZZ
LL

Nlimero de Figuras Final do Diret6rio Final da Figura +1 Final da Figura +2 Final da Figura =If 3

17
23

Devemos medir 0 comprimento de cada ligura em bytes. Cada byte corresponde a um parzinho de earacteres da eodifieaeiio em hexadecimal. Portanto, teremos: Figura +1: Figura +2: Figura +3: diretdrio, entao, fieara YY 00 ZZ 00. WW XX 5 bytes. 10 bytes. 12 bytes. WW 00

Finalmente, suhstituindo os oodigoe hexadecimais, temos 0 diretorio mont ado da seguinte maneira: 03 00 08 00 OD 00 17 00 Note que a posi9io final da Ultima figura 000 faz parte do diretorio, isso porque 0 computador sabe onde ela terminara, tomando como posi9ao final, 0 primeiro byte nulo que encontrar na sua codificag80. OBS.: Vace podera obter os hexadecimais utilizando-se do programa BASES NUMERICAS ou atraves de tabelas de conversOes existentes em alguns livros. JOGANDO TUDO NA MEMORIA

aSS1ID:

xx

00

yy
ZZ

mimero total de figuras (hexadecimal) posi9io final do diretorio (hexadecimal) posi~io final da figura +1 (hexadecimal) posi~io final da figura .2 (hexadecimal)

primeira coisa a se penear, e a posi2io da memO. ria onde colocar nossa tabela. Na realidade, ela pcdera ficar em qualquer local disponivel, desde que nao entre em conflito com 0 n08SOprogram. em BASIC. Como exemplo, vamos coloca-le a partir da posi. 980 24576 (decimal) que corresponde a $6000 (hexa. decimal).

12

13

Acessar 0 monitor com CALL-lSI TK.2000)

(LM no caso do

Digital 0 endereeo inicial cia tabela em hexadecimal, seguido por dois pentos ( :) Entrar com as codifica!;Oes, iniciando pelo diret6rio, depois a Figura '*' 1, Figura *' 2, Figura '*' 3, em blocos de 8 bytes (opcional) sempre precedidos de dois pontos ( :). No n0880 exemplo teremos: ]CALL-151 6000 :03 :2D :3C :2C :36 (APPLE) 00 08 00 24 3F 36 3C 3F 3E 25 3F 2C 36 00 >LM (TK-2000) OD 00 17 00 00 2D 25 25 36 35 00 25 2D 3C 3F 37 <RETURN> <RETURN> <RETURN> <RETURN> <RETURN> <RETURN>

Devemos eoloear no programa duas instru~es "POKE" antes das instru!toes de desenho. Sao respeetivamente: POKE 232,0 e POKE 233,AAA onde AAA en. dereeo decimal da tabela de formas, dividido por 256. No nosso exemplo AAA AAA = 96 Se heuverresto 232, resto}, Digite ]10 ]20 ]30 ]40 ]50 ]60
0

24576/256

==

=>

na divis8.o, coloque-o em 232 (POKE

seguinte programa em BASIC:

Se desejar Iistar para verifica!;Oes, digite: 6000L <RETURN> Se desejar apenas ver os c6digos, digite: 6000.6030 <RETURN> Para deixar 0 monitor e retornar ao BASIC, tecle CTRL + C ou CTRL + B ao mesmo tempo e pressione < RETURN> . Para gravar a tahela de formas em disquete fa~a seguinte:
0

POKE 232,0 : POKE 233,96 HGR : HCOLOR= 3 : ROT SCALE == 1 DRAW 1 AT 30,90 DRAW 2 AT 110,90 DRAW 3 AT 200,90

BSAVE nome, A endere~o inieial em hexad., L comprimento em bytes. Portanto, como exemplo: BSAVE DESENHOS, A$6000, L35 PRONTO!!! Agora s6 resta elaborar um programa em BASIC para vermes 0 resultado do trahalho na tela. As figuras sao aeessadas por DRAW mimero da figura AT X, Y onde X e Y sio as coordenadas a partir das quais 0 computador efetuara os desenhos na tela, partindo sempre do eixo.

"RUNIZE" 0 programs e veja 0 resultado. Se tudo correu bern, surgira na tela urn quadradinho, uma bolinha e a letra F. Mude a Iinha 30 para SCALE = 5 e "RUNIZE" novamente. Voce vent que 0 bolinha nfio e exatamente 0 que parecia ser e que a Ietra F ficara melhor caracterizada. Experimente efetuar varia~oes nas rota90es e escalas, simultaneamente ou nao, que os efeitos conseguidos sao muito bonitos, principalmente quando trabalhamos com figuras simetrieas, com eixos centralizados. Se voce desejar, podera coloear as tabelas das figuras na memoria, diretamente do BASIC, bastando para isso, "POKEAR" todos os codigos (do diretorio e das figuras) em decimal, a partir de urn endereeo livre, tambem em decimal.

15

Este artificio e bastante interessante quando nao desejamos separar as tabelas do program a principal. Mios a obra! erie suas figuras usando de muita imagina!;ao que 0 result ado e compensador. 10 20 30 40 50 60 70 REM REM PROSRAMA REM *-CRIADOR DE FORMAS REM REM TEXT:: HOME ::A= I:H$ = "0123 456789ABCDEF"; INVERSE PR INT •• &c&e&c&&c8c&c8c&:&:&:&&&&&e&8c8c8c8c& &e8c8c&i8c&8c8c8c8c8c8c&8cIc&8cSc": PRINT II 8c&Sc =I=CIMA =J=ESQ. =K=DIR. =M=BAIXO Iclclc" VTAB 2: PRINT IISc CRIADOR DE F ORMAS TECLE 'F' AO FIM Sc": NORMAL POKE 34,3: VTAB 5 DIM B$(SOO),H$(500) REM =====---======== REM BS(I) == BINARIOS REM H$(I) HEXADEC. REM ================ VTAB 23: HTAB 1: PRINT "VETO R It;; A (I, J, K, M) : ( BET AS. PRINT A$,")"~ IF A$ = .. I. THEN B$(A) = 1100 I 0". BOTO 220 IF'A$ = "KIt THEN B$(A) 1100 SOTO 220 If"AS == "M" THEN B$(A) = "01 0": aOTO 220 If"A$ "J" THEN,B$(A) == 1101 1": aOTO 220 If"A$ = ·'F THEN 270

210 220 230

PRINT CHR$ (7): GOTO 150 VTAS 23: HTAB 28: PRINT "DES ENHO: (II;: GET A$: PRINT A$;
II)";

********************** * * *********************

IF A$ = "S" THEN B$CA) = "I" + RIGHT$ (B$(A),2) 240 IF NOT (A$ = "N" OR A$ = "S '1) THEN PRINT CHR$ (7)::SOTO 220 250 IF ALT ) 0 THEN RETURN 260 A = A + 1: PRINT:: PRINT:: GOTO
150

270 280

80 90 100 110 120 130 140 150 160 170 ISO 190 200

PRINT CHR$ (7): PRINT CHR$ (7): INPUT ItVETOR PI ALTERAR (O=NENHUM) ";ALT IF ALT ) 0 AND A > ALT THEN XX = A:A = ALT: PRINT: PRINT : GOSUB 150:A = XX: SOTO 270

It :

II ;:

REM =================== REM JUNTANDO OS VETORES REM =================== HOME: A = A -' 1: VTAS 3 PRINT "&c&8c TABELA DA FIGURA EM HEXADECIMAL 8cSc"" 340 Z = 1: FOR 1 = 1 TO A STEP 2 350 B$(Z) = "00" + 9SCI + 1) + BS (I):Z - Z + 1: NEXT 360 Z Z - 1: IF LEN (9$(Z» < B THEN 9$(Z) = 000 ••+ 9$(Z)

290 300 310 320 330

10

1-.

370

FOR I = 1 TO Z:A$ LEFT$ ( 9$(1),4): aosus 490:H$(I) = RIGHT$ (B$(I),4) A$fA$ BOSUS 490:H$(I) = H$(l) + A$ ~ PRINT H$(I);" , NEXT ~ PRINT "00": VTAB 22: HTAB 1: PRINT "DESEJA A TABELA EM 0 ECIMAL (SIN)? ".
II ••

380
390

IO

16

17

400 410 420

GET A$= IF"A$

== "s"

THEN 680

630

IF"A$ < > tlN" THEN 400 VTAS 22: HTAB 1: PRINT '·DESE JA TABELAR DUTRA F"IGURA (S/N )? II;:GET A$ 430 IF"A$ = "5" THEN RUN 440 IF"A$ < > I·N'· THEN 420 450 POKE 34,0: END 460 REM ====================== 470 REM DINARIO/HEXADECIMAL 480 REM ===""'=========.======== 490 IF"A$ = "0000" THEN A$ = "0·· I RETURN 500 IF'A$ = "0001'· THEN A$ = "III : RETURN 510 IF'A$ = ··0010" THEN A$ = "2" : RETURN 520 IF'A$ = "0011" THEN A$ = "3'· : RETURN 530 IF"A$ = "0100" THEN A$ = "4" : RETURN 540 IF"A$ = 1·0101'· THEN A$ = 11511 : RETURN 550 IF"A$ = "0110" THEN A$ = '·6·' : RETURN 560 IF"A$ == "0111·· THEN A$ == 117" : RETURN 570, IF"A$ = "1000" THEN A$ = IIS"I : RETURN 5S0 IF"A$ = 111001'· THEN A$ = "g" : RETURN 5'90 IF".$ = "1010" THEN A$ = "A" A I RETURN 600 IF'AS = "1011" THEN AS = "S" I RETURN 610 IF'A$ = "1100" THEN AS = "C" : RETURN 620 IF"A$ == "1101" THEN A$ = "0" : RETURN
18

IF"A$ == "1110" THEN AS : RETURN


1F A$

IIE"

640
650

= ••1111

THEN A$

= ..F"

660 670 6S0 690 700 710 720

: RETURN REM ======================= REM HEXADECIMAL/DECIMAL

REM

HOME : VTAB 3: PRINT 11&&&&& TABELA DA F"I6URA EM DECIMAL HOME : VTAB 5: FOR I == 1 TO I:D = 0 F'DR II = 1 TO 2: F'OR Z2 = 1 TO 16 IF" MID$ (H$(I),Il,l) = MID$ (H$,Z2,1) THEN D = 0 + (Z2 1) 16 (2 - ZI) NEXT: NEXT: PRINT D;",II;: NEXT : PRINT ··0·': BOTO 420
&Mklk&"

:====================

10 20 30 40 50

REM REM REM REM

****************~** * * PROGRAMA PARA

60

70 80 90

REM LET T$ LET H$ LET M$


1'1$( 1)

REM

*******************
::: "*%

MUDANCAS DE BASES NUMERICAS

* *

== "01234567": HOME II == "'0123456789ABCDEF


DECIMAL / HEXADECI HEXADECIMAL / DECI

100

110 M$(2) == MAL i' = 120 1'1$(3) o (4) = 130 1'1$


to

MAL

= ..

..

**"'

II

..
'0

DECIMAL / BINARI BINARIO / DECIMA

..

19

140

150

= 1'1$(6) .. =
",$(5)
II
II

DECIMAL OCTAL

/ OCTAL

160 1"1$(7)

" =
II

/ DECIMAL F'IH

II

rOR I 1 TO LEN (DC.):X$ HIO$ (OC$,I,l):X ASC (X$ ): IF X < 48 OR X > 57 THEN SOSUB 1030: SOTO 310 330 NEXT:D = VAL (DC.) 340 DX 0 / 16:X (0 - OX 16)

320

170 H$(8) = 180 190 200 210 220 230 240 250 260 270

II

FOR I

2+ 4: HTAB 8: PRINT 1'1$(1): NEXT

00

": ONERR

BOTO 11

1 TO 7: VTAB I

350 360 370 380 400 410 420

INVERSE : FOR I 1 TO 3: VTAB I: PRINT H$: VTAB I + 20: PRINT MS;: NEXT: NORHAL YTAB 2: HTAB 6: PRINT I'CONVE RSAO DE BASES NUMERICAS" VTAB 22: HTAB 6: PRINT "USE AS SETAS PARA SELECIONAR" INVERSE =A 6: YTAB A: HTAB 8: PRINT H$(A / 2 - 2) VTAB 22: HTAB 34: SET X$IX ASC (X$) IF'X 8 THEN SOSUB 10l0:A = A - 2: IF A 4 THEN A = 18 IF X 21 THEN SOSUB 1010:A A + 2: IF'A 20 THEN A

= =

= =

430 440 450 460 470 480 500 510

IF X = 8 OR X = 21 THEN 1020 IF X < > 13 THEN SOSUB 103 0: GOTO 230 YTAB 22= HTAB 6: PRINT "$(8) :D$ ON A / 2 - 2 GOTO 300,400,50 0,600,700,800,900

280
290 300 310

= ....

REI"I DEC/HEX GOSUB 1040: GOSUe 1050: YTAB 11 : INPUT .,NTRAR DEC IMAL ",; E DC.

****

****

+ 1:0 OX:D$ MID$ (H$,X ,1) + D$ IF OX < > 0 THEN 340 IF LEN (0$) = 1 OR LEN (0$ ) = 3 THEN 0$ = 110 + D$ VTAB 13: PRINT '"HEXADECIMAL. .: ";0.: GOTO 1060 VTAB 12: PRINT ·'HEXAOECH"IAL. .: ";0$: SOTO 1060 REM HEX/DEC SOSUB 1040: sosue 1050: VTAB 11: INPUT .IENTRAR HEXADECIMA L .. HC$ ; FOR I = 1 TO LEN (HC$):X. = MID$ (HC$,I,l):X ABC (X$ ): IF X < 48 OR X > 70 THEN SOSUB 1030: SOTO 410 IF X > 57 AND X < 65 THEN SOSUB 1030: SOTO 410 NEXT:D =0 FOR II 1 TO LEN (HC$): FOR l2 = 1 TO 16 IF 1'110$(HC$,ll,t) MID$ (H$,Z2,1) THEN D D + (Z2 1) 16 A ( LEN (He$) - Zl) NEXT: NEXT VTAB 13: PRINT "DECIMAL ••••• ••••• : ";0: GOTO 1060 REM DEC/BIN SOSUB 1040: SOSUB 1050: VTAB 11: INPUT nENTRAR DECIMAL II; DC$: IF DC$ =: "0" THEN BN$ =: "'0": GOTO 580
II

****

****
=

****

****

20

21

520

FOR I = 1 TO LEN (DC$):X$ = MID$ (DC$,I,t):X = ASC (X$ ): IF X < 48 OR X > 57 THEN GOSue 1030: 60TO 510 530 NEXT:D = VAL (DC$):BN = 32 768:BN$ = "":X = O:Y = D: IF D > &5535 THEN 1100 540 IF Y < BN THEN BN = BN / 2:B N$ = BN$ + "0": GOTO 540 550 X X + BN:BN BN / 2:BN$ BN$ + "1": IF X < D THEN Y = y-2 BN: 60TO 540 560 IF BN > 1 THEN BN = BN I 2:BN$ = BN$ + "0": GOTO 560 570 IF LEFTS (BN$,l) "0" THEN BN$ RIGHTS (BNS, LEN (B~$ )1): GOTO 570 580 VTAB 13: PRINT ..INARIO ••••• B .: "jBN$: GOTO lOGO 600 REM BIN/DEC 610 BOSUB 1046: GOSUB 1050: VTAB 11: INPUT "ENTRAR BINARIO "; BN$:L LEN (BN$):Z = 1 620 FOR I 1 TO L:XS = MID$ (B NS,I,l):X = ASC (XS): IF X < 48 OR X > 49 THEN GOSUB 103 0: BOTO 610 630 NEXT:D 0: FOR I = 1 TO L 640 IF MID$ (BNS,I,l) = "0" THEN 660 650 FOR J = 1 TO L - I:Z Z 2 : NEXT :D = D + 1:Z 1 660 NEXT: IF D = 0 THEN D 1

710

720

730 740 750 760 BOO 810 820

GOSUB 1040: Bosue 1050: VTAS 11: INPUT "ENTRAR DECIMAL "; DCS FOR I = 1 TO LEN (DC$):X$ = MID$ (DC$,I,l):X = ASC (X$ ): IF X < 48 OR X > 57 THEN GOSue 1030: GOTO 710 NEXT :0 = VAL (DCS) DX D / 8:X = (D - OX 8) + 1:0 = DX:D$ = MID$ (TS,X,I) + DS IF DX < > 0 THEN 740 VTAS 13:· PRINT ..CTAL .•••••• O .: ";0$: SOTO 1060 REM OCT/DEC GOSUB 1040: SOSUB 1050: VTAB 11: INPUT "ENTRAR OCTAL ";HC

****
=

****

****
= =

****

= =

665 670 700

RIGHTS (8Ns,1> = "0" AND L > 1 THEN D = D + 1 VTAB 13: PRINT "DECIMAL ••••. .: ";D - 1: 60TO 1060 REM DEC/OCT IF

****

****

FOR I 1 TO LEN (HC$):X$ = MIDS (HCS,I,l):X = ASC (X$ ): IF X < 48 OR X > 55 THEN Bosue 1030: BOTO 810 830 NEXT :D 0 FOR ZI 1 TO LEN (HCS): FOR 840 Z2 1 TO 16 IF MIDS (HCS,Zl,l) = MID$ 850 (T$,12,1) THEN 0 D + (Z2 1) 8 A ( LEN (HCS) - Zt) 860 NEXT : NEXT D 870 VTAB 13: PRINT ..ECIMAL •••• : ";0: GOTO 1060 900 REM FINAL 910 GOSUB 1040: GOSUB 1050 920 NORMAL : END 1000 REM SUBROTINAS 1010 NORMAL : VTAB A: HTAB 8: PRINT M$(A I 2 - 2): RETURN 1020 INVERSE : VTAS A: HTAB 8: PRINT M$(A / 2 - 2): GO TO 230

= =

****

****

****

****

22

23

1030

FOR 1 = 1 - 16336): 1040 INVERSE: MS(A { 2 8: PRINT

TO 15:P = PEEK ( NEXT: RETURN VTAB 6: HTAB 8: PRINT 2): NORMAL: RETURN I: HTAB RETURN

1050 1060

FOR I

8 TO 18: VTAB

MS(B): NEXT:

VTAB 22: HTAB 7: PRINT "< P RESSIONE QUALQUER TECLA )"j: GET XS 1 TO 10: PRINT 1070 VTAB 6: FOR I MS(B);: NEXT: GOTO 150 1100 REM ERROS 1110 NORMAL 1120 VTAB 13: PRINT IIESTOUROU I I ! !": GOSUB 1030: GOTO 1060

PROGRAMA

APPLETELAS

****

****

Com '~APPLETELAS" voce podera criar os mais variados tipos de telas, para as mais variadas aplicaedes, como por exemplo, a apresentaeiio de um programa de sua autoria, um timbre para papel de carta, e muito mais. E ~ llnagUnar. . . . Para a elaboracdo de telas, sao utilizados dois tipos de Ietras, previamente definidas em tabelas de formas, cuja eodifieaeao em hexadecimal (listagem), acompanha este artigo. Se voce dispde do programa ..APPLE MECHANIC", podera dispensar 0 trabalho de digita!i;iio destas tahelas, uma vez que os dois tipos de letras (grandes e pequenas) foram obtidas do program a referido. Neste caso, voce devera proceder aos seguintes passos para copiar as tabelas em urn novo disquete : a) BLOAD (com 0 b) BSAVE (com 0 c) BLOAD (com 0 d) BSAVE (com 0 ]SMALL STANDARD, A$6000 disk do APPLE). LETRAS P,A$6000,L$600 novo disk). ]WESTERN,A$7000 disk do APPLE). LETRAS G,A$7000,L$1020 novo disk).
25

24

Agora basta apenas digitar 0 programa "APPLETELAS" e usa-Io, Se voce nio possui 0 "APPLE MECHANIC", entio . devers digitar as duas tabelas e, em seguida, proeeder aos passos b) e d). deseritos acima, para salvar as tahelas digitadas no novo disk.

UTILIZANDO 0 APPLETELAS
programa, quanto a sua utilizar;ao, nio devera apresentar maiores dificuldades, uma vez que eselareeimentos acompanham 0 proprio programs em cada uma de suas fases de uso. Possui rotinas de gravar;ao, Ieitura, dele!Jio e 00pressao normal e invertida de telas. Possui os modos desenho e Ietras (grandes e pequenas ), podendo as cores de fundo, das letras e dos desenhos serem definidas pelo proprio usuario,

c) Finalize 0 programa e digite NEW. d) Entre com 0 programa abaixo e RUNize..o. ] 10 HGR : HGR2 : TEXT : HOME ]20 PRINT CHR$( 4 h"'BLOAD" TELA l,A$2000" ]30 PRINT CHR$( 4 )tBLOAD TELA 2,A$4000" ]40 POKE -16304,0 : POKE -16297,0 POKE -16300,0 ]50 FOR 1=1 TO 150 : NEXT ]60 POKE -16304,0 ~ POKE -16297,0 POKE -16299,0 ]70 FOR 1= 1 TO 150 : NEXT : GOTO 40 Se tudo correu bern, voce observars. as duas telas alternadamente, com um pequeno intervale de tempo entre as trocas (Iinhas 50 e 70)As instrur;oes da linha 40 fazem com que 0 computador mostre a pagina 1 de alta resolur;ao ($2000), onde foi carregada a TELA 1. As instrur;iies da linha 60 fazem com que 0 computador mostre a pagina 2 de alta resolur;ao ($4000), onde foi carregada a TELA 2. Diea 2~ tela sobrepondo tela Experimente elaborar duas telas distintas, agora

DICAS DE UTILIZACAO
Para que voce possa tirar 0 maximo proveito deste aplicativo, aqui vao algumas dicas complementares, Iembrando que a sua Imaginaeiio e a melhor de todas. Diea 1: tela com detalhes piscantes

Vore podera obter efeitos muito bonitos, procedendo da seguinte maneira: a) Crie uma tela qualquer e salve-a com 0 nome de TELA 1. b) Acrescente alguns detalhes nest a mesma tela e salve-a com 0 nome de TELA 2.
26

com os nomes de TELA A e TELA B. Digite os seguintes comandos no modo direto : ]HGR ]BLOAD TELA A ]BLOAD TELA B . A primeira tela sera desenhada no VIdeo ao mesmo tempo que

carregada do disk.

27

A segunda tela meira.

ira

lentamente sobrepondo a pri-

DEFINICAO DAS LlNHAS DO PROGRAMA ------

Linhas Linhas Linhas Linhas Linhas Linhas Linhas ldnhas Linhas

60 a 100 a 220 a 252 a 300 a 400 a 500 a 600 a 700 a

80 210 280 254 330 450 520 620 740

Carregam as tahelas das letras na memoria. Desenham tela.


~8. 0

menu iinieo na

Efetuam a sele~o das funImprimem as telas (normal e invertido). Selecionam a cor de fundo. Selecionam
0

10 20 30 40 50 60 70
80

REM REM REM

REM HGR: TEXT ::HOME ::VTAB 3: HTAB 6: PRINT "CARREGANDO TABELAS DE LETRAS";D$::: CHRS (4) PRINT D$;ltBLOADLETRAS P,A$60 PRINT D$;ItBLOADLETRAS G,AS70
00"
ii II

REM

*A

************************ * PRO G RAM A ***********************


P P LET E LAS

tipo de 'Ietra.

00"

Seleeionam a cor dos desenhos. Selecionam a rota~ao das Ietras. Definem as variaveis de posi~Oes.

Linhas 1000 a 1140 Linhas 2000 a 2610


Linhas 2700 a 2800

Efetuam desenhos no video. Desenham as letras no vi, deo. Apagam Ietras e cursor do video. Rotinas de opera~0e8com Disk-Drive. Finaliza~io do programa.
0

90 MENUS"::: 123456CSLATF":CF ::: : 0 L$ == p••: HCOLOR= CF::HPLOT 0,0: CALL 62454: GOSUB 700 100 CQ = 31CL = 3: FOR Z == 1 TO 4 0: ONERR BOTO 250 110 VTAB 1: HTAB Z: PRINT CHR$ (127) 120 VTAB 3: HTAB Z: PRINT CHR$ (127) 130 VTAB 20::HTAB Z: PRINT CHR$
135 140 150

-28

Linhas 3000 a 3450 Linhas 3500 a 3530

160

VTAB 18: HTAB ZI PRINT CHR$ (127) NEXT: FOR Z == 2 TO 19 HTAB 1: VTAB Z: PRINT CHRS (127) HTAB 40: VTAB Z: PRINT CHRS (127); NEXT
29

(127)

170

180

190

200

205 210 220 230 240 250

VTAB 2: HTAB 12: INVERSE: PRINT APPLETELAS II:VT AB 4 : HTAB 12: PRINT MENU DE E SCOLHAS ": NORMAL VTAB 6: HTAB 3: PRINT "MODO DESENHO •• (I) CATALOG DISK •• (C) II:VTAB B: HTAB 3: PRINT "MODO LETRAS ••• (2) SALVAR T ELA ..... (S)II VTAB 10: HTAB 3: PRINT "CDR DE ~UNDD •• (3) CHAMAR TELA •• .(L)": VTAB 12: HTAB 3: PRINT "COR DE LETRA •• (4) APABAR T ELA ••• (A)II VTAB 14: HTAB 3; PRINT "CDR DESENHOS •• (S) TROCAR NOME •• .(T)"; VTAB 16: HTAB 3: PRINT "DEF'.ROTACOES •• (6) FINAL PR 06R ••• (~)1I VTAB 19: HTAB 3: PRINT I, U1PR ESSAD DE TELAS: CTRL+P au CT RL+I" POKE 232,0: POKE 233,96: POKE 34,20: SCALE= 1 REM --------------------REM - SELECAO PELO MENU II

**

**
iI

270 280 300 310 320 330 400 410 42g 430 440 450 460 500
510

PRINT CHR$ (1) ON I GO TO 1000,2000,300,400, 500,600,3000,3100,3200,3300, 3400,3500 VTAB 22: INPUT "COR DE FUNDO (0-7) ? H;C~ I~. CF < 0 OR C~ > 7 THEN 300 HCOLOR= CF: HPLOT 0,0 CALL 62454: GOTO 250 VTAB 22: INPUT "COR DE LETRA (0-7) ? II; CL IF CL < 0 OR C~ > 7 THEN 400

") THEN 420 IF L$ = liP" THEN POKE 232,0 : POKE 233,96 IF L$ == "G" THEN POKE 232,0 : POKE 233,112 GOSUB 700: GOTO 250 VTAB 22: INPUT nCaR DESENHOS (0-7) ? u;CQ IF CQ < 0 OR CQ > 7 THEN 500

A (P-S)? ";LS I~ NOT (LS = up" OR L$

VTA9 23: INPUT I'TIPO DE LETR

"8

REM

252 2~4

TEXT: POKE 34,20: HOME: VTAB 3: HTAB 20: BET X$: ~OR·I = 1 TO 12: I~ X$ MID$ (MENU $,1,1) THEN 270 IF ASC (X$) 16 THEN PR. 1: PRINT CHRS (9);"S": PR. 0: SOTO 250 IF ASC (XS) = 9 THEN PRtt 1

---------------------

520 600 610 620 700 710

260

: PRINT CHRS (9); ·'SI": PR. 0: GOTO 250 NEXT: FOR I = 1 TO 15:P PEEK ( - 16336): NEXT: SOTO 250

SOTO 250 VTAB 22: INPUT "ROTACAO LETR AS (0 ou 48)? ";RT IF NOT (RT = 0 OR RT 48) THEN 600 BOSUB 700: BOTO 250 IF RT = 0 AND L$ = ··P·· THEN PX = 7:PY = O:Xl = O:Yl 8: X2 = 5:Y2 = 8:XD = S:YS = 0 IF RT == 48 AND L$ == I.p" THEN PX == o:PY == - 7:Xl == 8:Yl = O:X2 = 8:Y2 S:XD O:YS == 5

=-

30

31

720

IF RT =: 0 AND l$ "6" THEN PX = 12:PV O:Xl O:Yl = 1 S:X2 = 10:Y2 15:XD 10:YS

730

740 1000
1010 1020 1030

IF"RT 48 AND L$ == flG THEN PX O:PV = - 12:Xl = 15:Yl 0:X2 = IS:Y2 10:XD == O:YS =- 10 ROT= RT: RETURN

=-

II

=-

REM - DESENHAR lETRAS REM ------------------POKE - 16304,0: POKE - 16 297,0: POKE - 16300,0 2040 IF RT 0 THEN X O:Y = 0 2050 IF RT = 48 THEN X = O:V = 1 2010 2020 2030

2060

REM

REM

- MODO DESENHO ----------------

--------.--------

POKE - Ib304,O~ POKE - 16 297,0: POKE - 16300,0 1040 VTAB 21: PRINT U(A)PAGANDO (D) ESENHANDO (ESCl MEN UrI] CIMA [J] ESQ. [K] DI

REM

2070 2080 2090 2100 2110

1050 1060

x=
X$

R.

=";Y;"
IF X$

O:Y = 0: HCOlOR= CQ VTAB 24: HTAB 14: PRINT "X= fI;X;" Ii;: HTAB 21r PRINT fly
Ii;:

[M]

BAI XO";

VTAB 22: PRINT "CTRL+[ IlSUS [J1ESQa [K1DIRe [M]DESCE R(A1PAGAR TECLE PI ESCREVER [ESC1=MENU"; HCOLOR= CL: HPLOT X + Xl,y + VI TO X + X2,Y + Y2 VTAB 1: HTAB 1: GF-T X$:A ~ ASC (X$) IF A 27 THEN SOSUB 2800: BOTO 250 IF A = 9 THEN BOSUB 2800:Y

59

IR

VTAB 1: HTAB 1: GET


AND X AND X

IF A 13 THEN Y Y+1 2120 IF A = 10 THEN

Y-1

=
=

60SUS 2800: BOSUB 2800: BOSUS 2800:

1070 lOBO 1090 1100 1110 1120

= 11K" X=X+1 IF"X$ = x = X-I IF X$ = III" Y=Y-1 IF" X$ = '"M'l Y=Y+1


IIJII

<
> <

279 THEN a THEN

2130 2140 2150 2160 2170 2200 2210 2220

X X

IF A =: 11 THEN

X-I

AND Y > 0 THEN AND Y 159 THEN

F
Q

IF"X$ = "'A" THEN


:or

HCOLOR= C HCOlOR= C

IF X$ IF

110

11

THEN

1130 1140 2000

27 THEN 250 HPlOT X,Y: GOTO 1060 REM -------------------

ASC (X$)

BOSUS 2800:X V + PV IF A 21 THEN BOSUS 2800: X X + PX:Y = Y - PY IF A = 1 THEN 2700 IF A < 32 THEN 2500 BOSUB 2BOO: BOSUS 2600: HCOlOR= CL: DRAW A - 31 AT X,Y:X = X + PX:Y Y + PY IF RT 0 AND X + X2 > 279 THEN X O:Y = Y + PX + 2: IF L$ = "Gil THEN Y = +2 IF RT = 0 AND Y > 159 - VI THEN Y == 0

IF A

X+1

X - PX:Y

= =

8 THEN

= =

32

33

IF RT = 48 AND V + V2 < 0 THEN = 159:X = X - PY + 2: IF L $ = liS" THEN X = X + 2 2240 IF RT = 48 AND X > 279 - Xl THEN X = 0 2300 GOTO 2070 2500 IF X + X2 > 279 THEN X = 27 2230
V

2510
2520

IF Y + V1 > 159 THEN V 9 - V1 2530 IF X + Xl < 0 THEN X =


2540 2600
1

9 - X2 IF V + V2 < 0 THEN Y

15

-X

RETURN VTAB 21:: HTAB B: INVERSE: PRINT TECLE A .LETRA A APASAR ";:: NORMAL:: GET AS:A = ASC (A $): IF A < 32 THEN 2700 2710 VTAB 21: HTAB 8: PRINT GOSUB 2600: HCDLOR= CF: DRAW A - 3 1 AT x,V: GOTO 2070 2800 HCOLOR= CF: HPLOT X + Xl,y + V1 TO X + X2,V + V2: RETURN
2700
II II II:

2610

2070

GOTO 2070 IF X < 0 OR X > 279 OR Y < o OR Y > 159 THEN POP:: SOTD

BET X.: GOTO 250 VTAS'22: INPUT "SALVAR:[RTl ANULA.NOME:II;N$ 3110 IF LEN eNS) = 0 THEN 250 3120 PRINT D. + IiBSAVEn + NS + .A$2000.L$2000" 3130 BOTO 250 3200 VTAB 22: INPUT .1 CHAMAR::[RT] ANULA.NOME:fI;NS 3210 IF .LEN eNS) = 0 THEN 250 3220 PRINT DS + IIBLOAD + N$ 3230 GOTO 250 3300 VTAB 22: INPUT "APASAR:[RTl ANULA.NOP1E:";N$ IF LEN (N$) = 0 THEN 250 3310 3320 PRINT D$ + "DELETE" + N$ 3330 SOTO 250 3400 VTAB 22: INPUT IINOVO NOI'1E: [RTlANlLA R,N$ 3410 IF LEN (N$) - 0 THEN 250 3420· VTAB 23: INPUT .1 VELHO NOME: [RT1ANlLA 3430 IF LEN ev.) = 0 THEN 250 3440 PRINT + !lRENAt1E"+ VS + + N$. 34~O acTO 2:50 3500 VTAB 22: HTAS 10: FLASH ::PRINT CONf" UtE: FII'1 (SIN) ?tt;: NORMAL
3060 3100
II II

n.

"'v.

",

II

II

3000 3010 3020 3030 3040

POKE 44452,5: POKE 44605,2 VTAB 24: PRINT DS + "'CATALO 6 3050 PR INT .1< PRESS IONE QUALQUER
t1

REM REM REM

-------~------ DISK-DRIVE --------------

3510 3520 3530

BET XS:: If" X$ = "'N"' THEN 25

TEXT:

IF X$

<

n5" THEN 3500 HOI'1E END ::


1

>

TECLA)" ;

35

******************** ******************* *6000. 65F7 6000600860106018602060286030603860406048605060586060606860706078608060886090609860AO60A8608060B860CO60C86000600860EO60E860FO60F8610064 E8 29 53 74 A8 E2 15 4F 91 CB 00 3B 70 B8 F2


2B

=*

LETRAS

PEQUENAS

01 00 01 01 01 01 01 02 02 02
02

DO F9 2F 5£ 7F
BS

36 62 58 90 80 BB C7 EB F9 20 05 2£ 53 05 62 BC 05 '96 S1 05 C9 CE 05 22 09 89 92 00 36 36 00 FE 6E 69 FE 17 .20 20 IE 3E 09 80 oe: 00 1E

03 03 03 03 03 04 04 04 04 04

ED 1C 5A 9F 09 OF 4C 80 CA
00

00 01 01 01 01 01 02 02 02 02 03 03 03 03 04 04 04 04 04 04 05 05 05 05 01 92 16 96 20 1F 3F 3F

00 09 00 EO 00

OA 39 65 91 C2 FE 30 6E AE EB 17
5A

01 01 01 01 01
01.

97 DA 08 3C 04 73 04 AS 04 DO 04 07 05 38 05 6F 05 90 05 C9 05 00 00 00 00 4E 00 52 01 20 1E 6E 4E BF 00 77 71

02 02 02 02 03 03 03 03 04

1A 01 42 01 6E 01 9A 01 01 01 OF 02 3B 02 80 02 BD 02 F5 02 29 03 6e 03 A8 03 E6 03 16 04 4A 04 82 04
82 04

6108-' 00 6110- 17 6118- 00 6120- 00 6128-- 20 6130- lE 6138- 35 6140- 00 6148- lE 6150- 09 6158- 31 6160- F6 6168- B7 6170- 4E 6178- 17 6180- AD 6188- 40 6190- 6D 61'38- 00 6IAO- BF' E.1AB- 20

OF 15 46 7F A6 C9 00 92 00

04· 05
05

05 05 05
00
OA

00 00 3E 1F 17 01 00 15 3F 49 00

6D 60 11 DF 77 09 lE 40 3A OF 4E 29 4E 00 2D A9 IF 6E 1E 17 OD 1E OF OE 60 4E 00 00 36 96 ...J":" 01 00 00 09 17 36 15 OE 4E 00 00 15 OE 36 1E 17 4E 09 35 09 80 1F IF OE 2D 17 20 15 1F IF 4E 4E 6E 00 FF 8'::' 3A 3F 77 .::. 49 00 00 92 sz 8A 56 00 37 ""'? 89 3F 40 00 52 4'301 00 00 '32 92 00 00 00 49 11 17 1E 1E 56 49 09 00 35 29 DF 33 40 35 IF 1F 2E FE 1B OE 2D 4E 01 00 31 77 36 BE 2D 4E 00 00 29 AD OF 73 49 lE 1E 2E 2D 75 01 00 DF 2D BE 3E 4E FE lB OE 6180- L~D 4E ()1 00 3E 4'3 3E 17 61B8- 00 FE 3~3 2D 2D IE 76 0'3 s iuo- 00 ..... ~' ::m 20 DE lB 2E 20 61 C8-- 15 36 DF 73 2D 4E 01 00 61DO- 11 0'3 :2D DE BB 40 3A 3F 61D8-- ErE (1'3 FE 1B OE 20 4E 01 61EO- 00 2E 20 2D BE 1E 17 3E. E.1E8- 4E 49 00 00 2'3 29 AD DF 61FO- 33 40 F1 3F 17 4D 31 OF 61F8- 73 20 4E 01 00 2E 29 AD 6200- OF 33 40 31 3F 77 09 1E 6208- OF 2A 75 49 00 00 52 12 6210- 16 96 09 00 3E 52 92 F6 6218- 40 00 00 B7 49 3E 17 2D 6220- 20 35 3F 3F 3F OE 2D 20 6228- F5 1B 77 4E 49 00 00 09 6230- 12 20 20 OE 9B 20 20 '36 6238- 0'3 00 2A 49 15 FF 13 2D
C"'-i ;::J~ ~t;:"

36

37

6240- 20 AD 6248- lE 37 6250- AO OF 6258- 00 09 6260- FF 2A 6268- 20 IE 6270- iF 17 6278- FE 1B 6280- 2D AD 6288- 40 31 6290- 4A 29 6298- OF 73 62AO- AD DF 62A8- 17 20 62BO- DE 1B 6288- 20 4E 62CO- 18 6E 62C8- 01 00 6200- 40 35 6208- 4A 4D 62EO-' 3F" 6E 62E8- 00 00 62FO- 20 4E 62F8- 36 OF 6300- 40 F1 6308- OF 6E 6310- 36 36 6318- 31 FF 6320- 09 FE 6328- 49 40 6330- 1F 6E 6338- 00 00 6340- 31 OF 6348- 4E 01 6350- 40 Fl 6358- 00 09 6360- OF 33 6368- 4E 00 6370- 4D Fl

3F 4E 73 09 2D 4D
40

6E DF DF AD 20 6E 75 6E 00 11 49 OF 31 09 09 00 73

3F 49 09 20 2D 09 31 09 33 33 OF
4E

37 AD ~D 33 1B 1E 09 4E DF 6E 1E 09 4E 00 2D 75 01 37 00 00
1B 6E 09

31 09 11 00 3F 29 73 OF FE 20 00 20

3F 00 1E 3E F5 00 DF 4E 40 20 33 01 OF 00 3F
4A

2E 00 B6 37 3F IF 33 00 Fl 75 36
00

20 09 4E 2D 3F 09 2D 00 3F 09 40
09

31 OF 33 29 FE 18 09 29 AD 33 40 31 00 09 20 3F 37 36 29 AD OF 00 00 1E 00 09 20 3F 37 00

6E 31 4A 20 37 36 2D 20 36 4E OF 33 75 01 40 31 6E 09 36 36 49 31 01 00 37 00 00 09 00 00 FE IF 4E 00 60 31 5E 09 OF 33 DF 73 AD OF 4E 49 33 4D DF OE AO OF 15 OF

2D 29 09 3E OE 15 20 09 37 00 11 20 OF 20 20 DE 49 36 00 3F 4E 17 36 09 15 36 4D 6E
00

6378638063886390-

1F 4E 40 20 33 01 31
60

33 6E

09 4E 00 00 09 29 AD OF 33 4D 3A 77 09 FE 18 OE 20 4E 01 00 09 2D 20 DE 36 36 76 49 00 00 40 40 6398- 31 DF 33 4D 31 OF 33 4D 63AO- 31 OF 73 2D 4E 01 00 09 63AS- 40 31 OF 33 40 31 OF 33 6380- 40 Fl IF OE 4E 09 00 49 6388- 4D 31 DF 33 40 31 iF IF 63CO- 6E OD 3E 1F 37 40 ZI 01 63C8- 00 92 40 31 DF 73 00 1E 63DO- 17 OD 15 DF 33 4D 71 01 6308- 00 4A 40 31 OF 73 00 IE 63EO- 36 76 49 00 00 2D 2D 2D 63E8- BE IE 17 1E 2E 2D 75 01 63FO- 00 4A 20 2D DE 3B 2E 3E 63FB- 2E 3E 2E 2D 75 01 00 35 6400- 72 15 OE 15 56 01 00 77 6408- 2D 2D 3E 2E 3E 2E 3E OF 6410- 2A 20 75 01 00 37 49 15 641B- 3F 17 20 2D 15 3F 3F 3F 6420- 4E 20 3E 37 2D 3E SF 49 6428- 01 00 09 92 92 49 11 3f 6430- 3F 40 49 00 00 09 76 96 6438- 52 01 00 00 522D 35 DF 6440- 33 4D 31 FF 73 60 4E 00 6448- 00 35 36 20 AD DF 33 4D 6450- 31 OF 33 20 75 09 00 50 6458- 52 2D DE 33 76 2D 4E 00 6460- 00 00 49 31 DF 2A 2D FE 6468- 18 6E 09 FE IB OE 2D 75 6470- 01 00 3F 52 20 15 DF.33 6478- 2D 20 OE lB OE 2D 75 01 6480- 00 DF 09 F5 33 8D 3F 77 6488- 36 4E 09 00 11 52 2D 35 6490- OF 33 40 31 3F 77 09 IE 6498- 3F 4D 09 00 3E 36 20 AD 64AO- DF 33 40 31 DF 33 4D 71 64A8- 01 00 29 16 36 36 4E 00

38

39

64BO64B864CO64C86400EA0864EO64E864FO64F86500--

6508651065186520- 52 2D 6528- 13 20 6530- 20 F5 6538- 1'-:0 .:.. 40 6540- 73 60 6548- 31 OF 6550- 09 00 6558- OD 00 6560- 00 OF 6568- 1F 17 6570- 4D 31 6578- 09 1E 6580- 20 2D 6588-' 4E 00 6590- OE 76 6598- 36 6E 65AO- FE 2A 65A8- 1F IF 6580- 20 2D 65B8- 20 35 65CO- 3F 3F 65C8- 40 40 6500- 00 00 6508- 00 DB 65EO- 3F 1F 65E8- OF OB 65FO- 1F 3F
40

00 00 09 9E 35 36 FE. E.F 09 00 29 36 4D 1E 1F 2E 15 1F 6E 71 01 00 29 35 36 36 17 2D 4E 00 00 35 12 2D AD 1F 1F 5E 00 FE 1F 6E 00 4E 00 00 09 1.., .:.. 2D 15 OF 6E 31 OF 6E 71 01 00 :2'3 • ..J ..... 20 15 OF 33 40 31 OF 73 20 4E 01 00 FF 1''') AO DF 33 40 Fl ..... 20 3F 37 6E 49 01 00 FF 20 35 DF 33 40 31 3F 77 09 6E 00 00 35 1'-' 00 AD ..::. DF 37 36 4E 49 01 00 2';1

****************** BRANDES =* LETRAS *******************


*7000.801F 7000700870107018702070287030703870407048705070587060706870707078708070887090709870AO70A870BO70B870CO70C87000700870EO70E870FO70F8710064 FB BE IE 65 1f FO B8 22 08 94 51 34
17

....

"')

C'·-I -...I":;"

02 00 01 02 02 03 03 04

F5 DB OE 2D 75 09 00 2D 33 76 75 01 31 OF 33 40 4E 00 00 OB 33 40 F1 1F 35 1"'- 4D 31 FE 1F OE OD 12 40 F1 1F 4D 71 01 00 OF 33 4D 31 3F 4D 09 00 1E 17 1E 17 00 29 0'3 F5 75 01 00 15 00 00 00 AD 4E 09 00 3E 4E B1 92 49 20 35 3F 3F 3F 3F 37 20 37 2D 20 75 CO 40 43 00
.")c

1~) OF 31 1'7 00 3F 31 FF 1'';'' 4D OE 4E DF 33 4E 01 OE 15 20 12 3F 77 2E 12 2D 2D 33 1E 36 36 AE 17 69 11 00 00 37 20 2D 35 01 00

-.

19 00 00 00 00 00 00 00

1B 3F 2E 2D 00 AD 3F 4E 09 2D 35 3F 2A 6D 09 2D 3E 3F 77 20 OD 2D FT FF

02 AO 15 95 42 05 79 16 AC 61 C6 10 49 00 37 6D 3E 01 37

DO 00 09 00 E9 30 01 59 01 89 CF 01 E1 01 F3 3A 02 4A 02 58 7A 02 B9 02 E4 57 03 84 03 BE 28 04 68 04 A7 CA 04 EA 04 03 05 4A 05 68 05 99 05 03 06 3A 06 6C 06 CA 06 OC 07 2C 07 SA 07 AB 07 F2 08 6E 08 9E 08 09 09 49 09 6F 09 A3 0'3 15 OA 49 OA 73 OA CA OA DB OA F6 OB 29 09 39 OB 63 OB BC 09 Fl OB 1D OC 76 OC A6 OC BD OC FE OC 15 OD 4C OD AS OD 01 00 F9 OE 3E OE 5D OE 89 OE DE OE 09 OF 3A OF 7A OF 8D OF A5 OF 07 10 07 10 07 10 13 00 00 00 00 89 92 92 92 92 12 35 37 35 37 35 37 35 97 2A 3E 56 01 60 29 3E DF 37 6D OF B7 92 92 92 4A 00 09 09 60 29 3E 60 29 3E DF FF 2A

00 01 01 02 02

03 04

05 05 06 07 07 08 09 OA

OA

09 OC OC 00 OD OE OF OF 10 00 00 35 00 29 49 DF 2D

41

7108- 20 20 20 3E 3F 3F 3F 3t 7110- 4E 60 29 3E OF FF 2A 20 7118- 20 20 20 3E 3F' 3F" 3F" 3F 7120- 4E 60 29 3E OF" 37 6D 29 7128:'" 3E OF B7 49 49 09 00 49 7130- 49 35 FF 2A 20 2D 35 3F" 7138- 3F 3F 37 60 35 FF 37 20 7140- 20 20 15 3F" 3F 3F" 4E 60 7148- 35 FF FF 13 20 20 20 F5 7150- 3F 3F 3F 4E 29 3E 56 49 7158- 01 00 29 29 60 09 35 FT 7160- 3B 3F 37 60 60 35 FF 3F' 7168- 3F OE 20 00 35 BF 35 BF 7170- 60 89 3F" 1F BF 60 20 20 7178- 3E IF FT BF 60 29 20 F'5 7180- 3F OF 3B 56 49 49 09 00 7188- 09 09 20 AD 3F 3F" 37 20 7190- 20 35 F"F 3B 2E 00 20 1E 7198- 3t 37 20 3E 3F 17 20 00 711.0- 60 29 1E 3F FF 19 37 60 71A8- 09 20 80 3F' 3F 3F" 3F 37 71BO- 20 2D 60 20 3E OF 3B 3F 71B8- 56 49 49 09 00 15 29 15 71CO- 3F 37 20 35 3F' 2E 1E B7 71C8- 92 92 52 49 00 00 09 09 7100- F'5 SF" 35 37 35 37 35 37 35'77 AD El7 09 00 7108- 35~7 71EO- AD AD 77 35 37 35 37 35 71E8- 37 35 37 35 BF F5 B7 49 71FO- 01 00 52 52 49 11 FF 98 71F8- GO 29 40 F5 FF FF 77 20 7200- 20 F5 3F FF 13 2D 20 20 7208- 20 F5 1B 3F BF 20 2D AD 7210- FF FF" BF 60 29 4D F5 DB 7218- B7 49 49 00 00 92 92 4A 7220- 09 35 37 35 FF 98 2D 2D 7228- 20 2D 35 3F 3F 3F 3F' 77 7230- 49 35 37 35 87 49 49 03 7238- 00 OA 92 92 92 OA AD 3F

7240- 37 20 7248- 00 92 7250- 3F 87 7258- 92 92 7260- 97 49 7268- SF 35 1270- SF 35 7278- 00 09 7280- 3F BF 7288- F"F OB 7290- FF 1B 7298- 38 OF 72AO- 18 FF 72A8- 3F- 3F 72BO- F5 3F 72B8- 35 49 72CO- 20 3E 72C8- 2E 35 7200- 11 3F 7208- 20 35 72EO- 4'3 09 72E8- 3F 3F 72FO- 35 3F 72F8- 3E FF 7300- 3F 3F '7308- 09 35 7310- 2D 2D 73113- B7 49

3F 92 4A 4A 00 35 35 20 20 60 60 60 20 3F 3F 87 29 35 3F 3F 3F 2E 3F" 3F 3F 3F 00 AD 3F BF DF DB DB 2A 17 20 3F 3F 2D 35 49 49 7320- 2D :?D AD 3F 7328-- 20 20 20 35 7:330-' 4'3 4'3 2'3 3E 7338- 35 3F 3F 77 7340- DB 9B 6D 49 7348-- 3F 3F 77 20 7350- 3F B7 49 49 7358- 0'3 2D 3E 3F 7360- 1F 3F 17 2D 7368- 3F 2E 4D 09 7370- 3F 3F 2E 2D 35 92 92 92 00 BF BF 09 20 37 37 37 37 3F

2E IE 6F" 09 12 20 20 3E 49 00 00 92 3A 37 20 3E . 49 49 49 35 BF 35 SF 35 B7 49 49 09 2D AD 3F 3F 20 20 35 3F 09 60 35 FF 29 40 35 FF 60 09 35 F"F" 60 09 20 3E OE 20 20 20 4'~ 49 09 00 3F FF 2A 2D 4E 29 35 3F 35 3F 2E 6D 3F 2E 20 20 3F 3F' 56 49 09 20 20 AD 20 20 20 2D 77 49 49 2'3 20 20 FS 3F 1E 37 60 49 3F 3F 37 20 3F' 3F' 3F' 3F 01 00 40 09 3F 3F BF 20 3F OF DB 77 FF 98 20 2D 49 2D 3E OF 29 35 3F 3F 20 2D F5 3F 09 00 4'3 4'3 17 20 2D 3E 4D 35 FF 18 6D 3A 3F 3F 2D 2D 2D DE

42

43

AD 3F 37 2D 35 3F B7 00 2D '20 20 2D 2D 3F 3F 3F 3F 37 2D 2D 20 F5 DB DB 3B 2E 40 3A 3F 3F 3F 2E 20 20 7:3AO- :2D AD 3F OE 35 FF DB DS 73A8- 2A 4D 49 2D 3E 3F 3F 3F 73BO-, 3F OE 2D 20 2D F5 3F 3F 73B8- B? 49 49 09 00 BF 0'3 20 73CO- 2D AD 3F 3F 3F SF 20 20 73C8- 2D 2D ':''''' FF DB 3B 37 60 ,.J..J 7300- 4'3 11 3F 3F IF 37 20 20 73D8- 2D 2D 15 3F OF IB 3F 2E 7:3£0- 4D 4'3 29 3E DF DB 3B 2£ 73E8- 60 49 20 3E 3F' 3F' 3F' 3F' 73F'O- OE 2D 20 20 F5 3F 3F B7 73F8- 49 49 09 00 3F 20 20 20 7400- 20 35 3F' 3F 3F '3F 37 20 7408- 20 20 20 35 3F DF 08 77 7410- 49 09 20 IE 3F 17 20 1E 7418- 3F 2E 3E 2E 15 3F 37 20 7420- 35 3F B7 49 49 09 00 20 7428- 09 20 2D AO 3F 3F 3F BF 7430 .... 20 20 20 35 3F OF 1B 20 7438- 3F 2E 40 49 29 3E FF OB 7440- 3F OE 2D 20 2D 35 3F 3F 7448- 3F BF 20 40 09 20 3E OF' 7450- OB 38 2E 60 49 20 3E 3F 7458- 3F 3F 3F OE 20 20 20 F5 7460- 3F 3F 87 49 49 09 00 20 7468- 09 20 20 AO 3F 3F' 3F 8F 7470- 2D 20 2D 20 35 3F OF 1B 7478- 3F 2E 4D 49 29 3E OF DB 7480- 3B 2E 60 49 20 3E 3F 3F 7488- 3F 77 20 2D OD 35 FF OB 7490- DB 2A 40 49 20 3E 3F 3F 7498- 3F 3F OE 20 20 20 F5 3F 74AO- 3F B7 49 49 09 00 3A 92 74AB- 4A 3A 37 20 3E 87 4A 3A
0'3

7378- 37 '7380- 49 7388- 35 7390- 20 7398- 49

74BO74B874CO74C87400740874EO74E874FO74F87500750875107518752075287530753875407548755075587560756875707578758075887590759875AO75A8758075B875CO75C875DO-

37 92 3A 00 40 20 OE 00 3F 3£ 00 20 20 4E

20 4A 37 92 89 20 20 92 3F 3F 00 15 20 17 3F F5 20 3F 3F OE 20 20 2E 35 FF 38 FF 00 3F FF DB 37 60 2E B7

3F 1B 20 37 00 35 3F OE
4'3 4'3

49 00 09

3B

35 FF 3F 00 3F 3E FF 08 37 3F 3F

B7 3F 92 3F 2D IE 20 1E 09 2D 20 20 2E 40 3F 37 35 3F 92 4A 2E 60 20 20 IE 56 35 3F 40 AD F'F OB OB 37 3F 2E 38 3F 00 20 3F 2E OB 37 37 20 60 49 49 20 20 20 49 49

3E 3A 20 92 3F 2D 3E 92 3F 3F 92 3F

B7 37 3E 4A 3F 35 OE
92

49 20 77 09 3F 3F 96 2D 2A 95 4A 3F 3F 37 20 20 49 35 B7 29 11 20 49 37 3F 37 50 20 56 20 20 60 2D 29 3E 20 49

00 3E F5 3E 3F 3F 49 20 20 4A 49 3F 3F 96 15 20 35 77 49 35 3F 1E 01 20 OF 20 49 40 49 20 20 49 20 3E 3F F5 01

00 B7 GF 17 17 3F 49
2D

92

4A 01 20 20 3F
00

35 20 2D 4'3 49 15 37 2E 2D 3F 3F 49 09 3F 3F 3E FF 3F 9F 11 3F 49 01 3F 2E 3F 3F 3F 3F 00 29 AO FF SF 6D 20 2D AD 3F 20 35 49 49 AO 3F 20 20 29 IE 15 FF OF DB
3F 3F

3F 3F 00 49

44 45

750875EO75E875FO75F87600750876107618762076287630763876407648765076587660766876707678768076887690769876AO76A876BO76B876CO76C87600760875EO76E8-

09 20 2E 49 20 00 3F FF 37 49 3E F5 00 3F OF 3E 35 20 49 3E 20 20 3F 49 3F 3E 49 20 35 20 00 FF F5 FF 3F

20 2D 3£ 35 20 00 3F 1B 60 35 3F 3F B7
3F

20 20 2E 3F 1E 00 37 37
49

76F'O- FF

76F8- FF 7700- 35 7708- 49

1B 3F 3F 35 09 3F 3E 35 37 00 3F OF 11 35 3F 1E 49 18 FF DB 3F DB IB 3F 09

FF 3F 3F 20 37 37 3F 3F 3F 00 3F OF 3F 20 00 3F 1B 3F FF 3F 3F 20 3F DB 3B 3F 3B 3F FF 00

15 20 3E 3F 3F 20 2D 60 35 DB 3F 3F 20 20 35 37 3F
3F 49

3F IB 3F 35 49 17 3F FF DB 3F 3F 60 37 3B 2E 3F 2E 37 IB 3F

3F 3E 2E 3F 3F 20 20 49 FF 37 37 56 20 20 37 35 3F 3F 20 37 37 37 3F 09 20 2E IB 38 3F 56 09 2D 2E 20 2E

3F OF 3E 3F 56 20 20 35 OB 60 20 49 20 20 20 37 2E 3F 20 20 35 35 B7 20 20 3E 37 2E OE 49 20 60 40 2D 4D

3F 1B 2E OE 49 15 20 FF 37 09 20 49 3E 20 20 60 20 56 20 20 37 37 49 20 20 2E 60 60 20 49 35 09 49 2D 49
AD

17 3F 60 20 49 3E DB 60 20 20 09 3F 3E 20 49 20 49 2D 2D 20 AD 49 15 20 40 09 49 2D 00 3F 20 35 35 35 3F 20 49 3F

SF

7710771877207728773077387740774877507758-

4D 49

20 60 09 3F B7 49 20 20 35

3F 37 2D 2D F5 3B 2E 3E 2£ :3E 2E 3E 2E 80 3F 3F 37 2D 20 35 3F 3F B7 49 49 00 00 35 49 29 20 20 3E 3F 3F 2E 20 20 DE 37 35 37 35 37 35 FF DB 13 60 49 35 3F 3F 3F 77 2D 2D F5 3F B7 49 49 09 00 50 2D 6D 29 2D 3E 3F DF 3F 37 20 60 29 2D DE FF T160- 1B 37 6D 2'31 1E FT 37 2D 7768- AD 3F 3F 2E 40 AD FF IB 7770-' 37 60 49 60 3A 3F FF 38 7778- 3F 2E 20 4D 2D 2D 3E 3F 7780- FF 3B 3F 56 49 49 49 01 7788- 00 35 2D 35 3F 37 2D F5 7790- 37 35 37 35 37 35 37 6D 7798- 09 35 3F 3F 3F 37 2D 20 ' 77AO- 20 35 3F 3F 3F B7 49 49 77A8- 09 00 37 20 40 49 29 35 77BO- 3F OF OB 3B 37 20 GO 4'3 77B8- 20 F5 3F OF 18 3F 2E 20 77CO- 4D 20 35 3F FF 38 3F 2E 77CB- 00 20 6D 35 FF 3F FF 37 Tl00- 60 29 4D 35 FF 3B OF 37 7708- 60 49 09 AD 3F FF DB 3F 77EO- 37 20 6D 49 2D 35 3F FF 77E8- DB 3F B7 49 49 49 49 00 T1FO- 00 49 2D 6D 09 2D 35 3F 77F8- FF IB 3F 37 20 60 09 20 7800- F5 FF IB 3F 37 2D 60 09 7808- 35 FF 3B IF 37 60 6D 29 7810- 3E 1F FF 38 2E 4D 60 35 7818- 3F FF IB 3? 60 09 20 35 7820- 3F OF 3B,'3F :2E 20 40 29 7$28- 35 3F OF 3B 3F 56 49 49 7830- 49 01 00 3F 09 2D 20 15 7838- 3F 3F 3F 17 2D 20 20 20 7840- 3E FF IB 3F 2E 40 49 35

46

47

7848785078587860786878707878788078887890789878AO78A87880788878CO78C878DO780878EO78E878FO78F87900790879107918792079287930793879407948795079587960796879707978-

3F 2D 20 3E 49 35 FF 35 FF DB FF FF 3B 3F 3F 3F 1F 3F 3F 49 20 2D 3F 2E 20 DB 37 6D 37 60 49 37 20 20 4D 09 AD 20 4D 2D 56 49 49 20 20 15 2D 2D 2D 77 20 2D 29 3E OF 3E 3F 3F IE 3F 3F 87 20 20 3F SF 37 FF 38 DF 37 35 37 SF B7 49 60 29 2D 20 60 29
15

FF OB 3B 3F 56 2D 2D 35 3F 37 49 20

DB 3B 2E 77 49 15 20 FF 3F AD 49

3B 2E _60 20 49 3F 3E DB 3F 3F
49

2E 40 09 20 00 3F FF 37 2E 37 00 3F FF DB 39
2E

40 49 20 20 00 3F IB 60 20 2D 18 3B 2E 60 20 49 AD 2D 29 1E

49 35 3E 1E 49 37 37 09 20 35 3F 2E 40
29

00 49 3F 17

77 56 20 20 49 20

2D 3E

3F FF 35 3F 49 00 3F 3F 3E OF AO 3F DB 13 3F 77 56 49 2D 2D 20 2D 77 49 AD 3F 49 01 3E 3F 20 1E

2D 49 3F 20 3E 3F OF 38 FF 00 3F OB 3F 6D 20 49 35 2D 35 37 00 DF FF

35 FF 3F 3F 20 2D 6D 20 DE 3F 09 20 2E 40 49 20 20 00 3F 3E DF 3F
3B

FF DB 3F 3F 20 2D 49 IE 1B B7 20 20
4D

49 35
1E

3F
38

00 17 37 77 49 2D 00 3F 2D 37 20 09 3F DB

35 00 3F FF DB 3F 2E 2E 3F 09 2D 35 49 29 20 00 3F 35 35 35 ?D 37 37

7980- 6D 49 35 FF DB 37 60 49 7988- 35 FF DB 37 6D 49 35 FF 7990- OB.:t~7 ~D 49 35 3F DF 3F 0 7998- OE 20 2D f5 3F B7 49 49 79AO- 01 00 20 2D 60 29 2D 3E 79A8- 3F OF 3F 37 20 60 29 2D 79BO- 1E FF DB 37 60 49 35 FF 79B8~ DB 37 60 49 35 FF DB 77 79CO- 60 29 3E OF 77 2D 35 3F 79C8- 37 20 35 3F 87 49 49 01 79DO- 00 49 20 60 49 2D 35 3F 7908- FF DB 3F 37 2D 60 49 20 79EO- F5 FF DB 1B 37 6D 29 40 79EB- 35 FF 3B OF 37 60 29 4D 79FO- 35 FF 38 DF 37 60 29 40 79F8- 35 FF 3B OF 37 6D 20 60 7AOO- 35 3F 3F 3F 3F 37 20 6D 7A08- 29 2D 3E FF DB 3F 56 49 7AI0- 4'3 49 01 00 00 20 6D ~90. 7A18- 20 3E 3f OF 3F 37 20 7A20- 29 2D 1E FF DB 77 60 29 7A28- 1E 3f 77 35 BF 20 AD Ff 7A30- 39 17 60 49 AD 3F Ff 3B 7A38- 3F 2E 20 40 20 35 3F Ff 7A40- jB<3F 56 49 49 49 00 00 7A48- 09 20 50 29 20 3E 3F DF 7A50- 3F 37 20 60 29 2D 1E FF 7A58- DB 3760 49 F5 FF 3B 2E 7A60- 20 20 1E 3F 77 35 37 AO 7A68- 3F 37 20 35 3F B7 49 49 7A70- 01 00 20 20 20 20 20 35 7A78- 3F 3F 3F 3F 37 20 20 2D 7A80- 2P 35 3F OF DB 77 49 09 7AB8- 20 1E 3F 17 2D IE 3F 17 7A90- 20 1E 3F 17 2D 40 49 35 7A98- 3f 3f 3F 3F 37 20 20 2D 7AAO- 2D 35 3F 3F 3F 3F B7 49 7AAB- 49 49 01 00 37 2D 2D 3E 7ABO- 3f 37 20 2D DE 3B 2E 3E
g

49 48

7AB8- 2E 3E 2E 3E 2E 40 3A 3~ 7ACO- 37 20 20 3E 3~ B7 49 09 7AC8- 00 35 35 77 35 77 35 77 7AOO- 35 77 35 77 35 77 35 87 . 7A08- 09 00 20 20 20 3E 3F 37 7AEO- 20 20 3E 2E 3E 2E 3E 2E 7AE8- 3E 2E 3E 3F 37 20 20 3E 7AFO- 3t B7 49 09 00 92 92 4A 7AF8- 09 15 3~ 17 20 20 15 3F 7BOO- 3~ 3F 17 2D 20 20 2D DE 7B08- 3B 37 20 3E 37 20 3E B7 7BI0- 49 49 00 00 92 92 92 92 7B18- 92 12 20 20 20 20 35 3t 7820- 3F 3F 3F 6F 49 49 09 00 7828- 00 29 15 3F 37 20 F5 3f 7830- OE AD 87 92 92 52 01 00 7838- 92 92 OA 20 20 AD 3~ 3f 7840- 3r 37 60 49 35 ~F DB 2A 7846- 2D ZD 35 rr DB 37 60 49 7B50- AD 3~ 3t 3f 3~ 2E 20 20 7858- 20 35 Ff 3f 3f 56 49 49 7860- 01 00 3f 20 3E 37 20 3E 7869- 2E 20 2D AD 3F 3F 3F 37 7870- 60 49 20 3E OF 08 37 60 7B78- 49 29 3E OF DB 37 60 49 7880- 20 3E 3F 3F 3F 3F 2E 20 7B88- 20 20 F5 3F 3F IF 87 49 7890- 49 49 01 00 00 92 4A 20 7898- 20 15 3F 3F 3~ 17 20 2D 7BAO- 20 20 3E OF DB 37 35 37 7BA8- 60 49 29 3E 3F 3~ 3F 77 7B80- 2D 20 20 IE 3~ 3P 56 49 7BB8- 49 00 00 49 49 49 29 35 7BCO- 3F 2£ F5 Ff 08 2A 20 20 7BC8- 35 3F 3f 3F BF 20 40 09 7800- 35 FF DB 3B 2E 40 49 35 7B08- FF DB 3B 2E 60 49 AD 3F 7BEO- 3P 3F 3P 77 20 20 20 20 7BE8- 3E FF 3F 87 49 49 09 00

78FO7BF87COO7COB7C107C187C207C287C307C387C407C487C507C587C607C687C707C787C807C887C907C987CAO7CA87CBO7CB87CCO7CC87CDO7C087CEO7CEB7CFO7CF870007008701070187020-

49 3F 3B 37 OE 49 3F 38 3F 37 00 3F 35 3E FF 3F 3F 37 3F 37 49 40 49 2E 35 B7 F5 37 3f 20 2E 37 20 49 37 3E B7 20 3F

92 17 2E 60 20 49 3F 2E 3~ 20 3F 3F FF 3F

3F 40 2D 3F 60

DB

20 49 DE 37 49 13 35 40 3E 00 60 60 49 2D 2E 49 00 OE

AD

4A 20 20 49 20 01 17 3E 77 35 92 3F OB 3F 9B 77 49 3E 2E 49 3F 35 49 2A AD 01 2D 37 01 2E F5 29 20 49 3E 15 01 20 60

2D 40 20 89 2D 00

2D

9F 29 3F 4A 3F 3B 3F 60 20 09 2E
4D

35

3F 00 35 3F 00 3E 35 00
4D

fF

3F 80 35 00 2E 3F 00 15 29

2D 29 20 3F F5 00 2D 2D 3E 87 20 17 2E OE 49 20 00 20 29 FF 3B PF 00 3F 37 77 77 3F 37 29 37 3F 3f 00 3E 37 AD 3F 40

15 35 F5 3F 3P 49 20 20 2E 49 20 20 60 20 20 20 49 20 35 OB 3F 38 3E OE 20 09 35 37 20 3E
2D

3P PP DB 3F 3F 29

3E

FF fF 35 2E 2D 92 3F 35

20 15 49 20 40 09 60 3E lE 20 15 ff 37 2E 3P 29 35 35 35 37 20 3E FF AD 3P 3F 2D 3E 35 2A 3F FF

3P DB DB 3F B7 AD OF 3E 3P 09 35 09 20 35 3F 3F 3E 3F DB 60 20 56 3E 37 3F 37 35 F5 37 38 FF 37 B7 3E 2E 3F 00 3F 3B

50 51

70287030703870407D48705070587D6070687070707870807088709070987DAO70A870BO70B870CO70C87DDO70087DEO70E87DFO7DF87EOO7E087El07E187E207E287E307E387E407E487E507E58-

OF 37 6D 29 OF 37 6D 29 F'F 3B 37 20 3F OF FF' 3B 49 00 00 49 AD 3F 3F SF 3E OF IB 37 DB 37 60 49 3F 2E 20 4D 38 SF 56 49 20 92 4A 20 3F 17 20 40 3B 2E 40 49 2E 60 09 20 77 2D 20 20 49 49 00 00 20 15 3F 3F 20 3E OF 1B F'F OB 37 20 3F" 3F 2E 00 2E 35 3F" 4D 00 92 4A 20 3F" 3F 17 20 IB 37 60 49 2D 40 20 3E 00 AD 3F 2E 4E 92 2A 00 3F 77 60 09 3E 2E 15 3F B7 49 49 09 20 20 AO 3F 49 F5 OB 19 FF DB 13 6D 3F 37 2D 2D B7 49 49 01 2E 3E SIP 2D 3F 77 29 3E 35 3F' 3F 37 E7 49 09 00

35 FF 3B AD 3F OF 60 29 35 4'3 49 49 2A 00 20 60 0'9,2D 49 35 FF 3F FF 3D 35 3F FF 49 00 00 15 3F 3F 35 FF DB FF DB 3B 3F' 3F 3F' 1E 3F 3F !"55 2A.; '32 2A E;D 3F 77 2D 4D .37 50 49 35 40 20 1E 3F 20 DE lB 3F 49 49 00 00 2D 2D 3E 3F 40 29 3E OF 35 F'F' OB 37 3F 3F 77 2D 35 6F 00 00 2D AD 3F 3F F5 DB 3B 2E 37 2D 35 3F 3F 3F 37 77 20 2D 4'3 35 3F 2D F5 3F 00 3E 49 2D 20 3E 2E 3E 2E 2D 20 F5 35 92 2A
00 2D '32 OA
5D

40 40 40 B7 92 77 60 AD 20 49 20 29 35 3E

3F 3F 3A 3F 40 3F 6D

AD

7E60- 09 20 3E FF IB 3F OE 60 7E68- 49 35 FF DB 37 60 4'3 35 7E70- FF DB 37 20 40 20 15 3F 7E78- 3F 3F 3F' 2E 20 20 20 35 7E80- 3F 1F 3F B7 49 49 09 00 7E88- 40 92 2A 20 40 20 35 3F 7E90- FF 3B 3F OE 60 4'3 35 FF 7E98- DB 77 60 29 3E OF 77 20 7EAO- 35 3F 37 20 35 3F B7 49 7EA8- 49 01 00 49 92 2A 20 40 7EBO- 09 20 35 3F FF DB 3F 77 7EB8- 60 49 09 35 FF 3B OF 37 7ECO- 50 2'3 40 35 FF 3B OF 37 7EC8- 5D 20 60 35 3F 3F 3F 3F 7EDO- 77 20 40 20 F5 FF OB B7 7E08- 49 4'3 49 01 00 B7 92 2A 7EEO- 60 49 20 3E F'F DB 3F 4E 7EE8- 60 29 1E 3F 37 20 AD FF 7EFO- 3B 17 60 49 AO 3F OF 3B . 7EF8- SF 2E 20 40 29 35 3F OF 7F"OO- 3B 3F 56 49 49 49 00 00 7FOS- 92 92 2A 60 09 20 3E FF 7FIO- 19 3F OE 50 49 35 FF DB 7F1S- 37 60 09 20 3E 3F 3F 3F 7F20- OE 2D 60 35 FF OB 9B GO 7F28- 49 29 3E 3F 3F 3F 77 2D 7F30- 20 20 1E 3F 3F 4D 49 01 7F38- 00 92 92 2A 20 20 20 35 7F40- 3F 3F 3F 3F 2E 40 09 F"5 7F48"- BF F5 SF 6D 09 35 3F 3F 7F50-" 3F SF 20 20 20 2D 3E 3F 7F58- 3F 3F B7 49 49 49 00 O(l 7F'60- 35 0'3 20 3E 3F 2E 2D DE 7F68- 37 35 SF 35 77 35 37 6D 7F70- 3A 3F 2E 20 3E B7 49 00 7F7S·- 00 35 35 37 35 37 35 37 7F80- 35 37 35 37 35 37 35 37 7F88- 35 6F 00 00 2D 20 15 3F 37 20 35 37 35 77 35 BF 7F''30-

52

53

35 37 35 3F 37 ·2D F5 56 49 01 00 FE 5'") 49 ,'N 89 FF DB BF 2D 50 0'3 7F·BO·3F 1F 3F 3F 37 20 00 7F"B8·- :?D F5 3F FF 1S 37 6D 7FTO-B~3 g.") 5'-' 09 00 3F 52 ..::. 7FC8-- 4'3 8'3 3F 3F 3F 3F 37 7FDO- 2D 20 2D 35 3F 3F 3F 7FD8- 37 2D 20 2D 20 35 3F 7FEO- 3F 3F 37 2D 2D 20·2D 7FE8- 3F 3F 3F 3F 37 20 2D 7FFO- 2D ,...,.,. 3F 3F 3F 3F 37 J 7FF8- 2D 2D 2D 35 3F 3F 3F 8000- B7 4'3 49 49 01 00 00 8008- CO 40 CO 40 CO 40 08 8010- 1 '3 00 00 00 00 00 00 8018- 00 00 00 FF FF FF FF
.L. .,:; v.

7F'387F"AO}FA8-

3F 49
35

2D
49
4'3 2D

3F 3F 35
2D 2D

3F
40 00 00

COQUEDA
Coqueda e um jogo que surgiu quase por aeaso. Lembro-me que estava conversando com alguns amigo! a respeito das figuras que desenh8.vamos quando erisn~s, e dizia serem as minhas pJediletas paisagena com. coqueiros, 0 mar ao fundo e nuvens no ceu (e deaenhava muito mal). Contrastando com eI8U paisageDit t.a:mhem desenhava tanques de guerra, avi6es bombaNeiroI, ca· nhfies e metralhadoras. Nao demorou muito e pediram-me que mOiltrUle como Be desenha no computador. A partir dai, foram lur· gindo foIbas, eaules e nuvens. Alguns dias mais tarde resolvi organizar tudo aqui10, acrescentar outras figuras e dar um pouoo de anima· ~ao it paisagem que ia se formando. Desta maneira surgiu "COQUEDA". Para "rodar" este programa, deve-se digitar as dUM partes que 0 comp<ie separadamente e "RUNIZAR" em primeiro lugar 0 programs ·'COQUEDA INtCIO", poil esta parte alem de conter 88 instru~ do jogo, cuida de fonnatar todas 88 figuras utilizadas, "POKEANDO" 01 vetores de desenho na memoria do computador diretamente do "BASIC".

FF

54

55

A segunda parte, "'COQUEDA", trata do jogo em si. Quem for utilizar 0 gravador cassete para salvar os programas, deve trocar a instru~o da linha 150 da primeira parte para: 150 PRINT "CARREGAR A SEGUNDA PARTE DO PROGRAMA" : END. Ambas as partes estiio documentadas com instru~s REM, 0 que facilitara a localiza~ao de eventuais enos de digita~iio, hem como auxiliara no estudo das £un~s que cada uma das diversas retinas que compOem o jogo executa.

30 40

50

.._ ..

_-

__ ..__ .._. _._ _.- •.._-_,,_ ••....-

-'--_----.--_-------~

60 70

__ 1.11" 'tit' :llil" _

,I'"

""! II",

'J "')'1::' R,""",i'",,,UIt__ It 'j"! I" 'HI IP


t

ao
90
110

100

REM PROGRAMA 7 REM COQUEDA INICIO B REM 9 REM 10 TEXT: HOME 20 VTAB 1: HTAB 1: PRINT

5 6

REM

*********************** * **********************

120
130

140 150
199 200

VTAB 2: HTAB 1: INVERSE: PRINT C 0 QUE DA COPYR ISHT 1984 NORMAL VTAB 5: PRINT Coqueda e' urn jogo para ser disputadoen tre dois participantes. Cada urn coman-dara' seu personag em <baiano ou baiana),e um p ar de canhoes.H PRINT" Na primeira fase, v oce devera' col hero maior nu mero possive) de cocos que s aolancados do alto de dois c oqueiros.u PRINT Na segunda fase-, su a funcao e' atirarnos cocos, disparando os canhoes.u PRINT " Que-m obtiver 0 maio y numero de pontossera' 0 ve ncedor da partida. '" VTAB 17: HTAB 1: INVERSE: PRINT USE AS SETAS (-- E --) NA 5 DUAS F'ASES II: NORMAL VTAB 19: HTAB 29: PRINT UBoa sorte! ! ~" GOSUB 700 VTAB 22: HTAB 5: FLASH : PRINT ". PRESSIONE A BARRA DE ESPA COS .11: NORMAL: VTAB 22: HTAB 36: GET AS IF A$ THEN 140 POKE 768,3: POKE 769,10: CALL 771: GOTO 110 PRINT CHR$ (1) PRINT CHR$ (4);"RUN COQUEDA

u===

===11:
II

====

II

n*

="

It

"======= ============================ ========H: PRINT "============ ============================

II

REM REM

201

REM

===================
===
DIRETORIO
1

===================

===
57

56

210 219 220


221 230

DATA 6,0,14,0,43,0,72,0,142, 0,217,0,243,0

299
301

REM

REM

REM DATA 37,37,3.7.37,37,45,44,44

====================== ===CURVAESQUERDA=== ===.==================

300 310 319 320

DATA 54,45.37,36 .• 7,45.37,60 3 ,52,53,45,44,37,45,62,62,5:5, 63,62,3'9,46,54,55,63,60,0'


REM

REM ================:;::'" REM === CANHAO ESQ.• == · ~El'1 ================= ==========~========== === TRONCO ARVORE === =================="=

239 240
241

,37,45,44,4.5,44,37,45.37,45, 45,37,45,45,37,45,45,45,44,4 5,5,0 . REM REM

REM

250

DATA 3~9,39,39,39,39, 63, 60, 60 , &9,6?,60 , 63. 60, 39, E.:~.39, 63. 63,39, £.3!, 6~,3~, 63,6;3,63,60,6 _

""==================== === CURVA DIREITA === ===================

321 330

REM

DATA 62,54,54,54,54,54,54.54 ,54,55,54.,54.54.62.,54,5""4,02, 54,54,62,54.54 .• 54,55,,54,54, :5 4,62,54.54,55,54,54,69,46,45


, 37, 36...44, 54

REM

340 DATA 54,45,36,36,53,54,46,45


36,36,36,36,36,37,36,36,36,3

3,7,0
259 '260 261 270

REM REM

REI'I

D~TA 36,4"4,36,44.36,44,36

=============== === FOLHA 1=== ===============

'~'~'~'~'~'~'~J~,3~,

37,37,45,44,44,37,45,44,44,4 5,~,~,~,~,~.~,~.54,~ ,62,36, :36,6"1 1,54,54,62.54 •. 5. 5 62,~39, 36,44, .55, 54,54,62,54,5 5,55,55,39,36,44,55,54,54,6~ ,62,54.55,55.7,0
279

,~,",.,~,~,ft~,j6,~7.~,

.•44

350 351 360 369 370 371

349

DATA7,0,16.0,91.0,161.,0, ,0,172,0,201,0,241,0

======.====.========= REM === DIRETORIO 2=== REM ========;:;:::=========. ============== === BAIANA === ==============
.6'3,

6,44,36,36,36,36,39,36,36,36 ,36,36.36,36,'0 REM

.16'9

REM
REM

REM

280
281

290

REM =============== REM =-- FOLHA 2 == REM ==============

380

DATA 63,63, 36, 53, 54', 54, 54 ,54,45,46,46.54,63,62,62,S·5,

M~~,~.~.W,~,~,~,~
~,~,~,~,~,~,~,~,~,6

,~,~,~,~,39,~,~0,~,60,

45,45.53,54,54.63, 109, r3,45, 63,36,36,60,63,45,45,45,45,6 0.39,3"9,63,36,37,37,45,36,36


5~.53, 53,62,62,47..13, 3, 4~{63. 60.36,37,37,60,62,37

--a, 39,63, 55,5-3,45,53,5"3,52,53


,37,36,41,54,54,53,53.53,46, 46,46,36,36,60,53,54,34,46,4 6,~~%,%,%,~,36'~"~f~ ,54,46,46,48,54,5-3,46,46,54,
389 390

61, 60,
,4,0

,36, ... 3'6.44, ti4, ':53,63 .•63, 63, 54~


.i

REM

46;0
58

REM

=======.=.====::::::::::,,=

;==

BAIANO

===

59

391

400

REM

DATA 55,4t,3~,55,4S,4G,54,63
4,~,",~,~,.,46,~,~,~

====~=::::::====:::=== -. ....

490

DATA,. 6,60,36,60,36,60,39,63 3
63,62, .62,63,39,63,39,63,60,'3 9,~,~,~,~,~,~,63,~,~ .S3~55,.63,55,55,63,6:2,62,,63, 54,63,62,63,62,63,63,54,63,7 ,0 REM =-=-============ REM ==- SoM L=26 === REM =====---======== DATA 172,1,3,174,1,3,169,4,3 2,168,252,173,48,192,232,208 ,253,136,208,239,206,0,3,208 ,231,96 REM =======--=========

.:'

54,54,54,62,47,45,36,36,36,4
60,60,60,39.44,4~,36,55.47,3 6,45,45,37, 60', :5~, 63, 63, 63, 63 ,63,63,36,53,6,0 409 410 411 420 429 430 431 440

,62,62,54,47,.36,45,53,62,54,

,~,~,~,~,~,~,~,~2,~,

,*,~,~,~,~,e,~.%,3~,
499

REM REM REM

DATA 37,37,39,63,62,46,46,0,
37,55,0

=================== =-= COCO E BALA === =================== ================ === EXPLoSAO === ================

500 501 510

REM REM REM

449

450 451 460

,54,53,46,53,45,46,55,63,62, 55,62,54,55,60,36,39,60,39,6 3,4,0 REM =============== REM


M~

DATA 37,45,44,37,44,36,37,46

REM

4~,~,44,~,31,~,~,~ ,44,45,45,46,46,53,46,54,54, 54,54,60, 39,36,'36,47,54,6 GO, 2, 39, 6~,39,,36,61,54,63,63,63

=== FOLHA 3 === ===============

469

470 471 480

REM

REM REM

,52,62,63,0

DATA

=============,

============= === NUVEM ===

6,~,~,45,~,~,~,~,~,e

46,45,.44,45-,46,37,45,44,45,4

,~,~,~,~,~,~,~,~,~,

54,45,53,45,45,46,45,45

700 710 REM === tORMATACAO === 720 REM -================= 730 P 25600: REM TABELA 1 740 FOR I = 1 TO 324: READ F 750 POKE p,rlP P + I: NEXT 760 P 28160: REM TABELA 2 770 FOR I t TO 3511 READ r 780 POKE P,FIP P + I: NEXT 790 P 770: REM SOM BOO tOR I 1 TO 26: READ t 810 POKE P,F;P P + 1: NEXT 820 P 30720: REM TABELA 3 830 FOR I 1 TO 269: READ F 840 POKE P,tIP P + 1: NEXT 850 RETURN 859 REM ===========-======= 860 REM ===, DIREToRIO 3 ===

= =

861 870 879 S81

REM

,36, 45, 45, 37, 45, 37, 44, 37,,44, ~,%,53,~,37,6.~,~,~

SBO

REM REM REM

0,114,0,145,0,176,0,206,0,23 7,0

DATA

=================== 9,0,20,0,35,0,64,0,91,

================ === NUMERO 1 === ================

60

61

e~o
e99
900

901 910

DATA 41,37,36,36,36,39,37,53 ,54,54,54,54,47,45,0 REM REM NUMERO 2 REM DATA 45,45,45,37,83,63,63,36 ,44,45,45,37,36,36,63,63,63, 55,45,45,45,54,&2,63,63,55,5 4,54,0

============.===== === === ================

3,63,55,246,36,36,45,45,45,5 3,54,54,54,34,39,36,60,63,63 ,54,54,7,0 1019 REM 1020 REM LETRA D


1021 1030

919 920 921 930


~39

REM
REM

REM
REM REM
REM

DATA 54,63,63,36,60,60,63,36 ,'37,62,62,39,63,60,55,53,45, 46,~3,45,52.55.46,46,37,S,O·

================== === CANHAO DIR.=== ==================

DATA 36,36,36,36,44,45,45,4 6,46,54,54,62,62,62,63,6e,5, 32,36,36,36,45,53,53,53,54,5 5,55,63,7,0 1039 REM 1040 REM --- LETRA R
1041

=======-======= === === REM ===============

10:50

940

'41

teo
960 961 970

DATA 45,45,36,36,36,36,45,37

=============== === LETRA J === ===============

DATA 36,36,1'2,45,45,37,36,6 3,63,55,246,36,36,45,45,45,5 3,54,54,63,54,46,53,63,39,36 ,60,63,54,54,7,0

=============== === REM ===============

'59 REM

,63,63,6~,55,45,53,54,54,54, 63,39,60,54,46,0

1
3 4
6 2

REM DATA 45,45,45,37,36,36,36,36 ,63,63,63,55,54,54,54,54,5,4 O,45,45,36,36,36~60,63,63,54 ,54,54,6,0


REM

REM

=============== === LETRA 0 --=============== ================ === LETRA 6 --===============

REM REM REM REM

REM

REM ***************1:*******

* * *

C 0 QUE

0A

***********************

* * *.
=

10

REM

rOR I : 1 TO 21: READ X: NEXT :JJ = l:NJ = O:Xl = O:X2 3


9

~79 980

REM
REM

20
30 40

981
990

DATA 45,45,45,37,36,36,63,63 ,46,45,54,62,63,63,36,36,36, 44,45,45,46,36,63,63,63,55,5 4,54,54,54,0 1000 REM === 1001 REM 1002 REM 1010 DATA 36,36,12,45,45,37,36,6

so
60 70
80

=============-= LETRA A === ===============

HOME: BR : COLOR= 7 rOR x = 0 TO 39: VLIN 5,13 AT X: BOSUB 3000: NEXT 0: rOP ~ = 1 TO 92 READ X,V: PLOT X,Y: GOSUB 310 0: NEXT : COLOR= 15 v = 15 TO 39 STEP 2 HLIN Xl,X2 AT Y:Xl = Xl + 3:X 2 X2 - 3 eosus 3000: BOSUB 3200: GOSUB 3300

COLOR= =

rOR

62

63

90 NEXT: COLOR= 0 100 VTAB 21: PRINT

u=====::::====== ============.:-;z======e:::========: H; PRINT "================~=


========_==============
il: II ;

240 250 260 270 280 290 300 310 320

DRAW 3 AT 65,81: DRAW 3 AT 2 . 1 '3, 81 : NEXT FOR I = 64 TO 48 STEP - 8: ROT=


I

110

120 130
140

VTAB 221 INVERSE: PRiNT" P RESSIONE QUALQUER TECLA PARA a INICIO NORMAL : VTAB 1 = HTAB 20: GET AS: HOME FOR Y 1 TO 10: eosus 3100: NEXT : FOR V 1 TO 10: eOSUB 3200: NEXT FOR Y = 39 TO 15 STEP - 1: HLIN 0,39 AT V: BOSUB 3200= NEXT

DRAW 4 AT 65,81: DRAW 4 AT 2

FOR V

150

NEXT : FOR Y 1 TO 10: GOSUB 3200J NEXT FOR Y -'=" TO 5 STEP 13 - 1: HLIN 0,39 AT V: 60SUB 3100: NEXT : BUSUB 2000: dOGUB 170: bOTO
360 '

1 TO 10: BOSUB 3100:

160
170

180 190

20C
210

220
230

85,66,87,88,89,90,92,'3 4,96,98,100,103,106,109,112, 116,120,124~129,134,140 POKE 233,100 deOLOR=, 3: ROT-:.: SCALE-'=" 0: 1 JRAW 1 AT 0,156: DRAW 2 AT 2 79,156 HPLOT 38,141 TO 241,141: HPLOT 0,0 TO 279,0 TO 279,158 TO 0 ,158 TO 0,0 FOR I = 45 TO 234 STEP 21: HPLOT 139,158 TO 1,141: HPLOT 0,15 8 TO 1,141: HPLOT 279,158 TO 1,141: NEXT DRAW 6 AT 65,81: DRAW 6 AT 2 19,81 FOR I = 0 TO 16 STEP 8: ROT=

DATA

330

340 350 360 370 499 500 501 510

19,81: NEXT ROT= 0: DRAW 5 AT 69,138 POKE 233,120: DRAW 3 AT 209, 138 POKE 233,110: ROT= 0: DRAW 6 AT 65,81: DRAW 6 AT 219,81 ROT= 48: DRAW 6 AT 65,81: DRAW 6 AT 219,81 ROT= 32: DRAW 6 AT 65,81: DRAW 6 AT 219,81: ROT= 0 DRAW 3 AT 62,86: DRAW 3 AT 5 9,90: DRAW 3 AT 60,96: DRAW 3 AT 69,88: DRAW 3 AT 71,93: DRAW 3 AT 67,97: DRAW 3 AT 65,92 DRAW 3 AT 215,88: DRAW 3 AT 212,93: DRAW 3 AT 216,98: DRAW 3 AT 222,90: DRAW 3 AT 219,9 4: DRAW 3 AT 224,98 DRAW 3 AT 90,85: DRAW 3 AT 1 95,85 ROT= 32: DRAW 7 AT 150,20: ROT= 0: DRAW 7 AT 250,18: RETURN

DRAW
n

JJ AT 139,121 VTAB 21: HTAB 1: INVERSE:

PRINT

REM

REM

--- MOVE BAIANA(O)

520 XX 64

3: SCALE= 1

REM POKE 233,110: .,ROT= 0: HCOlOR=

====================== === ====================== =


121

": eosus

1500

139:YV

65

530

RESTORE :Ll = 0:L2 90;X2 195 540 VI INT ( RND (1) 1 550 V2 INT ( RND (1)
1

= =

O:Xl

* 9) / 2 +

9) I 2 +

560 570 580 585

FOR I 1 TO 21: READ Y IF LI = 0 THEN DRAW 3 AT Xl ,V IF L2 0 THEN DRAW 3 AT X2 ,V IF LI I OR L2 1 THEN 595

= =

590 P = PEEK ( - 16384) 595 HeOLOR: 0 IF Y 120 THEN BOSUB 710 600 IF P < > 136 THEN 640 610 620 DRAW JJ AL XX.YY:XX = XX . 4

630 640 650 660 670 680

IF XX 103 THEN XX 107 IF P < > 149 THEN 670 DRAW JJ AT XX.YY:XX XX + 4 IF XX
IF Ll

=
=

,Y ,V

0 THEN

183 THEN XX 179 DRAW 3 AT Xl DRAW 3 AT X2

= = =

IF L2 = 0 THEN

690 HeOLOR= 3: DRAW JJ AT XX,YV Xl + Vl:X2 X2 - V2: NEXT 700 Xl : GOTO 750 710 IF XX < > Xl + 1 AND XX < > Xl - 3 THEN 730 • 720 P O:PT(JJ) = PT(JJ) + I:Ll 1: SOSUB 3200: BOSUB 3100: BOSUB 3000 730 IF XX < > X2 AND XX < > X2 + 4 THEN RETURN 740 P = O:PT(JJ) = PT(JJ) + 1:L2 =

1: GOSUS 3000: GOSUS 3100: SOSUB 3200: RETURN 750 SOSUS 1540 770 HeOLOR= 0: IF Ll 1 THEN DRAW 3 AT Xl - 5 Vl,120 771 IF L2 = 1 THEN DRAW 3 AT X2 +5 V2,120 772 NJ = NJ + 1: IF NJ < 30 THEN 530 780 IF JJ = 2 THEN JJ = 1: SOSUB 2000: BOSUB 170: GOTO 1010 790 JJ = 2: GOSUB 2000: BOSUB 170 : DRAW JJ AT 139,yy 810 BOSUB 1600: BOSUB 3000: SOSUB 3100: BOSUB 3200:NJ = 0: GOTO 510 1000 REM =================~= 1001 REM === TIRO CANHAO === 1002 REM =================== 1010 HeOLOR= O:NJ = 0 1030 IF JJ = 1 THEN SOSUB 1500 1040 IF JJ = 2 THEN BOSUB 1600 1050 GOSUB 1400: BOSUS 1450 1060 FOR I 1 TO 21: REAP V 1070 HeOLOR= 3: DRAW 3 AT XI,V: DRAW 3 AT X2,Y 1080 P = PEEK ( - 16384) 1090 IF P = 149 THEN SOSUB 1440 : GOTO 1170 1100 IF P = 136 THEN SOSUB 1450 : GOTO 1170 1110 HCOLOR= 0: DRAW 3 AT XI,V: DRAW 3 AT X2,y 1115 FOR J 1 TO 30: NEXT 1120 Xl = Xl + Vl:X2 ~ X2 - V2: NEXT

1130 NJ NJ + 1: IF NJ (30 THEN 1050 1140 IF JJ = 1 THEN JJ = 2: Bosue

66

67

1150

1170 1180 1190


1200

1210 1220 1225 1230 1240 1250 1260 1265 1270 1280 1290 1300 1310 1320 1330 1340
1350 1360

1370

2000: GOSUB 170: GOTD 1010 GOTO 1810: REM FIM M = I: HCOLOR= 0: POKE - 16 368,0:P = 10: eosus 3300 DRAW 3 AT Xl,V: DRAW 3 AT X 2,V Xl = Xl + Vl:X2 = X2 - V2 FOR K M TO 21: READ V HCOLOR= 3: DRAW 4 AT XA,YA IF L1 = 0 THEN DRAW 3 AT X 1, Y IF L2 = 0 THEN DRAW 3 AT X 2,V IF VA > Y + 2 OR VA < V - 4 THEN 1280 IF XA < Xl + 3 AND XA > Xl 4 AND L1 0 AND Xl > 95 THEN AC = AC + 1:XE = X1:Ll 1 IF XA < X2 +3 AND XA > X2 4 AND L2 = 0 THEN AC AC + 1:XE X2:L2 = 1 PT(JJ) = PT(JJ) + AC: IF AC = o THEN 1280 IF Xl < 96 THEN 1280 eosus 1705 HCOLOR= 0: DRAW 4 AT XA,YA DRAW 3 AT Xl,V: DRAW 3 AT X 2,V VA = VA - 3:XA = XA + ST=Xl : Xl + Vl:X2 = X2 - V2 IF VA > 79 THEN 1360 Z = O:P PEEK ( - 16384) IF P = 149 THEN eosus 1440 : eOSUB 3300: SOTO 1360 IF P 136 THEN BOSUS 1450 : BOSUB 3300: SOTO 1360 XA 65:VA 81 NEXT : BOSUS 1400 NJ = NJ + 1: IF NJ < 30 THEN 1200

1380 GOTO 1140 1389 REM 1390 REM === SUB-ROTINAS 1391 REM 1400 Vl = INT ( RND (1) +1 1410 V2 = INT ( RND (1)
+1

=================== === ===================

* *

9) I 2 9) I 2

1420 Xl = 90:X2 = 195:Y = 85:Ll = 0:L2 = 0 1430 M 1: RESTORE: RETURN 1440 POKE - 16368,0:VA = 133:XA = 84:ST = 6:AC 0: RETURN

1450 1500

POKE - 16368,O:VA = 193:ST 6:AC

=-

133:XA 0: RETURN

VTAB 22~ HTAB 11: INVERSE: PRINT PLACAR II;: HTAS 21: PRINT" RECORD u;: HTAB 32: PR I NT " COQUEDA NORMAL 1502 IF JJ = 1 THEN VTAB 22: HTAB 1: INVERSE: PRINT" BAIANA 01: NORMAL: HTAB 1: PRINT" BAIANO " 1504 IF JJ : 2 THEN VTAB 23: HTAB
OJ II:

": NORMAL: VTAB 22: HTAB 2: PRINT uBAIANA" 1510 VTAB 23: HTAB 34: PRINT "NF
184"

1: INVERSE:

PRINT"

BAIANO

IF F::E ( 10 THEN VTAB 23~ HTAB 24: PRINT 0iRE: GO TO 1540 1530 VTAB 23: HTAB 24: PRINT RE 1540 IF PT(JJ) < 10 THEN VTAB 2
1520

3: HTAi.:

14; PRINT

O;PT(JJ):

GOTO

1560 1550 VTAB 23: HTAB


JJ)

14: PRINT PT(

68

69

1560

RETUR~-l
II

1620 GOSUB 1520: RETURN 1699 REM ==================== 1700 REM --- EXPLODE COCO === 1701 REM ==================== 1705 HeOLOR= 0: DRAW 4 AT XA,VA 1710 AC = O:VA = 81:XA 65: FOR Z 1 TO 3 1720 HCOLOR= 3: DRAW 5 AT XE - 7

VTAB 22: HTAB 1: PRINT SA lANA " 1610 VTAB 23: HTAB 1: INVERSE: PRINT " BAIANO ": NORMAL

1E.OO

BOSUS 3000: eosus 3100: SOSUS 3200 1740 HCOlOR= 0: DRAW 5 AT XE - 7 1730
,V 2

,V - 2

1860 FOR I = 1 TO 2000: NEXT 1870 PTe!) O:PT(2) = 0 1880 VTAB 23: HTAB 20: SET A$ 1890 RESTORE : HGR : GOTO 10 1999 REM ==================== 2000 REM --- TROCA DE JOG.=== 2001 REM ==================== 2010 POKE 232,0: POKE 233,110 2020 HBR : HGR2 : HCOLOR= 1: ROT= 0: HPLOT 0,0: CALL 62454 2030 FOR I 1 TO 200: NEXT : CALL 62450: HeOlOR= 3 2040 SCALE= 2: DRAW JJ AT 50,125 : DRAW JJ AT 227,125: DRAW 5

2050

1750

1760
1770 1799 1800 1801 1810

60SUB 3200: SOSUB 3100:" SOSUB 3000 NEXT : SOSUS 1500 RETURN REM =================== REM === FINALIZACAO ===

DRAW JJ AT 50,20: DRAW JJ AT 227,20: POKE 233,120 2060 DRAW 4 AT 40,100: DRAW 5 AT 70,100: DRAW 6 AT 100,100: DRAW 7 AT 130,100: DRAW 8 AT 160, 100: DRAW 5 AT 190,100: DRAW 9 AT 220,100: DRAW JJ AT 130

AT 124,50

HOME : INVERSE : FOR I = 1 TO 40: VTAB 21: HTAB I: PRINT .. =": SOSUB 3100: NEXT 1820 SPEED= 140: VTAB 21: HTAB 1 4: PRINT PLACAR FINAL ": NORMAL
II

REM

===================

2070

7 AT 131,100: DRAW 8 AT 161, 100: DRAW 5 AT 191,100: DRAW 9 AT 221,100: DRAW JJ AT 131 2080 2090 2100 2110

,135 DRAW 4 AT 41,100: DRAW 5 AT 71,100: DRAW 6 AT 101,100: DRAW

,135

VTAB 23: HTAB 2: PRINT uBAI ANA:";PT(l);" PONTOS";: HTAB 24: PRINT "BAIANO: "jPT(2) j PONTOS": SPEED= 255 1840 IF PT(l) > RE THEN RE PT(
1830
II

BOSUS 3300 FOR I = 1 TO 10 HeOlOR= 0: DRAW JJ AT 130,1

35: DRAW JJ AT 131,135

1)

1850

IF PT(2) 2)

>

RE THEN RE

= =

PT(

35: DRAW JJ AT 131,135 2120 GOSUB 3300: NEXT : SCALE=

HCOLOR= 3: DRAW JJ AT 130,1


1

2130

FOR I = 1 TO 1000: NEXT : CALL 62454: FOR I 1 TO 200: NEXT

70

71

2140 2150 2890 2900 2910


3000

3100 3200 3300 3489


3490

3491 3500

3510

3520

HCOLOR= 0: CALL 62450 HGR : RETURN REM REM SONORIZACAO REM POKE 76B,I: POKE 769,3: CALL 771: RETURN POKE 76B,I: POKE 769,255: CALL 771: RETURN POKE 768,1: POKE 769,50: CALL 771: RETURN POKE 768,2: POKE 769,10: CALL 771: RETURN REM REM PLOT PONTOS REM DATA B,11,23,7,30,11,3,7,18 ,11,34,9,23,10,11,8,16,10.30 ,7,16,7,11,11,4,7,28,9,36,11 ,25,9,3,11,13,8,21,7,33,11,1 8,7,26,11,13,10,8,8,36,7,31, 9,18,9,11,7,15,12,6,7,14,7,3 6,9,24,11,11,9,9,7,26,7,21,1 0,. 14, 11• 24, 7, 34, 7, 21 ,9, 8. 10, 15,10,28,7 DATA 31,8,5,11,10,7,3,9,28, 11,35,9,16,8,20,11,23,8,33,8 ,33,10,24,9,9,11,8,7,6,11,16 ,9,23,11,18,8,33,7,21,11,11, 10,13,7,3,10,29,7,25,11,13,9 ,3,8,16,11,28.10,36,8,21,8,3 6,10,15,7,28,8,5,7,19,11,35, 7,25,7,8,9,29,11,13,11 DATA 4,11,10,11,15,11,18,1 0,23,9,31,10,33,9

=================== === === ===================

=================== === === ===================

KABOOM
CUIDADO! Nao deixe as bomhas cairem ... Moitinha um sujeitinho sem-vergonha, que spareee no alto do muro para largar bombas com a inten9io de esburacar seu jardim. Voce dispfie de urn escudo protetor, que deve ser eonduzido para aparar essas bomb as e frustrar os pIanos do Moitinha. Cada vez que voce conseguir isso, sera somado urn ponto a seu favor. Mas atencao, porque a dificuldade do jogo erescente com 0 mimero de bombas aparadas, Se voce deixar cair 3 bomb as no jardim, 0 Moitinha saira vitorioso e aparecera no alto do muro mostrando toda a sua mal edueaeao, destruindo seu escudo. Se voce conseguir aparar mais de 255 bomhas,o que ira explodir 0 seu computador (na brincadeira, evidentemente ),

Fum;oes das instru~6es 10 a 70: Apresentaeiio do programa,


figuras sio ...Pokeadas" do computador. enquanto as para a memoria

73

Solicit a 0 nome do jogador. Apresenta~io do quadro de jogo. 120 a 150: Defini~ao das varhiveis. ·160 : 170 a 180: Musics inicial. Define a veloeidade do Moitinha [alea190 : toriamente ). 200 a 220 : Efetua a Ieitura do teclado para a movimentaeiio do escudo, garantindo que ele nao saia dos Iimites da tela. Verifica se a bomba foi aparada pelo 240 : escudo. Idem as Iinhas190 a 260, porem com 270 a 340: o Moitinha correndo no sentido da direita para a esquerda da tela. Movimenta~ao do plaear e explosao da 500 a 830: bomba. Cuspida e queda do escudo. 1010 : 1020 a 1660: Finaliza!;io da partida, 2008 a 2090: Tahelas das figuras utilizadas no jogo. 2095 a 2190: Formataeao das figuras e som , sendo aloeados na memoria diretamente do BASIC, com a conversao dos valores hexadeoimais em decimais.
80 :

REM REM REM K ABO 0H 6 REM 7 REM 8 REM 9 TEXT: HOME :Z 16336: POKE 40000,20:RE PEEK (40000) 10 VTAB 5: HTAB 2: INVERSE : PRINT K ABO 0M APPL E II NORMAL 20 SPEED~ 120: VTAB 9: HTAB 4: PRINT USE AS SETAS PARA MOVER 0 ESCUDO II; VTAB 10: HTAB 9: PRINT OUTRA BRECA 0 ESCUDO ).. 40 SPEED~ 255: SOTO 2000 50 VTAB 13: HTAB 17: PRINT .IESeR ITO": SOSUB 90: RETURN 60 VTAB 14: HTAB 19: PRINT "POR" : BOSUB 90: RETURN 70 VTAB 15: HTAB 15: PRINT "MARl o FOLLI": SOSUB 90: RETURN 80 VTAB 18: HTAB 6: PRINT "NOME DO JOGADOR (ATE' 9 LETRAS) "' eOSUB : 90: VTAB 19: HTAB 16: INPUT "";N$: BOTO 100 90 FOR I 1 TO 15:5 PEEK (Z) : NEXT : RETURN 100 BOSUB 90: BOSUe 90: SOSUB 90

3 4 5

*********************** * * * * * * ***********************
==
:

"***

***

***

ii

Ii

II (

110 N 120

LEN eNS): IF N > 9 THEN 80 HOME: HBR : HeOLOR= 3: SCALE~ 1: ROT~ 0: VTAB 21: INVERSE : PRINT
II II.

130

VTAB 22: HTAB 1: PRINT ADOR ";: HTAB 12: PRINT NTOS ";: HTAB 22: PRINT

It II II

JOG PO RE

74

75

CORD ";: HTAB 331 PRINT KA BOOM fI;: NORMAL 140 HTAB 1 + INT «9 - N) / 2): PRINT N$;: HTAB 15: PRINT" 00";: HTAB 25: PRINT RE;: HTAB 33: PRINT" C.1984 "; 150 HPLOT 0,23 TO 0,0 TO 279,0 TO 279,158 TO 0,158 TO 0,23 TO 279,23 160 Xl 15:X2 Xl:X3 140:Yl 22:Y2 = 35:Y3 = 125:Y7 7:Y 4 = 157:PT 0:11 = 15:12 264:ES 9 170 FOR I 1 TO 20: READ D,F 180 POKE 768,D: POKE 769,F: CALL 771: NEXT: RESTORE 190 V = INT ( RND (1) 10): IF V < 5 THEN V ::::: 7 200 FOR X7 11 TO 12 STEP VIP : PEEK < - 16384) 210 IF P = 136 THEN X3 = X3 - ES : IF X3 < 15 THEN X3 = 15 220 IF P 149 THEN X3 X3 + ES : IF X3 > 264 THEN X3 = 264 230 HCOLOR: 3: DRAW 3 AT X3rY3: DRAW 2 AT X2,Y2: DRAW 7 AT X7,Y7 240 IF Y2 = Y3 AND X3 > (X2 - 11 ) AND X3 < (X2 + 11) THEN Bosue 500 250 HCOLOR= 0: DRAW 3 AT X3,Y3: DRAW 2 AT X2,Y2: DRAW 7 AT X7,Y7: Y2 = Y2 + 5: IF Y2 ) 155 THEN BOSUS 700 260 NEXT 270 V = INT ( RND (1) * 10): IF V < 5 THEN V 7 280 FOR X7 = 12 TO 11 STEP - V: P = PEEK ( - 16384) 290 IF P : 136 THEN X3 X3 - ES
I.

300 310 320 330

= =

340 500

510 515 520 530 540 550 700 710 720 730

: IF X3 < 15 THEN X3 15 IF P = 149 THEN X3 X3 + ES : IF X3 > 264 THEN X3 264 HeOLOR= 3: DRAW 3 AT X3,V3: DRAW 2 AT X2,Y2: DRAW 7 AT X7,Y7 IF Y2 = V3 AND X3 ) (X2 - 11 ) AND X3 < (X2 + 11) THEN BOSUS 500 , HCOLOR= 0: DRAW 3 AT X3,V3: DRAW 2 AT X2,Y2: DRAW 7 AT X7,Y7: Y2 = Y2 + 5: IF Y2 ) 155 THEN Y4 157: eOSUB 700 NEXT: BOTO 190 DRAW 1 AT X7,Yl:C = 1:Y4 = Y 3 - 1: HeOLOR= 0: DRAW 2 AT X2,Y2: Bosue 700:C = O:PT = PT + 1 IF PT < 10 THEN VTAS 23: HTAB 16: PRINT PTj IF PT 15 OR PT 40 OR PT 60 THEN ES = ES - 1 IF PT > 10 THEN VTAB 23: HTAB 15: PRINT PT; FOR I 1 TO 5:S = PEEK (Z) PEEK (Z) - PEEK (Z) - PEEK <Z): NEXT X2 X7:Y2 = 35:Y4 155: HCOLOR=

DRAW 7 AT X7,Y7: DRAW 3 AT X 3,V3: DRAW 1 AT X7,Yl: RETURN HCOLOR= 3: DRAW 3 AT X3,V3: DRAW 7 AT X7,Y7: IF C = 0 THEN DRAW 3 AT X3,Y3 - 20 DRAW 4 AT X2,Y4: BOSUB 1700: aOSUB 1700: BOSUS 1700 DRAW 5 AT X2,V4: BOSUB 1700: aOSUB 1700 DRAW 6 AT X2,Y4: BOSUB 1700

76

77

740

780 810 820 830 1000 1010

HCOLOR= 0: DRAW 4 AT X2,V4: DRAW 5 AT X2,Y4: DRAW 6 AT X2,V4: ~OR I = 1 TO 100: NEXT IF C 1 THEN RETURN DRAW 3 AT X3,V3: DRAW 7 AT X 7,Y7:Y3 V3 -20 HeOLOR: 3: DRAW 1 AT X7,Yl: DRAW 3 AT X3,Y3: BOSUS 1500 IF V3 = 65 THEN FOR I = 1 TO 500: NEXT : GOTO 1000 HCOLOR= 0: DRAW 1 AT X7,Yl: DRAW 7 AT X7,Y7: DRAW 3 AT X3rY3: Y2 = 35:X2 X7 RETURN

FOR I 1 TO 5: POKE 768,2: POKE 769,1: CALL 771: NEXT : FOR I = 5 TO 1 STEP - 1: POKE 768,2: POKE 769,1: CALL 771: NEXT : RETURN 1600 FOR X = 0 TO 279 STEP 15: HPLOT X3,Y4 TO X,23: POKE 768,1: POKE 769, (X + 200) I 2: CALL 771: NEXT 1610 FOR V = 23 TO 158 STEP 10: HPLOT X3,Y4 TO 279,Y: BOSUB 1800: NEXT 1500 FOR Y 158 TO 23 STEP -1 0: HPLOT X3,Y4 TO O,Y: SOSUB 1800: NEXT 1630 FOR I = ITO 1500: NEXT: HGR I TEXT : ONERR GOTO 1660 1640 IF PT < = RE THEN SPEED= 120: VTAB 10: HTAB 2: PRINT "VOCE NAO .CDNSEGUIU SUPERAR o RECORD!~!": VTAB 12: HTAB 12: PRINT IITENTE DUTRA VEZ •• .": RETURN 1650 SPEED= 120: VTAB 10: HTAB a ; PRINT ··PARABENS!!!•••NOVO RECORD": POKE 40000,PT: RETURN VTAB 12: HTAB 1: PRINT "VOC E CDNSEGUIU ESTOURAR A MAQUI NA !!!!! !": POKE 40000,20: BOTO 1030 1700 POKE 76B, 1: POKE 769,5: CALL 771: RETURN 1800 POKE 768,1: POKE 769,Y + 90 : CALL 771: RETURN DATA 2,220,2,230,2,240,2,25 2000 0,2,245,2,240,2,235,2,230,2, 225~2,225,2,230,2,235,2,240, 2,245,2,240,2,245,2,240,2,24 1660 1620

1020 1025 1030

1040 1050 1060

BOsue 1500: FOR I 1 TO 30 0: NEXT HPLOT X7,Vl - 6 TO X3,Y3: FOR I = 1 TO 30:5 PEEK (Z): NEXT : HCOLOR= 0: HPLOT X7,Yl - 6 TO X3,V3: HCOLOR= 3: DRAW 1 AT X7,Yl: HPLOT 0,23 TO 279 ,23: FOR I = 6~ TO 150: HCOLOR= 3: DRAW 3 AT X3,I:S = PEEK (Z): HCOLOR= 0: DRAW 3 AT X3 ,I: NEXT C = I:X2 = X3: HCOLOR= 3: Bosue 710: HCOLOR= 3: BOSUB 710 HCOLOR= 3: SOSUB 710: HCOLOR= 3: BOSUS 1600 GOSUB 1500: BOSUB 1500: VTAB 21: HTAB 12: FLASH: PRINT .. OUTRA VEZ (S/N)?";: HTAB 17: SET A$: SPEED= 255 IF A$ "s" THEN 2300 IF A$ < > "N" THEN 1030 NORMAL : TEXT : HOME : END

78

79

5,2,240,2,245 2005· FOR I 1 TO 40; READ D: NEXT

2160 H

DATA IIACOI03AEOI03A90420A8F CAD30COEBDOFD88DOEFCE0003DOE 760"' 2010 DATA l'0700100037004A0064007 6009400BFOO" 2020 DATA "'292C2D243F3F242D2C2C2 43C173E272D20273F3F"3E162E253 F38373635352D363F3F362D35050 DATA 11242525272524243C363F2 43736362E3E2E2EOO 2040 DATA "3F3F?f3F"3F"37352D35:!b2 'b:tb202D2:b2~2D2C3C3F"3F3F3F3 F"OO"' 2050 DATA u2525252C243C3C3C3F373 73736352E2E2EOO" 2060 DATA "252D252C24252D24273C3 C273F3C3F373F3E37373E362D2E3 6352E2D2EOO .2070 DATA "2D2C2D2C2C252D24252C2 43C2427273F3C273F3C3F3F373F3 E373F3E3E363736352E362D2E353 52D352DOO" ·2080 DATA "24372D3C3C3E2E2EOO"', 2090 DATA "'I'="IM': 2095 P 770: GOTO 2110 2100 P 24576: POKE 2~2.0: POKE 233,96 2110 READ 1$: IF" 1$ = "FIM" THEN RESTORE : GOTO 80 2120 FOR A = 1 TO LEN (1$) - 1 STEP.
II II

2008

2170 L = L - 48: IF L > 9 THEN L =. L-7 2180 POKE P,H 16 + L:P = P + 1

H-7

H-

48: IF H

>

9 THEN H

2030

0"

NEXT:N = N + 1: ON N eOSUB 2100,50,60,2110,70 2200 GOTO 2110 2300 TEXT: CLEAR :RE = PEEK (4 OOOO):Z 16336: VTAB 21: HTAB 12: INVERSE : PRINT ": NORMAL 2400 GOTO 80: REM NOVO JOGO 2190

=-

OJ

= =

2130 P$ = MID$ (1$,A,2) 2140 H =. ASC ( LEFT$ (PS,I» ASC ( RIGHT$ (PS,I» 2150 L

80

81

Definh;io das linhas do programa


Linhas Linha Linhas Linhas 90 a 990: 1000 a 1050: 1070 a 1210: 120: Desenha 0 nome do jogo na tela. Diretorio das tabelas de figuras utilisadas, Tahela de liguras em deei-

mal., Formataeao das figuras, diretamente do basic, a partir do endereeo 24576 (decimal). ao mesmo tempo em que estas VaGsendo desenhadas, formando a tela de apresentacjio. Desenha as estrelas na tela, aleatoriamente. Forma a tela inicial do jogo. Define a velocidade das naves. Verifica se todos os misseis ja foram utilizados. Define a altura que a nave passara na tela. Define 0 tipo de nave que ira surgir. Define de qual lado a nave surgira na tela (esquerda ou direita ). Emite ruido indicando que uma nave mvadira 0 ceu, Movimenta as naves pela tela, enquanto nenhum missel £oi disparado. 83

BASE DE CENTAURO
Naves espias cruzam 0 ceu de Centauro, onde temos uma base instalada e fortemente armada com dois tipos de misseis, Seu objetivo : evitar que as naves fujam, levando informacoes e fotos ultra-seeretas. Para tanto, voce dis poe de vinte misseis simples e dez duplos, que podem ser

Linhas Linhas Linha Linha

170 a 210 a 320: 330 : 340 a 380 a 410 a

200: 310:

so

disparados uma iinica vez a cada nave que ~ass~ .. jogo termina quando todos os seus misseis trverem sido utilizados, ou quando vinte naves conseguirem

escapar ilesas. As teclas que disparam os misseis sao as seguintes : Tecla "1"; dispara missel simples. Tecla ., 2"; dispara missil duplo. A pontuaeao obtida a eada nave destruida, fu~ta~ do tipo de missel empregado e tamanho da nave atmgi-

Linhas
Linhas Linhas

370: 400: 430:

da, a saber: Missel simples atinge nave grande: Missel simples atinge nave pequena: " Missel duplo atinge nave grande: Missel duplo atinge nave pequena: '" 82

10 pontes 20 pontos 20 pontos 40 pontes

Linha Linhas

440

450 a

530:

-. -

Linhas Linhas Linhas

550 a 7l0a 790 a

700 : Movimenta

Linhas

920 a

as naves juntamente com os misseis. 780 : Verifica se 0 missel dlsparado atingiu a nave. 910 : Efetua a rota~ao e elimina~io das naves atingidas, apagando-as do video. 980: Finaliza~io da partida.

120

130 140

HPLOT 150.60 TO 195,60 TO 19 5,45 TO 210,45 TO 210,60 TO 240,60 TO 240.45 TO 225,45 TO 225,60: HPLOT 165,60 TO 165, 45: HPLOT 180,60 TO 180,45: HPLOT 230,45 TO 230,50 TO 250,50 BOSUB 990 FOR I = 1 TO 1000: NEXT : SPEED= 100: VTAB 21: INVERSE: PRINT

l_____E-==]
~

r·--·-·-··

r-l··-·t·_·_·1····] I "__ .__ ,,.

.---I __

L..___

r-L l·HT.=!-..J
._ .• • _

150

************************** ************ VTAB 23: PRINT" ***********' ***************************VTAB iI;: NORMAL: SPEED= 255:
01 II

22: PRINT "<UTILIZE AS TECLA S 1 E 2 PARA DISPARAR)";: GET


AS

160 170 180 190

30
40 50 60 90

10 20

REM
REM

REM REM

REM REM TEXT: HOME I HBR I HeOLOR= 3 : ROT- 0; SCALE= 1 100 HPLOT 50,30 TO 30,30 TO 30,6 o TO 60,60 TO 60,45 TO 75,45 TO 75,53 TO 60,53 TO 60.60 TO 85,60 110 HPLOT 90,60 TO 90,40: HPLOT 90,45 TO 105,45 TO 105,60 TO 120,60 TO 120,30: HPLOT 110. 45 TO 150,45 TO 150,60 TO 13 5,60 TO 135,45

*' **********'************

* * *

*~********************
BASE DE CENTAURO

* *

200 210
22r)

230
240

250 260

HGR: HOME: HPLOT 0,159 TO 279,159 FOR I = 1 TO 110 X INT ( RND (1) 280) V = INT ( RND (1) 125) HPLOT X,V: NEXT DRAW 1 AT 139,137 DRAW 2 AT 123,149 DRAW 2 AT 155,149 DRAW 2 AT 139,147 SCALE= 2: DRAW 5 AT 0,145: DRAW G AT 279,135: SCALE= 1: HOME

* *

270

280

VTAB 22: HTAB 1: INVERSE:: PRINT ., BASE ": HTAB 1::PRINT DE ": HTAB 1: PRINT "CEN TAURO"; : VTAB 22: HTAB 13: PRINT "MIS SEIS 1:": VTAB 24: HTAB 13: PRINT "MISSEIS 2:";: VTAB 22: HTAB 28: PRINT "PON TOS:": VTAB 24: HTAB 28: PRINT
II

84

85

290 300

IIRECORD:";: NORMAL VTAB 22: HTAB 24: PRINT 20: VTAB 24: HTAB 24: PRINT 10i: VTAB 22: HTAB 36: PRINT "00" VTAB 24: HTAB 36: PRINT RE;:

510 520 530 540 550 560 570


580

310 VTAB 23: HTAB 10: PRINT NN 320 VE INT ( RND (1) 8): IF VE < 3 THEN 320 330 IF Hl < 0 AND M2 < 0 THEN 92

340 ALT = tNT ( RND (1) 3) 350 IF ALT = 0 THEN V = 16 360 IF ALT = 1 THEN Y 37 370 IF ALT = 2 THEN V = 58 380 N = INT ( RND (1') 2) 390 IF N = 0 THEN N 3 400 IF N = 1 THEN'N 4 410 LADO INT ( RND (1) * 2) 420 IF LADO = 0 THEN Ll = 11:L2

= =

590 600 610 620 630 640 650 660 670 680
690

HCOLOR= 0: DRAW N AT X,V NEXT :NN NN + 1 GOSUB 900: GO TO 320 HPLOT 45,30 TO 20,30 TO 20,6 o TO 75,60 TO 75,45 TO 60,45 TO 60,55 TO 90,55 POKE - 16368,0: FOR I = 1 TO 3:8 = PEEK (Z) - PEEK (Z) PEEK (Z): NEXT HCOLOR= 0: DRAW N AT X,V: IF Xl 139 THEN DRAW 2 AT 139 ,147 IF Xl = 139 AND M1 < 0 THEN VTAB 22: HTAB 24: PRINT "FI M": BOTO 500 IF Xl = 123 AND H2 < 0 THEN VTAB 24: HTAB 24: PRINT "FI Mil;: GOTO 500 FDR XX X + VE TO L2 STEP V

268

430 440

IF LADO

450 460 470 480

490

500

POKE - 16368,0: FOR I = 1 TO 10:8 = PEEK (Z): NEXT: FOR I = 1 TO 100: NEXT : FOR I = 1 TO 8:8 = PEEK (Z): NEXT FOR X = Ll TO L2 STEP VE HCOLOR= 3: DRAW N AT X,V P = PEEK ( - 16384) IF P = 177 THEN Xl = 139:X2 = Xl:VY = 128:Ml = Ml - 1: VTAB 22: HTAB 24: PRINT Ml;" ": GOTO 550 IF P = 178 THEN Xl = 123:X2 = 155:YY 149:M2 H2 - 1: VTAB 24: HTAB 24: PRINT M2; II;: GOTO 550 FOR I 1 TO 20: NEXT

11:VE

=-

1 THEN Ll
VE

268:L2

HCOLOR=·3: DRAW N AT XX,y IF VY < 0 THEN VV 0: HCOLOR=

=
= =

IF Xl 710

=
=

139 AND Y 123 AND V

YV THEN YV THEN

740 DRAW 2 2,VY HeOLOR= DRAW 2 2,VY VV YV


1

IF Xl

AT Xl,YV: DRAW 2 AT X

0: DRAW N AT XX,V AT Xl,VV: DRAW 2 AT X


- 7: NEXT :NN

NN +

It

HeOLOR= 3: IF H1 > 0 THEN DRAW 2 AT 139,147 IF M2 0 THEN DRAW 2 AT 12 3,149: DRAW 2 AT 155,149

86

87

700
710

GOSUB 900: GO TO 320 IF N 3 AND XX < 151 AND XX > 127 THEN PT = PT + 10: GOTO

880 890 900 910


920

720 730 740 750 760 770 780 790


800

790

IF N

790 GOTO 6.40

> 131 THEN PT

=
=

4 AND XX < 147 AND XX

= =

PT + 20: GOTO

HCOLOR= 0: FOR I = 0 TO 64 STEP 2: ROT= I DRAW N AT Xx,V: NEXT: GO TO 320 VTAB 23: HTAB 10: PRINT NN: IF NN 20 THEN 920

RETURN

I~ N

790

> 143 THEN PT

3 AND XX < 167 AND XX

PT + 20: GOTO

IF N = 3 AND XX < 135 AND XX

930

810 820 830 840 850 860 870

790 IF N = 4 AND XX < 163 AND XX > 146 THEN PT PT + 40: GOTO 790 IF N = 4 AND XX < 131 AND XX > 115 THEN PT = PT + 40: BOTO 790 GO TO 6.40 HeOLOR= 0: DRAW 2 AT Xl,YV: DRAW 2 AT X2,VY: VTAB 22: HTAB 36. : PRINT PT FOR I = 0 TO 64 STEP 4 ROT= I HeOLOR= 3: DRAW N AT XX,v 5 PEEK (Z) + PEEK (Z) + PEEK

>

112 THEN PT

PT + 20: GOTO

(Z)

XDRAW N AT xx,V: NEXT FOR I 1 TO 3:5 = PEEK (Z) PEEK (Z) PEEK (Z) PEEK (Z): NEXT IF Xl 139 AND Ml > 0 THEN DRAW 2 AT 139,147 IF Xl = 123 AND M2 > 0 THEN DRAW 2 AT 123,149: DRAW 2 AT 155,149

VTAB 21: HTAB 1: FLASH: PRINT OESE.JA .IOGAR NOVAHENTE (SIN) ? n: NORMAL 1 TO 70:8 PEEK (Z 940 FOR I ): NEXT: FOR I 1 TO 70:8 PEEK (Z)~ NEXT ~ FOR I 1 TO 40:5 PEEK (Z): NEXT 950 VTAB 21: HTAB 32: SET AS IF AS = ··5·· THEN PT "'" O:Ml = 960 20:"2 10:NN 0: HeOLOR= 3 : aOTO ·160 IF AS < > uNIi THEN 940 970 TEXT : HOME : CLEAR : END 980 990 DATA 6,0,14,0,70,0,82,0,128, 0,150,0,210,0 55,54,62,62,62,6~,62, 1000 DATA 55,62,55,63,62,55,47,45,46,4 5,45,53,45,46,62,63,54,46,45 ,44,45,53,45,37,36,63,39,37, 45,44,45,45,37,45,61,60,39,6 3,60,39,60,39,39,39,39,39,36 ,60,0 1010 DATA 60,54,46,54,47,61,36,3 7,36,39,36,0 1020 DATA 63,63,55,45,45,45.45,4 5,60,63,63,36,36,63,55,62,55 ,63,62,63.62,55,45.45,~S,53, 45,46,45,45,37,45,44,45,45,4 5,60,39,63,39,63,60,39,60,63

E;:

IF PT > RE THEN RE = PT: VTAB 24: HTAB 36: FLASH : PRINT R

.. ***

***

,0

88

89

1030 '1040

1050

1050

1070 1080 1090 1100 1110 1120 1130 1140 1150

DATA 55,62,&3,60,63,44, :5,3 7,45,44,53,45,46,45,53,63,55 ,63,39,60,6,0 DATA 37,37,44,36,45,3&,45,4 6,46,45,54,45,54,4&,46,46,46 ,44,36,45,44,37,44,37,44,37, 36,45,36,45,46,53,45,.46,45,4 6,45,46,46,46,46,53,45,36,37 ,44,44,44,53,53,53,53,46,54, 53,46,46,54,54,6,0 DATA 55;63,.62,55,63,54,55,6 2,55,39,63,36,39,60,36,39,60 ,60,39,60,39,63,62,54,55,63, 54,55,63,62,62,55,55,63,&0,3 9,63,36,39,39,39,39,63,60,61 ,55,55,63,54,55,55,62,55,55, 55,55,55,54,54,0 DATA 55,63,62,55,63,54,55,6 2,55,39,63,36,39,60,36,39,50 ,60,39,60,39,63,62,54,55,63, 54,55,63,62,62,55,55,63,60,3 9,63,36,39,39,39,39,63,60,62 ,55,55,63,54,55,55,62,55,55, 55,55,55,54,54,0 P = 24576: POKE 232,0: POKE 233,96 DI == 0:8 15 tOR A = 1 TO B: READ X: POKE P,X:P P + 1: POKE P,O It DI 0 THEN 1130 It DI 2 THEN DRAW DI AT 123,142: DRAW Dl AT 157,142 DRAW DJ AT Xl,Y1 NEXT DI DI + 1: ON DI BOTO 1150 ,1160,1170,1180,1190,1200,12 10 B = 56:X1 140:Vl 130: SOTO 1090

1160 B == 12=Xl ::: 140:Yl 140: BOTO 1090 1170 B = 46:Xl = 70:Yl = 80: SOTO 1090 1180 B = 22:Xl = IBO:Vl == 100: SOTO 1090 50:Y1 = 145: GOTO 1190 B == 61:Xl 1090 230:Yl == 140: GOTO 60:Xl 1200 B 1090 250:Ml 20:M2 1210 PT == O:RE 10:NN O:Z = - 16336: RETURN

= = =

= = =

90

91

tinico problema que 0 computador caloteiro e niio ira lhe pagar as cervejas. Mas, em compensa~ao, voce tambem nao precisara pagar as que perder.

7
'3

REM REM;1: REM REM REM

**~***~~t***~**:~c~~~*

PROGRAMA

*************:t.******-*.t:
HOME: GOSUB 4000: HOME

!! ~ PAL IT INHOS

'I!

:f:

10

TEXT

JOGO DE PALITINHOS
Esta uma versao computadorizada deste jogo tao conhecido, onde os participantes costumam disputar as rodadas de cerveja em animadas competiedes. Aqui, voce disputara contra tres adversaries comandados pelo proprio computador. Mas niio se assuste, pois, apesar de seus eoncorrentes serem frios e calculistas, eles nao possuem algo fundamental para quem quer sagrar-se vitorioso , .. a intuiciio, jogo tern inicio com os quatm participantes (voce e mais tres ] possuindo tres palitinhos cada, sendo solicitado que voce forneea a quantidade que coloeara em sua mao. Em seguida, cada participante ira efetuando seu "chute" (quanto ele acredita que seja a soma de todos os palitinhos em jogo), sempre com 0 computador monitorando a vez de cada um, tanto no "chute", como quem inieia chutando, 0 que funciona na forma de rodizio. Quem conseguir acertar a soma, eliminara urn pall. tinho de seu total. Quem conseguir eliminar todos os tres palitinhos com os quais iniciou a partida, sera declarado vencedor.

20 N$(1)

== n*CABECAO==":.N$(2) = "* CRANITO=iJ:N$(3) :: "*BURRICQ= n:N<$(4) u*USUARIO=":VEZ == 1: C$ == "chute" 30 Vel) O:V(2) V(1):V(3) v( l}:V(4. c V(1):Pl ~ 3:P2 = P 1:P3 Pl:P4 PI 40 VTAB 11 HTAB 2: INVERSE: PRINT " !!!!! :t::t JOGO DE PALITINHO S :t:* !!!!! "': NORMAL 50 VTAB 3: HTAB 1: PRINT "!"'"

9•,,, 'f •• " ,

! ' , , •, , , , , •, I
tn

,,•J,

60

V1AB 22:

70 80

90

FOR I = 4 TO 21: VTAB I: HTAB 1: PRINT "!": VTAB 1. HTAB 4 0: PRINT "! NEXT VTAB 4: HTAB 5: PRINT N$(2): VTAB 4: HTAB 28: PRINT N$(l): VTAB 20: HTAB 5: PRINT N$(3): VTAB 20: HTAB 28: PRINT NS(4) VTAB 9: HTAB 16: INVERSE : PRINT V ITOR IAS NORMAL
Ii: II II:

... . , .,, , , , ,, , ,,,,. ,,,,,,,., ,.,..", ..


,
HTAB

1: PRINl

.. ",,,

92

93

100 110 120 130 140


150

FOR 1
(I

160 170

lao

190

200

(I): NEXT VTAB 10: HTAB 13: PRINT I', , , , , , •, , , r , I": VT AS 15: HT AB 13: PRINT .. """""", " .. FOR 1 11 TO 14= VTAB I: HTAB 13: PRINT "! ..: VTAB I: HTAB 27: PRINT "!": NEXT VTAB 6: HTAB 6: PRINT .. BOSUS 3200 : VTAB 6: HTAS 30: PRINT ": BOSUB 3200 VTAS 18: HTAB 6: PRINT " ": SOSUS 3200 VTAB 18: HTAB 30: PRINT •• H: BOSUS 3200 BOSUS 3400: FOR 1 1 TO P2: VTAB 6: HTAS (5 + I): PRINT !•• SOSUB 3000: BOSUB 3300: : NEXT : SOSUB 330~ FOR I 1 TO P1: VTAB 6: HTAB <32 + I): PRINT "''': aosus 3 000: aosus 3300: NEXT : GOSUB 3300 FOR I = 1 TO P3: VTAB IB: HTAB (5 + 1): PRINT "I": SOSUS 30 00: GOSUS 3300: NEXT : SOSUB 3300 FOR I = 1 TO P4: VTAB 18: HTAB (32 + J): PRINT ,. I'.: GOSUS 3 000: SOSUS 3300: NEXT : GOSU8
II

+ 10): PR I NT N$ ( I) i ...... ; V

1 TO 4: HTAB

15: VTAB
230

240 250 260 270 280

Ii

II

3200: GOSUB 3400: GOTO 210 VTAB 14: HTAB 29: PRINT .. ": VTAB 20: HTAB 37: PRINT X4: GOSUB 3000: Bosue 3500 VTAB 7: HTAB 9: P~INT 0$: GOSUB 3000: GOSUB 3300 VTAB 7: HTAB 28: PRINT C$: BOSUB 3000: aosus 3300 VTAB 17: HTAB 9: PRINT C$= BOSUB 3000: aOSUB 3300 VTAB 17: HTAB 28: PRINT C$= enSUB 3000: BOSUS 3500 Xl INT ( RND (1) ~ (P1 + 1
) )

=
=

290 X2
300

INT ( RND (1) INT ( RND


VE?
(1)

) ) X3 =

310 320 330 340 350 360 370 380 390


400

1 THEN 420 THEN 480 IF VEZ :; 3 TH£N 550 GOSUB 2000 bOSUS 1000: IF Cl = C4 THEN

»
rr

(P2 + 1
IF-'3

+1

IF VEZ

=
=

3300

GOSUB 3400 SOSUB C4 eosus 3400 SOSUS = C2 BOSUS

350

1300: eOSUB 3200= eOSUB 1100: IF C2 Cl OR C2 THEN 370 1400: BOSUB 3200: BOSUB 1200: IF C3 Cl OR C3 OR C3 = C4 THEN 390 1500: GOSUB 3200: SOSUB

210

VTAB 14: HTAB 29: PRINT "SUA MAC? ": GOSUB 3100: VTAB 1 4: HTAB 38: GET X$:X4 = VAL IF X4 > P4 THEN VTAB 14: HTAB 29: PRINT U(INVALIDO)": GOSUB
(X$)

410 420
4::'1)

220

610 GUSU~ 1000: SOSUB 1300: Bosue 320Q: GOSUB 3400 GOSUB 1100: IF"C2 = C1 THEN
BOlO

3400

,no

94

95

440

Gosue GOSUB [2 SOSUB 3400 GGSIJB


3400

1400: SOSUB 3200: GOSUB 1200: IF C3 THEN 450

450 46b 470 480 490 500 510 520 530 540
550

Cl OR C3

650 660 670 680 690 700 710 720 730 740 750 760

1500: eo sue 3200: SOSUB

4("-.}0

2000: 1100: 3200: BOSUB BOSUB 1200:

sosue

SOTO 610

GO~B 1400: BOSUB 3400 IF C3 = C2 THEN

BOTO 850 IF C4 == T THEN V(4) = V(4) + l:VPS - II*USUARIO*":P4 = P4 1: 60TO 850 VpS = "*NINSUEM*": SOTO 850 FOR I = 1 TO 5 VTAD 11: HTAB 29: PRINT" iI: SOSUB 3000 VTAB 12: HTAB 29: PRINT iI
1:

GOSUB 3400 SOSUB SOSUB C3

1500: 60SUB 3200: 60SUB 2000 1000: IF Cl C2 OR Cl OR Cl C4 THEN 520 1300: GOSUB 3200: 60SUS

560 570 580


5'90

600 610
620

3400 SOTO 610 SOSUS \200: eOSUB 1500: SOSUS 3200: sosue 3400 BOSUB 2000 BOSUS 1000: IF Cl = C3 OR Cl C4 THEN 570 SOSUB 1300: GOSUB 3200: Bosue 3400 SOSUB 1100: IF C2 = C3 OR C2 C4 OR C2 = Cl THEN 590 SOSUB 1400: GOSUB 3200: SOSUB 3400 T Xl + X2 + X3 + X4 IF Cl = T THEN V(l) V(l) +

sosue

VTAD 11: HTAB 29: PRINT VP$: BOSUB 3100 VTAB 12: HTAB 29: PRINT "*AC ERTOU*": SOSUB 3000 NEXT IF Vel) = 3 OR V(2) = 3 OR V (3) = 3 OR V(4) = 3 THEN 780
VTAB 13: HTAB 33: SET A$ VTAB 11: HTAD 2'9: PRINT I.

": sosue

3000

,.

VTAD 12: HTAB 29: PRINT II " 770 VEl = VEl + 1: IF VEZ = 5 THEN
775 780

630 640

1: SOTO 850 IF C3 T THEN V(3)


1: VPS =

l:VPS 1: SOTO IF C2 = l:VPS -

850 T THEN V(2)

"*CASECAO*":Pl

790

PI 800

"*CRANITO*II:P2

V(2) + = P2 V(3) +

iI*eURRICO*":P3 == p3 -

810

VEl 1 BOT a 900 BOSUB 3400: VTAB 11: HTAB 3: INVERSE : PRINT FINAL :'HTAB 3: PRINT DA ": HTAB 3: PRINT PARTIDA ": NORMAL "'TAB 13: HTAB 29: PRINT "=VI TORIA=": BOSUB 3200: BOSUB 3 400: eOSUB 3200: GOSue 3400: sosue 3200: eOSUB 3500 VTAB 18: HTAB 16: PRINT "OUT RA VEZ ?II: VTAB 19: HTAB 18: PRINT II (SIN)": BOSUB 3200: VTAB 19: HTAB 23: SET A$ IF A$ = ..S·· THEN RUN
II II II II

96

97

B30

820

850 860 870 880 890


900

910 920 930 940 950 1000 1010 1100 1110 1200 1210 1300 1400

IF A$ < > UN" THEN 800 SOSUB 3200: BOSUB 3300: BOSUB 3200: BOSUB 3300: BOSUe 3100 : SOSUB 3400: HOME : END VTAB 4: HTAB 14: PRINT X2: sosue 3100: Bosue 3300 VTAB 4: HTAB 37: PRINT Xl: sosue 3100: eosue 3300 VTAB 20: HTAB 14: PRINT X3: GOsue 3100: sasus 3300 VTAB 11: HTAB 4: PRINT I·SOMA =II;T BOTO 670 VTAB 4: HTAB 14: PRINT n ": sosue 3100 VTAB 4: HTAB 37: PRINT n: SOSUB 3100 VTAB 20: HTAB 14: PRINT n n: GOSUB 3100 VTAB 20: HTAB 37: PRINT n II: SOSUB 3100 VTAB 11: HTAB 4: PRINT n n: BOSUB 3100 BOTO 100 Cl INT ( RND (1) (Xl + P2 + P3 + P4 + 1»: IF Cl < Xl THEN 1000 RETURN C2 = INT ( RND (1) (X2 + PI + P3 + P4 + 1»: IF C2 < X2 THEN 1100 , RETURN C3 = INT ( RND (1) (X3 + PI + P2 + P4 + 1»: IF C3 < X3 THEN 1200 RETURN VTAB 6: HTAB 30: PRINT Cl: RETURN VTAB 6: HTAB 11: PRINT C2: RETURN
II

1500 2000 2100

2200 2300 2400 2500 2550 2600 2700 2800 2900 3000

VT AB 18: HT AB 11':PR tNT C3: RETURN Bosue 3000: VTAB 18: HTAB 3 0: INPUT UlliC4$:C4 = VAL (C 4$) FOR I = 1 .TO P4: VTAB 18: HTAB (32 + I): PRINT "~II: NEXT: VTAB 18: HTAB 40: PRINT .. ~": IF C 4$ CHR$ (13) THEN 2000 IF C4 > (X4 t PI + P2 + P3) OR C4 < X4 THEN 2600 IF VEZ = 1 THEN IF C4 Cl OR C4 = C20R C4 C3 THEN 2600 IF VEZ 2 THEN IF C4 = C2 OR C4 C3 THEN 2600 IF VEZ 3 THEN IF C4 C3 THEN 2600 RETURN VTAB 14: HTAB 29: PRINT .1 (I NVALIDO) Bosue 3100: sosue 3400 VTAB 14: HTAB 29: PRINT

= = =
II

II

* *

GOTO 2000 FOR K 1 TO 7:S PEEK ( 16336): NEXT: RETURN 3100 FOR K = 1 TO 15:5 - PEEK ( - 16336): NEXT: RETURN 1 TO 20:5 = PEEK ( 3200 FOR K - 16336): NEXT: RETURN FOR K = 1 TO 150: NEXT : RETURN 3300

"

3400 3500 3600

FOR K

1 TO 500: NEXT : RETURN

FOR K = 1 TO 1000: NEXT : RETURN FOR K = 1 TO 2000: NEXT : RETURN

98

99

4000 L = 2:11 = 22 4100 FOR I 1 TO 40 .4200 VTAB L= HTAB I: PRINT "I"; 4300 VTAB M: HTAB I: PRINT hi"; 4400 FOR J = 1 TO 2:5 = PEEK ( 16336): NEXT: NEXT 4500 L = L + 2:11 = M - 2: IF L M THEN 5000 4600 FOR I = 40 TO 1 STEP - 1 4700 VTAB L: HTAB I: PRINT "''': VTAB H: HTAB I: PRINT "I" 4800 FOR J 1 TO 2:8 PEEK ( 16336): NEXT: NEXT 4900 L = L + 2:M = M - 2: BOTO 41 00 5000 VTAB 11: HTAB 8: INVERSE: PRINT ir JOSO DE PALITINH05

**

5100 5200

*** ***** ":

VTAB 13: HTAB 2: PRINT APPLE II MARIO FOLLI NORMAL BOSUB 3600: B08UB 3600: RETURN

***

** " **
il

GRAFICOS

PRISMATICOS

Tendo em vista as grandes dificuldades eneontradas pelos inieiantes em programaeao ao tentarem Implementar grafic05 em seus programas, e aqui apresentado uma pequena rotina que podeni ser bastante util na compreensao dos problemas que envolvem tratamento graifico de variaveis. modelo grafico escolhido para ilustra~o e 0 diagrama de 'barras com volume (prismas), por ser bastante .utilizado na pratica e 0 predileto da maioria das pessoas; tanto na forma de barras simples, como na forma de prismas. Sem diivida, 0 que mais assusta de inieio e a neeessidade de inversao das ordenadas (Y) pelo fato do computador trabalhar com este eixo orientado para baixo, ao eontrario do que estamos acostumados a Iidar. Outro ponto de grande dificuldade e a delimita~o do intervale de varia~o das ordenadas na tela em fun. ~io da resolu~o grsfica do "APPLE" (problema de escala vertical)"

100

101

Como solu~io, devemos determinar 0 maximo valor assumido pelas ordenadas, 0 que e feito nas Iinhas 90, 100 e lIO. Este maximo fica armazenado na variavel Z. Nas linhas 130, 140, ISO e 160 calculamos 0 tamanho de cada ordenada (Y (I) ), proporcionalmente maier de todas (Z). Note que neste exemplo, a maxima ordenada tera vtdor 50 = (145 - 95 [MAX/MAX) e que todas as demais possuirao valores maiores (145 - 95 [VR(I)/MAX), 0 que I6gico, pois est amos procedendo a inversao das ordenadas. Os pontos 145 e 50 foram os escolhidos como de minimo e maximo, respectivamente, mas nada 0 impede de altera-Ios conforme suas necessidades. Mas lemhre-se que 0 "APPLE" possui varia~io vertical de 0 a 191 se trahalharmos com HGR2 e 0 a 159 em HGR. Portanto, a formula daIinha 150podera assumir os seguintes extremos : l 'I:, '

GRfiFICOS

PRISMAS

20

10

REM

REM

30 40

50

70

60

Y(I) = 191 - 191 / VR(I) / Z"(para HGR2) Y(I) 159 - 159 / VR(I) / Z (para HGR ) Agora basta mandar 0 computador' desenhar as barras,O que bastante simples e pode ser acompanhado nas linhas de 190 a 280. OBS.: Caso voce altere a formula da linha ISO, observar que as Iinhas 200 e 260 tambem deveriio ter valores alterados, de acordo com os novos Iimites (inferior e superior.)

80 90

100

110 120 130

140

150 160 170 I = 1 180 REM


190

REM REM TEXT: HOME BOSUB 410: HGR : HCOLOR= 3 HOME:Z = VR(I): IF Z = 0 THEN Z = 1 / 100000 REM *** MAXIMA ORDENADA *** FOR I = 1 TO 15 IF VR(I) > Z THEN Z = VR(I) NEXT REM INVERTE DRDENADAS FOR 1 = 1 TO 15 IF VR(I) < 0 THEN Y(I) = 145 : GOTO 160 Y(I) = 145 - 95 VR(I) I Z NEXT I

******************** * * 6RAFICOS PRISMAS ********************

FOR X

DESENHA GRAFleD 15 TO 240 STEP 15

102

lO3

200

210 220 230 240 250 260 270 280 290 300 310
320

FOR Y 145 TO Y(I) STEP 1 HPLOT X,Y TO X + 10,V NEXT Y:T = X FOR Y V(I) TO Y(I) - 10 STEP -1 HPLOT T,Y TO T + 10,y T T + 1: NEXT Y HPLOT X + 20,Y(I) - 10 TO X + 20,t35 TO X + 10,145 I = I + 1: IF I = 16 THEN 290

10 20 30 40 50 60

NEXT X HOME : VTAB 21: HTAB VTAB 23: HTAB

1: INVERSE

REM REM TECLADO MUSICAL REM MARIO FOLLI REM REM DATA 173,48,192,136,208,4,19 8, 1,240, S, 202,208,246',166,0, 76,3,3,'96 70 FOR I = 771 TO 789: READ A: POKE I,A: NEXT 80 HOME '90 PRINT: PRINT : PRINT ••***** * **TECLADO MUSICAL ********'"

******************** *

*******************

330 340 350

360

370 380 390 400 410


420

430 440 450 460

NORMAL VTAS 21: HTAB 19: GET X$ IF X$ liN" THEN END IF X$ < > "S" THEN 300 VTAB 23: HTAB 2: INVERSE : PRINT " POSICIONE 0 FORMULARIO E < RETURN> n;: NORMAL VTAB 23: HTAB 3'9: GET X$ PR# 1 PRINT CHR$ (9);"6" POKE 34,22: HOME PR# 0 GOTO 300 REM ENTRAR DADOS DIM V(15),VR(15) PRINT "'ENTRE COM 15 VALORES A SEREM 6RAFICADOS": PRINT FOR I = 1 TO 15 PR INT .1 VALOR (.. I; It): ";: INPUT ; A$:VR(I) = VAL (A$) NEXT : RETURN

IN)? ««<":

n»»>

1: INVERSE: IMPRIMIR 0 SRAFIeo

(5

PRINT

100

110 120 130 140 150 160 170 190 200 210 220 230 240

PRINT: PRINT "A=DO": PRINT "'S=RE": PRINT I·D=MI II: PRINT "F=FA": PRINT IIS=SOL": PRINT "H=LA": PRINT "J=SI": PRINT "K=DOu A$ = uASDFGHJKWERTVUI" PRINT: PRINT "MAIS : W,E,R, T,V,U,I" VTAB 3: HTAB 17: SET X$ FOR I 1 TO 15 IF MID$ (A$,I,I) = X$ THEN 180 NEXT GOTO 130

180 X

***

***

GOTO 130 POKE 0,192: POKE l,eo: CALL


771

ON X GOSUB 210,230,250,270,2 90,310,330,350,370,380,390,4 00,410,420,430

RETURN POKE 0,171: POKE 1,eo: CALL


771

RETURN

104

105

250 270
290

260

POKE 0,152: POKE 771 771

1,ao: CALL

RETURN POKE 0,144: POKE l,ao: CALL RETURN


POKE 0,128: POKE 1,ao: CALL 771 771

290
300 310

RETURN POKE 0,114: POKE 1,80: CALL RETURN RETURN


71 POKE 0.102: POkE 1,80: CALL 771

320
330 340

350

POKE 0,96: POKE 1,80t CALL 7

360 RETURN 370/ POKE" 0,181: POKE 1,80; CALL 3BO 390
400
410

POKE 0,161; POKE 1,ao: CALL POKE 0,148: POKE 1,80: CALL
771: RETURN POKE 0,121: POkE 1,80: CALL 771: RE.TURN POKE 0.108: POKE 1,80: CALL 771: RETURN POKE 0,99: POKE 1,80: CALL 7 71: RETURN 771: RETURN 771: RETURN

771: RETURN

POKE 0,136: POKE l,ao: CALL

420
430

106

Você também pode gostar