You are on page 1of 24
= PROGRAMACAO DE JOGOS - CODIGO DE MAQUINA rm ee ; | (nu are wi ill aL iw g 4] 3 4 e ) rs ] o ws a fe} 4 o < Eo 4 8 a ws a CURSO PRATICO S ANOLE a NGO) fas NESTE NUMERO ENSINE SEU MICRO A TOMAR DECISOES Programe seu computador para tomar decisées I6- gicas, empregando a instrucdo IF...THEN.... 41 DIVIRTA-SE COM LABIRINTOS A fungao dos lacos e declaragées DATA na cons- trugdo de um labirinto. Controle o tempo e 0 pla- & COMO DESCOMPLICAR SAVEs E LOADs Aparentemente simples, a tarefa de conectar 0 gra- vador a0 computador pode apresentar dificuldades. Veja como resolvé-las. 53 APRENDA ARITMETICA HEXADECIMAL As vantagens do sistema hexadecimal. Camo fa- zer conversdes do sistema decima para hexa e des- te para 0 bindrio 56 PLANO DA OBRA “INPUT” é uma obra editada em fasciculos semanais, e cada conjunto de 15 fasciculos compe um volume. A capa paraenca- dernagao de cada volume estard a venda oportunamente, COMPLETE SUA COLECAO. Exemplaresatrasados, até seismeses aso encerramento da cleo, poderio ser comprados, a prepos atualzades, da seguine forma. Pessoalmente por tneladeseu jornaeio ou divigindo se a0 distribukor lal eajo endereyo po- eraser facimenteconseguido junto a qualquer ornaleira de sua cidade Em ‘fo Paulo enderegs so: Rus Brigada Tobias, 73 (Centro A Indust, IN? (Santo Andrée no Rio de lane: Kua da Passagem, 93 (Botafogo). 2- Por ‘art ~ Poderdoseraitadesexerplaresarasadostambem por ara, ve deve ‘Serenviada para DINAP-—~ Distribuidor Nacional de Publicagdes — Numeres Arasados — Estrada Velha de Osseo, 132 (Jardin Tereza) ~ CEP 06000 — (Osasc0 — Sao Paulo 3, Por telex — Utlizeon” (11) 33670 ABSA. Em Ports alos peidondevem se eitosDstribudora Jardim de Publcagdes Lid ‘Gia, Pau VaraisAcinhagade Feiais 2688, amarate Lisboa Tel 257.2842 “Apartado $1 ~ Telex 43069 JARLIS P. Nioerie pagamentoatecipado,Oatendmento eft pelo reembolso postal € opagamentoincluindoasdespesas posts, deveraserefetuado a0 se relat Sencomendara Agencia do Correo, Ateneo: Apos sei meses doencerareto Ma colegaa os pedidos sero atendids, ependendo da dsponibiidade de toque Obs: Quando pei livrs menconeempreo titae’ouo ator da obra, alemdo numero da ea. COLABORE CONOSCO Encaminhe seus comentarios, criticas, sugestdes ou reclamagdes a0 Servigo de Atendimento ao Leitor — Caixa Postal 9442, Sao Paulo— SP. ato ‘COLABORADOR Consaler er (Drenrd Nilo do wicrorava ssn Diretora tori: an Rakes ‘Aaptagi prog Bars Norco Pres itor hte: Pade Aneta er kes ator ext io AV Caan dlr de rte Cad aro (held Arte Cras Aitentes de Ate: ilo iver apes Dae M Sn, COMERCIAL fe trea Duni rade Laces Cavan Naren oes Se Ande Nao ge Qs Secret Grits os Fit Unters saad Camp ‘Trade: luo Domes ears raed Asstente Are Dagmar EassSinpa Detar Comer iro Marie Sia deh ee aa Art {Gree Cre erect Bras 1986 ss Lenton Coad ned Creag: Deni Mra oe aica0onganizada pla Eitora Nova Cultura ‘ccvelrade Redan Coordenadory Senna (de eee Severn de esq: tert (Arto 15 da Lei5 988, de 14/12/1973), (Coordennor delnpressc Ai 8000 Preparador de ex oordenader ilies Cin Prparndorece Tet: os Mara iui, Atno Fanon Olvera Karma Ap eh eon a. Nara Teen Galen Pu oie Menon Reise Coordenador oe Mae es Revisor Contes fgaecda Cabti, abl Leed (Grama Lga spurea tema Sara eG lene Nene Maia Ses Tee Mars Lape sive Dc Renato ME Saat rc Bema Fnecegio Edo OMTAQCEST Aes em itt Lids Cris St rea: i Deed herrea ede el relat Sith © Marshall Cavendish Limited 198 © faitora Nova Cultural Lda, S80 Palo, Esta obra foi composta na AM Producoes Grafcas Lida e impress na Divisio Gralica da Etre Abril SA. LTT ESCOLHA 0 CAMINO A ENSINE ee W__ DECISOES MAIS COMPLICADAS ___ APRENDA A UTILIZAR O COMANDO IF... THEN...ELSE Embora néo tenha oérebro, o computador tem capacidade para decidir de forma l6gica, Aprenda a trabalhar com a instrugdo IF... THEN e ensine seu micro a tomar decisées corretamente. que torna um computador infini- tamente superior a uma mAquina de cal- cular & sua capacidade de tomar decisdes, baseadas em raciocinios légicos. Um desses_raciocinios € 0 comando IF... THEN. O computador rcage a es- sa declaragao de modo semethante a um. ser humano: SE (IF) isto ¢ verdadeiro, ENTAO (THEN) faga tal coisa. Eis um exemplo: IF A<18 (ou seja, SE A é menor que 18) THEN PRINT ‘menor de idade” (ENTAO IMPRIMA ‘menor de idade”) ‘Ao encontrar a declaracao IF, 0 com- putador verifica se a proposicao que a segue é verdadeira. Se for, ele executa tudo 0 que estiver apds 0 THEN. Se a proposicdo é falsa, ele ignora 0 resto € passa para a préxima linha do programa. Voce veré como funciona tudo isso no programa a seguir. | SS 10 PRINT “Digite a lista das no tas" 20 PRINT "Digite -99 para termi 30 INPUT N 40 IF Ne-99 THEN PRINT "Média = ";1/c:8T0P 50 LET T-TN 60 LET c-c+l 70 GoTo 30 ‘A mensagem no inicio do programa instrui o usuario a digitar primeiro uma lista de notas e por fim 0 nimero -99. As linhas 25 e 26 zeram o valor das va- ridveis do total (T) ¢ do contador (C). Allinha 30 dé entrada ao valor que vo- @ digita. A linha 50 adiciona esse valor ao total corrente, ¢ a linha 60 conta quantos niimeros voc® digitou, adicio- nando | a variavel do contador cada vez que um novo niimero é dado. Enquanto vocé estiver digitando no- tas reais, o computador ignorard a linha 40 e seguird em frente, mas, quando vo- c@ digitar -99, a condigdo da linha 40 N=-99 sera satisfeita, ¢ computador imprimir a média das notas (T/C). Nu- ‘meros como -99 so chamados de ficti cios, ou terminais, e so titeis para con- {rolar o que acontece em um programa. Este € um recurso muito usado para in- terromper partes de um programa. Mme ae E se voce quiser escolher entre trés ou mais alternativas, de modo a colocar 0 computador em’ diferentes cursos de acao? E simples: 0 computador sorteia uum nimero que vocé tem de adivinhar; a0 comparar 0 seu palpite com o mime- ro sorteado, ele elabora trés alternativas: © palpite foi correto, foi muito baixo, ‘ou muito alto. Tudo se passa, portan- to, como num jogo de advinhacio. 5 cus. 10 LET N-RND(20) 20 PRINT "ACABO DE IMAGINAR UM NUMERO. ..* 30 PRINT "TENTE ADIVINHA-LO!” 40 INPUT G ]50 IF G-N THEN PRINT "MUITO BEM I*:FOR Del TO 2000:NEXT D:GOTO 10 60 IF GCN THEN PRINT "ESTA BATX ©, TENTE OUTRA VEZ!" 70 IF G>N THEN PRINT 01 TENTE DE Novo.” 80 GoTo 40, Atengio: digite 0 programa abaixo em maitisculas, se quiser executé-lo nos compativeis com ZX-81 sMurITO ALT 5 cts 10 LET NeINT (RND*20)+2 20 PRINT "Eu acabo de imagina 30 PRINT “Tente adivinha-lo. 40 INPUT G 50 IF G-N THEN PRINT “Muito bem!": PAUSE 100: GOTO 10 60 IF GCN THEN PRINT "Esta b aixo; tente outra vez!" 70 IF O>N THEN PRINT "Muito alto! Tente de novo.” 80 Goro 40 © programa abaixo, como esté, ro- dard apenas nos micros tipo MSX.’ Pa- ra rodé-lo no Apple II ¢ no TK-2000, climine a linha 3 e substitua 0 comando da linha 5 por HOME. 3. ReRND(-TIME) 5 cis 10 LET NeINT(RND(1)*21) 20 PRINT “Acabo de pensar e um numero” 30 PRINT *...serd que vocé cons egue advinhd-1o 7° 40 INPUT G 50 IF GeN THEN PRINT "Certo, mu ito bem!” :FOR Del TO 2000:NEXT D:coTo 5 60 IF GN THEN PRINT is, tente outra vez 80 coro 40 “muito bai "Alto dena A linha 10 escolhe um mimero ao inhé-lo. Qualquer ue seja sua resposta, o computador ve- rifica, nas linhas $0, 60 e 70, que pro- posigdo € verdadeira, Suponha que seu palpite seja um ni- mero abaixo do sorteado. Neste caso, 0 computador vai primeiro para a linha 50; mas P=N é falso, de modo que ele ignora o resto da linha e passa para a seguinte, a linha 60. Agora, a proposi- gao € verdadeira, visto que P"S™ AND AS@>"N" THEN GOTO 110 120 IF AS@"S" THEN RUN WS) ‘Atencio: para poder rodar o progra- ma abaixo em computadores tipo Ap- ple e TK-2000, substitua a linha “THEN 110 GET as 100 PRINT ,,"Quer jogar outra v ez (8/N)7" 110 LET AS@INKEYS: IF AS@"* THE N Goto 110 120 IF AS="5" OR AS: Tos 2" THEN GO A linha 110 espera que vocé acione uma tecla. Caso seja o ‘*S”” maitsculo, © programa continuard. Se qualquer ou tra tecla for acionada, o programa ter- minard, mw Para fazer 0 computador testar duas ‘ou mais condigdes, antes de decidir que caminho tomar, use palavras especiais chamadas operadores Iégicos: 100 IF D$="DOMINGO" AND H=20 THEN PRINT "E' HORA DO FANTASTICO™ Quando voe# usa AND (a conjuncio ¢, em inglés) entre duas condigdes, am- bas devem ser verdadeiras para que 0 computador execute o resto da linha. Se uma delas ou as duas forem falsas, ele passard para a préxima linha. Nesse ‘exemplo é necessério que sejam 20 ho- ras de um domingo para que 0 compu- tador imprima mensagem. Veja outro exemplo: 200 IF PS-"SAGU" OR PS="TAPIOCA” THEN PRINT "NAO ESTOU COM FONE” Essa linha usa OR (ow, em inglés) € © computador imprimiré’a mensagem no caso de pelo menos uma das compa- ragdes ser verdadeira, ‘0 teste pode vir a ser muito compli- cado se houver uma quantidade muito grande de condigdes para verificar. Se ‘vocé tem varios AND € OR juntos, tera que usar parénteses para que 0 compu- tador saiba o que verificar primeiro. ‘Uma linha de um jogo de aventuras pode se parecer com isto: 2000 IF P=14 AND (CS="ESPADA" OR C§="FACA") THEN PRINT "VOCE DESTRUIU 0 GREMLIN" Isso $6 & verdadeiro se voce estiver na posigdo 14 E com uma espada OU uma faca. Mude os parénteses: 2000 IF (P=14 AND CS="ESPADA") OR CS="FACA" THEN PRINT "VOCE DESTRUIU 0 GREMLIN" Agora ela serd verdadeira se voce es- tiver na posi¢ao 14 com uma espada OU se estiver em qualquer lugar com uma faca, fd Tad Agora, usando os conceitos que aprenderios, vamos programa um j- ho que simula uma maquina caca- miguel Ela faz um bom uso de AND € OR, Tente tirar a sorte grande! 20 LET M=50 30 CLS 40 LET Mam-5 50 IF MO THEN PRINT "DESCULPE ~. VOCE ESTA DURO!":END 60 LET A-RND(12)+192 70 LET BeRND(12)+192 80 LET C#RND(12)+192 210 PRINT €237,CHRS(A) :PRINTE23 9,CHRS(B) :PRINT €241, HRS (C) 220 IF A=B AND B=C THEN PRINT @ 258, "VOCE GANHOU $50!!!":LET m= esd 230 IF (ASB OR B=C) AND AC>C T HEN PRINT 6361, "VOCE GANHOU $10 EPELET Ment+10 240 FOR D=1 TO 500:NEXT 250 PRINT €323,"QUER JOCAR OUTR A YEZ? (8/N)":PRINT @361,"VOCE T EM Ss": OS OPERADORES LOGICOS Se vocé no esté acostumado com 0s simbolos usados em matemstica pa ra expressar relacdes Idgicas, como “maior que’ e “menor que” — 08 ch mados operadores — pode aché-los meio confusos, no inicio. ‘Assim, pense neles como uma es- pécie de cunha. No simbolo > 0 lado mais aberto, a esquerda, 6 maior do que o lado mais agudo (a ponta). No simbolo < 0 lado mais estreito, 4 es- querda, 6 menor do que o lado direito. Deste modo, a expresso A>B deve ser lida simplesmente: A é maior do que 8. Colocar 0 sinal de igualdade (=) a0 | do de um dos operadores prévios sig nifica também que pode ser “maior ou igual a’ ou “menor ou igual a” Eis aqui a lista de todas as combi nag6es possiveis: A=B :AéigualaB A>B 3A é maior que B A =B: A 6 maior ou igual aB AS =B: A 6menor ou igual a B Ac>B: A é diferente de 8 ‘Alguns computadores exigem que ordem de digitagdo dos operadores compostos seja sempre a mesma. Por ‘exemplo, ndo se pode digitar >= ou > indistintamente: eles nao vio acei tar, Em outros micros, 0 esquema é mais liber ‘Nos computadores da linha Sinclair ‘0s operadores compostos sio digitados an avés de uma Unica tecla. Dessa for- ma, se voc8 tentar entrar o sinal < se- guido do sinal =, por exemplo, a linha gera um erro de’sintaxe. Finalmente, alguns computadores aceitam também o sinal # (sustenido), para significar “diferente de” Posso combinar dois ou mais IF...THEN ‘em uma dnica linha? ‘Sim, mas esta ndo 6 uma idéia mui- +o boa, pois dificulta muito a com ‘80 de como funciona um procrama @ pode gerar erros légicos (© principio basico da declaracao IF...THEN 6 que 0 que vem depois do THEN na linha do IF, $6 serd execute- do se a proposico for verdadeira. As sim, na linh 70 IF X=¥ THEN PRINT "NAVE DESTRUIDA™ LET NAVES= NAVES-1:GoTO 30 Nenhuma das instrugSes apés o THEN serd executada, se X for diferen- te de Y. Mas, algumas vezes 0 IF com- posto pode ser uti 70 IF XeY THEN PRINT "NAVE DESTRUIDA": IF _NAVES>OITHEN LET NAVES=NAVES-1 80 IF X-¥ AND NAVES=0 THEN PRINT "FIM DO JOGO": END Note como os dois IFs na linha 70 simplificam @ programacao. Por que ocorrem erros quando tento ro- dar programas digitados? Pode ser que existam falhas no pro- grama em si, mas os erros mais co- uns so de digitacdo, quando se esté copiando. Eis alguns deles (lembre-se de checé-los um @ um, quando estiver copiando programas! = Confundir a letra maiiscula | ou a le- tra L mindscula com 0 nimero 1; ou ainda a letra O maidscule com o zero. Confundir parénteses com os sinais de maior (>) e menor (<). Confundir ocifrdo (8) com aletraS, ou omiti-los. — Omitir as aspas no comeco ou no fim, em comando PRINT ou LET. Omi tir 08 dois pontos (:) entre instrugdes na mesma linha, — Esquecer a virgula entre dois itens de uma decleragio DATA, o que pode determinar um numero muito grande ara o computador, ou a falta de um Fem quando o computador chega ao fi nal dos DATA. = mit um sinal de, menos (em ur programa que gera gréficos Eovpode resultar em uma tentative de desenhar além dos seus limites). = Omitic um sinal de ponto e virgula no. final de uma linha PRINT ou colocar um 260 LET KS*INKEYS:IF KS="" THEN ‘GOTO 260 270 IF Ks="s" 280 END 20 LET M950 30 cus 40 LET Mem-5 50 IF MCO THEN PRINT "Descul pe... Voce esta duro!": STOP 60 LET AsINT (RND*12)+130 70 LET BeINT (RND*12)+130 80 LET CaINT (RNDM12)+130 210 PRINT PAPER 0; INK 4:aT. 10,14;CHRS AjAT 10,16;CHRS B; At'10,18;cuRs c 220 TF AB AND B=C THEN PRINT AT 13,2;"Voce ganhou $50 LET MoMe5O 230 IF (A*B OR B=c) AND ACC THEN PRINT AT 13,9;"Voce ganh ou $101": LET MeHt10 240 PAUSE 25 250 PRINT AT 15,6;"Quer jo0ar outra vez?(5/N)*: PRINT TAB 10 it¥oce tem $°:M 260 IF INKEYS="" THEN GOTO 260 220 IF INKEYS="n" THEN STOP 280 GoTo 30 Md 20 LET MHS 30 cLs 40 HeH-5, 50 IF M C THEN VTAB 22: PRINT "Vo CE GANHOU $10": LET M = M+ 10 130 FOR I= 1 TO 500: NEXT T 140 UTAB 22: PRINT "OUTRA VEZ? (S/N)2": PRINT “VOCE TEM S7:H 150 GET AS 160 IF AS = "NT THEN 170 Goro 30 (a) A versio para 0 TK-2000 usa 0s ci racteres do teclado. $6 as linhas que se- ro substituidas no programa acima aparecem abaixo: END 30 HOME 60 LET A= INT ( RND (1) * 12 ) + 222 70 LET B= INT ( RND (1) * 12 ) + 222 80 LET C= INT ( RND (1) * 12 ) + 222 90 UTAB 10 100 PRINT TAB( 18); CHRS (242 ); CHRS (A); TAB( 209; CHRS (24 2); CHRS (B): TAB( 22); CHRS (2 42); CHRS (C) ©. programa usa varias linhas IF...THEN. A primeira, de nimero'50, checa se vocé tem dinheiro para jogar Se vocé tem, a linha ¢ ignorada, mas, se ndo, uma mensagem é mostrada, ¢ 0 Jogo termina. ‘AS linhas 60 a 80 escolhem trés mi- ‘meros aleatorios, ea linha 210 converte esses niimeros em caracteres (no caso dos computadores das linhas TRS- Color, Spectrum e MSX, naipes de ba- ralho) € os coloca no centro da tela. O Sinclair e 0 TRS-Color convertem esses niimeros em cafacteres. Os outros neces- sitam de ajustes. Na linha 220, se os trés caracteres so iguais, vocé ganha 0 jack pot (maior prémio) e seu dinheiro ¢ aumentado em $50. Na linha 230 voce ganha $10'se dois caracteres adjacentes sao iguais (A. ou B=C), mas nfo ganha nada se os dois caracteres das extremidades sio iguais. Se vocé nao ganhar nada, o com- putador ignora as linhas 220 e 230 e pas- a sa para a 240, que provoca uma breve pausa. As linhas seguintes so uma outra versio da rotina “‘sim/ndo”” que checam se voo# quer uma nova jogada. Cd Em alguns computadores vocé pode eserever a instrugao IF de uma forma muito mais poderosa, chamada de If...THEN...ELSE. Veja um exemplo: 10 20 INPUT IDADE IF IDADECI8 THEN PRINT ‘MENOR DE IDADE” ELSE PRINT “ELEGIVEL” Esta linha faz exatamente o que diz, Se vocé tem menos de 18 anos, 0 com- putador imprime “MENOR DE IDA. DE”, mas, se voc’ iver 18 ou mais, cle imprimira ““ELEGIVEL” ‘Dos computadores que apresentam a declaragio IF...THEN...ELSE em seu repertorio de BASIC apenas os das li- nhas TRS-80 e MSX estado ilustrados aqui. ‘Com a instrucZo IF...THEN...ELSE. © programa fica mais facil de ler e es: crever. No entanto, ela nao é essencial, Vocé pode escrever programas sem ela s¢ 0 seu computador usa apenas Ik... THEN. Existem duas maneiras de contornar 0 problema. Uma emprega IF... THEN seguido de GOTO para pu: lar para a parte requerida do programa: INPUT IDADE TF IDADECI8 THEN PRINT *MENOR DE TDADE":GOTO 30 PRINT "ELEGIVEL" restante do programa Esse tipo de programagao serve para (65 micros que permitem comandos mull- tiplos por linha, isto 6, a colocagao de mais de uma instrugao na linha do IF. Os compativeis com 0 ZX-81 no con- tam com essa possibilidade. A segunda solugdo do problema apdia-se_ num IF... THEN extra para assegurar que to- das as possibilidades sejam cobertas: 10 INPUT _TDADE 20 IF IDADE=18 THEN PRINT *ELEGIVEL™ restante do programa Como dois IFs demoram mais tem- po do que um s6 para serem executados (€ isso importante quando o mesmo trecho de programa deve ser executado ‘muitas vezes), outro estilo de programa- do de alternativas é 25 30 10 20 22 24 25 30 INPUT _IDADE IF IDADE>=18 THEN GOTO 25 PRINT "MENOR DE IDADE™ GoTo 30 PRINT "ELEGIVEL” resto do programa Nas duas iiltimas programagoes, € mais dificil entender 0 fluxo de desvios do que o programa com apenas uma li- nha IF... THEN...ELSE. 3 PROGRAMACAODEJOGOS 3 I DIVIRTA‘SE COM LABIRINTOS cexigem programas muito longos. Mas vocé pode construir alguns bem simples com pouco mais do que um lago declaragées DATA. —eEE Jogos com labiintosexerceram sem- 150 NEXT Isto € possivel porque o TK9OX nunca to pectin grandefascinigsobreurudriosde 160 WET coloce dois caracetes na mesma pos; | ¥# SSmputadores, ¢ variagdes do t20.CO= yegg sara ppppppprpprpere* foi endo, 0 ultimo toma O lugar do 20 nhecido “Comie-come™ (PacMan) con- 3000 DATA “Pi e. primeio, if finvam a sparecer constantemente no a , fours 9020 DATA “p.pp.pD.9B.PD.> Este artigo Ihe ensina aentrarnaon- 9030 DATA "p.p. nore D BT Cla do da e fazer um emocionante jogo de la- 9040 DATA "p..-p-p-P-D...D” 5 a oe on eat chanel a ak Um labirinto & ini se nao hd nin a O labirinto, nesta primeira tentativa, 9060 DATA “p. P.p. rd guém ou algo para andar dentro dele. us ndo inclut “inimigos” ou obstéculos, 9070 DATA “pove.oe.po.vove" _atd0 execute o programa acima para Ge exgiiam um programa bem maior. 9080 DATA “p.....p-p.....e" Yer cumofieae depots acione as seguin- na Here monics cou farae parece OF “c0ststara eclieo eal oie se die res 0 ey Hed ms ecto TN Ge EDEL DRE Pe : 6 as paredes ¢ inclui também cronometra- » ” 5 Leas do lu $110 bata “p.b lp 60 ter yeid | fem, manutengao de um placar e uma 9120 DATA 7 i 5 me rotina de registro de recordes, para dar rA "P-PP.PP-PP-PP-P’ 1000 PRINT PAPER 6; INK 2;AT x mais competitividade ao jogo. Heme Dees er oyna bil 9140 DATA "pppppppepeeprD” «1010 LET xxx 29 1030 IF INKEYS="" THEN GoTo 10 A maneira mais facil de compreender .s linhas e usan- 36 coftansra mais el decomprecnder AS inhas 100 120, 180 ¢ 16,ustn- 049 xp ayeygerv" AND ATR (a= nos micros da linha Sinclair Spectrum, ps waar 1,y)<>9 THEN LET x=x-1 como 0 TK90X, é ir por etapas: gos FOR...NEXT, determinam os limi- 959 tp INKEYS="2" AND ATTR (xt Pa 1060 IF INKEYS="a" AND ATTR (x 100 FOR n=3 TO 17 ponto em cada posi¢do da tela dentro desses limites. 110 READ as. 120 FoR m=7 TO 21 As linhas 110 ¢ 140 Iéem os dados das 130 PRINT AT n.mi.* linhas 9000 a 9140 e substituem 0 pon- 140 IF a$(m-6)="p" THEN PRINT to por um espaco em fundo azul, onde PAPER 1; INK 1;AT nyai7 7 ‘© padrao dos dados mostrar um *p". Ho y-1O9 THEN LET y-y-1 1070 IF INKEYS="B" AND ATTR (x, y1O9 THEN LET y=y+l 1080 PRINT INK 7:AT xx.Y¥1 1090 coro 1000 ‘Como todos os personagens famosos dos jogos, nosso amigo asterisco é po- sicionado'em x,y e se movimenta, aos seus comandos, por uma série de linhas usando INKEYS. ‘Aqui, no entanto, ha uma determi- nada diferenga vital: ele s6 pode mover- se para uma posigdo se esta ndo for azul. Ou seja, se ATTR nao for igual a9, sen- 0.9 0 valor numérico da cor com a qual voo8 imprimiu as linhas do seu labirinto, No caso de vocé querer criar um la~ birinto de outra cor, veja como chegar ao valor de ATTR: 1, Tome 0 valor da cor do caractere (INK), como esti no teclado do compu tador — neste caso 1 2, Tome o valor da cor da tela (PA- PER) — neste caso 1 — e multiplique por 8. Resultado, 8. (OS PRINCIPIOS DA CRIACAO DE UM LABIRIN 0 a CONSTRUA UM LABIRINTO (OM LACOS E COMANDOS DATA 3. Adicione 64 se a area em questio & ciara (BRIGHT). Neste caso, resulta- do 0. 4, Adicione 128 se a drea esté piscan- do (FLASH). No caso, resultado 0. Some ento todos os niimeros. O re- sultado sera 0 valor de ATTR. ‘A fungdio ATTR no TK9OX tem, en- tretanto, outros usos além de impedir que o seit personagem atravesse paredes solidas. Em um labirinto maior, voc pode- ria usar a mesma idéia para fazer com que ele exploda ao entrar em uma zona proibida. Para um labirinto que use ca- racteres (INK) vermelhos sobre fundo (PAPER) vermelho, voce necessitaria uma linha comegando com: IF ATTR=18 THEN As linhas 1010, 1020 e 1080 definem a posigio que 0 personagem acabou de deixar e apagam o ponto que ele “*co- meu”, imprimindo um espago. Estas sdo linhas titeis em qualquer jogo, mas note onde elas aparecem — as primei ras linhas, antes das INKEYS, respon- CONTROLE 0 TEMPO EO PLACAR : COMO MOVER UMA FIGURA i PELO LABIRINTO a FACA PAREDES INTRANSPONIVEIS saveis pela aco, e a linha final, logo apés estas. ‘A linha 1090 é temporaria e serd rees- crita depois. Seu propésito é permitic que voo’ rode o programa eo teste. Sem fechar 0 laco, 0 caractere se moveria apenas uma vez. me) Para que esse jogo possa ser jogado, sem contar com “‘inimigos"” que exigi- riam um programa muito complexo, 0 melhor é uma rotina de cronometragem e placar, ‘Adicione estas linhas: 10 Ler bt=100000 40 LET 8-0 990 POKE 23672,0: POKE 23673,0 1025 IF #=110 THEN GoTo 2000 1090 IF ATTR (x,y)<>63 THEN LE Teestl: SOUND .005,10 3 PROGRAMACAO DE JOGOS 2000 LET t= (PEEK 23672+256*PEEK 23673) /50 2010 PRINT AT 1,6:t:* SEGUNDOS 2020 IF tcbt THEN LET bt-t 2030 PRINT AT 19,4;"Melhor temp 0: ":bt:" segundos” Acrescentando uma linha temporé: ria, Lembre-se de apagé-la depois: 1100 Goto 10 0 placar & muito simples. A linha 40 coloca a contagem inicial em zero. A li nha 1090 adiciona 1 cada vez que o ‘Come-come” devora mais um ponto, ou melhor, sempre que ele cruza um es- pao em que INK e PAPER sio ambos brancos — ATTR novamente. E a linha 1025, que entra em a quando todos foram comidos, faz com que 0 computador verifique quanto tem: po 0 jogador levou para chegar a esse ponto. Ja @ cronometragem ¢ um pouco mais complicada. Até que voc® com preenda os comandos PEEK e POKE, que sero explicados num artigo proxi mo, procure assimilar 0 procedimento que se segue. Em restumo, a linha 990 zera o reld- gio do TK90X' ao jogar o valor 0 num endereco de meméria apropriado. A li nha 2000 conta o mimero de linhas for ‘madas pela tela desde que 0 jogo come- gou e entdo divide por 50 — 0 numero de linhas por segundo em um televisor. ‘Ao mesmo tempo, a linha 10 deter mina o “melhor tempo" inicial em 100000, muito mais que qualquer um le- varia, de forma que ele sera batido. A Tinha 2020 compara o novo tempo com © “melhor BB 4 versio para o TRS-Col mostra o tempo empregado. new Para dar ao jogador a chance de ou. tra tentativa, use estas novas linhas, Pri meiro, prestione ¢ ‘ ¢, entiio, 2040 PRINT AT 20,2;"Pressione ¢ ualquer tecla para d00ar den 2050 IF INKEYS<>"* THEN GOTO 2 a50 2060 IF INKEY$="" THEN GOTO 20 60 2070 RESTORE 2080 Goro 40 Einerecnne) Se vocé quiser tentar outros labirin. tos do mesmo tamanho, pode fazé-lo, mudando o padrio de letras “p" das i nhas DATA, da linha 9000 em diante. Se fizer isso, assegure-se de tet dados su- ficientes para completar 0 labirinto ou terd uma mensagem de erro antes que apareca na tela Estas primeiras linhas formam o la~ birinto propriamente dito: 30 cLsa 40 LET p=297 1000 FoR N=0 TO 15 1010 READ AS 1020 PRINT @ (W*32)+6,AS: 1030 FOR M=0 TO 18 1040. IP PEEK (1024+ (W%32) +64) =6 5 THEN POKE (1024+ (N*32)+6+H) .17 1050 wext = as: 1060 NEXT N 2000 DATA AAAAAAAAAAAAAAAMAAA 2010 DATA A. AAA 2020 DATA ALAALAA... .AALAALA 2030 DATA ALA. c+ cAAAL. «J -ALA 2040 DATA A..-ALAL.../ALAL A 2050 DATA ALAAALAA. ALAA AAA.A 2060 DATA A.A. ary 2070 DATA AAA. -A/AAA_A../AAA 2080 DATA AAA. .-ALAAALA. | .AAA 2090 DATA A.A. ae 2100 DATA ALAAALAALALAA_AAALA 2110 DATA AL. ALALL 0 -AA. oA 2120 DATA ALAL.2--AAAL. |. ALA 30 DATA ALAALAA.-..-AA_ARLA 2440 DATA A wy a 0 DATA AAAAAAAAAAAAAAAAAAA. A forma do labirinto estd contida nas linhas de dados (DATA), de 2000 a 2150. Nesse estdigio 0s limites dele so representados por letras **A’ ‘Antes que 08 dados sejam lidos, a li: nha 30 limps a tela ea coloca na cor ver melha, cujo cédigo €4. A linha 40, por sila vez, coloca 0 asterisco na posicao inicial As linhas de 1000 a 1060 desenham © labirinto na tela, Ao mesmo tempo. sempre que lago FOR...NEXT das li thas 1000 e 1060 é execuiado, 0 prosra ma lé a prdxima linha de dados ATA). A linha 1010 1@ os dados e os chama de AS. A linha 1020 coloca-os na tela. A linha 1040 verifica a poreao da me- méria da maquina que corresponde a cada posicao de tela. Se 0 endereco de memdria contém 0 mimero 65, temos um “A” na tela, e ele é mudado para tum bloco azul (¢édigo 175). As linhas 1030 e 1050 fornecem o foop com que a a linha 1040 verifica todas as posigdes da tela Agora adicione essas linhas € voce podera deslocar um homenzinho pelo la- birinto, Logo PRINT ep, 1090 LET Lp=P) 1100 IF PEEK(340)=247 AND PEEK( 1023+P)<>175 THEN LET P=P-1 1110 IF PEEK(338)=247 AND PEEK( 1025+P)<>175 THEN LET P=P+1 1120 IF PEEK(338)~251_ AND PEEK( 992+) 175 THEN LET PaP+32 1150 PRINT @LP," * 1170 GoTo 1080, Esta parte do programa permite que vocé mova o seu earactere pelo labirin: to, Ela tem algumas particularidades. O. homem s6 pode ser movimentado se 0 pponto para onde se quer leva-lo no con- tém um bloco azul. A linha 1100 veriti- ca 0 contelido de duas posigdes de me méria: a que corresponde a tecla ““Z"* ea que corresponde a posigao de tela em que o homem vai entrar. Se a tecla “Z”” (cédigo 223) esta sendo pressionada ¢o enderego de tela nao contém um bloco azul (cédigo 175), entdo ele pode se mo- vimentar, As tecias para controle de movimen- to sio as mesmas jd utilizadas: “2” pa- raaesquerda, “X” paraa dircita, “P para cima e “L” para baixo. Tente a dar com 0 asterisco pelo labirinto de for~ ma que os pontos sejam apagados. Acrescente estas linhas e marque o tem- ponecessario para "‘comer’” os pontos: 20 LET FA=999999 50 RESTORE 60 LET Deo 1070 TIMER=0 1140 IF PEEK(1024¢P)=110 THEN P TAY "T80B":LET D=D+1 1160 IF Del53 THEN GoTo 1180 1180 PRINT ep." "; 1190 TI=TIMER/50 1200 PRINT @52, "TEMPO" 1210 PRINT @84,71;"SEG 1220 IF FA>TI THEN FATT 1230 PRINT €212, "MELHOR TEMPO": 1240 PRINT €244,FA; "SEC * 1250 PRINT €340."PRESSTONE™; 1260 PRINT €372,"” 1270 PRINT @404, "PARA COMECAR™ 1280 PRINT €436, "DE NOVO"; 1290 LET INS@INKEYS:IF INS="* T HEN GoTo 1290 1300 IF INS=CHRS(13) THEN GOTO 40 1310 Goro 1290 Quando vocé executa este programa pode verificar a direita do labirinto 0 tempo gasto para remover os pontos e também o melhor tempo. Inicialmente, o melhor tempo & c Jocado em 999999 segundos pela linha 20. A linha 60 zera o placar, e a linha 1070 zera 0 “erondmetro” A linha 1140 examina a posigio em que 0 asterisco esta, para ver se hd um ponto. Em caso positive, 0 comando PLAY € usado para emitir um ‘blip’ enquanto 0 ponto é apagado, Ela tam bém adiciona um ponto a D, que con- tém_ 0 mimero de pontos ‘‘comidos’ ‘A linha 1160 verifica se nfo ha mais pontos na tela. Se estes terminaram, 0 programa pula para a linha 1180, que ragdo TI = TIMER/S0 na li- nha 1190 para 0 reldgio e divide o que gst sendo ldo por $0, para transforma lo em segundos A linhas 1200 e 1210 mostram o tem: po na tela. A linha 1220 checa se © melhor tem- po (FA) é maior que o obtido na ultima contagem. Se for, ele é igualado a este. As linhas 1230 ¢ 1240 mostram o melhor tempo, antes que uma mensagem oriente © jogador a teclar para re- ‘comegar ‘A linha 1290 aguarda, até que uma tecla seja pressionada, e @ 1300 verifica se foi . Neste caso 0 jogo recomega. O RESTORE na linha 50 per mite que os dados (DATA) possam ser lidos novamente, Se ndo foi teclada, 0 computador continua es- perando outra entrada. Atecla , finalmente, ter mina 0 jogo: fas Eine Use papel quadriculado para dese nhar seus labirintos. Tenha sempre em mente o tamanho da tela do computa- dor: 32 por 16 caracteres, Desenhado 0 novo labirinto, altere 0 contetido das linhas DATA. Se o novo labirinto for maior ou menor que o an- tigo, voc® tera que modificar o tamanho do lago FOR...NEXT (linhas 1000 ¢ 1030). Conte quantas linhias o novo la- birinto ocupa e subtraia 1. Coloque o re- sultado no lugar do iiltimo nimero da 3 PROGRAMACAODEJOGOS = 3. linha 1000. Da mesma forma, faca a contagem do nimero de posigdes da pri- meira linha e subtraia 1. Coloque, em seguida, esse niimero no lugar de 18 no fim da linha 1030. Finalmente, conte quantos pontos existe no seu novo labirinto. Se encon- trar um nimero diferente de 153, altere a linha 1160 também, substituindo 153 pelo novo numero. Estas primeiras linhas constituem 0 labirinto propriamente dito: 10 SCREEN 1:COLOR 1.3.3 40 Let P-247 70 VPOKE BASE(6)+5,26 80 UPOKE BASE (6)+1,102 90 LOCATE 0,3 100 FoR N=0'TO 15, 110 READ AS 120 PRINT TAB (4) :AS 130 FOR M-0 TO 18 140_IF_UPEEK (BASE (5)+102+N*32+H )=65 THEN UPOKE BASE(5)+102#N#3 2,8 150'NExT m 160 NEXT N 1000 DATA AAAAAAAAAAAAAAAAAAA 1010 DATA As... . AAA. eo 1020 DATA ALAALAA..../AALAALA 1030 DATA ALA... .-AAA.. «ALA 1040 DATA AL.cALA....0ACAL «8 THEN 210 TF KS=CHRS (28) SE(5)+P+1)<>8 THEN LET P-P#] 220 IF KS=CHRS(30) AND PEEK (BA 5E(5)+P-32)<>8 THEN LET P=P-~32 230 IF KS=CHRS(31) AND VPEEK (BA SE(5)+P+32)<>8 THEN LET PaP+32 250 UPOKE BASE(5)4LP, 255 270 GoTo 180 ‘AND Let AND ‘ movimento do caractere pelo lal rinto 86 € possivel se o ponto para onde se quer levd-lo no contém um bloco azul. A linha 200 verifica se uma tecla foi apertada e qual é 0 contetido de duas posigdes de meméria: a que correspon- de i tecla de movimentacao do cursor “flecha para baixo"” ea que correspon- de & posigdo de tela em que o homem vai entrar. Se a tecla (cédigo 29) esta sendo pressionada, e 0 endereco de tela nao contém um bloco azul (cdigo §), ele pode se movimentar. As teclas para controle de movime: to so as usadas para a movimentago do cursor (marcadas com as flechas nas ‘quatro diregdes). Experimente deslocar ‘© asterisco ¢ “‘comer’” (apagar) os pon- tinhos. ‘Adicione estas linhas e marque o tem- po para “‘comer"” os pontos: > 20 FA=999999! 30 RESTORE 50 LET D=0 170 TIME=0 240 IF UPEEK(BASE(5)*P)=46 THEN SOUND 7,7:8OUND 6,0:SOUND 8,15 SOUND 6, 0:LET DeDtl 260 IF D=153 THEN GoTo 280 260 UPOKE BASE (5)+P, 255 290 LET TIINT (TIME/50) 300 LOCATE 7,1:PRINT "TEMPO: Ti"sec * 310 IF FASTI THEN FASTI 4320 LOCATE 3,20:PRINT "MELHOR T EHPO=";FA;"SEG. * 330 LOCATE 7,21:PRINT “Aperte R eruRn * 390 LET KS*INKEYS:IF KS= 390 400 IF KS=CHRS(13) THEN GoTo 30 410 GoTo 390 THEN (© tempo gasto para remover os pon- tos, assim como o melhor tempo, € mos trado a direita do labirinto, quando vo- cf executa este programa. De inicio, 0 melhor tempo é colocado em 999999 se gundos pela linha 20. A linha $0 zera 0 Placar, ¢ a linha 170 zera 0 ‘A linha 240 examina a posicao em que 0 asterisco est4, para ver se hd um onto. Em caso positive, o comando SOUND é usado para emitir um “blip” enquanto o ponto € apagado. Ela tam- ibém acrescenta um ponto a D, que cor tém o nimero de pontos “‘comidos”. A linha 260 verifica se no ha mais pon. tos na tela. Se estes terminaram, 0 pro- ‘grama pula para a linha 280, que apaga 6 asterisco. Acionamos aqui o coman- 40 VPOKE, como acima ‘A declaragao Th= INT(TIME/S0), agora na linha 290, para o relégio e di Vide o que esta sendo lido por $0 para transformé-lo em segundos. A linha 300 mostra 0 tempo na tela, ‘linha 310, por sua vez, checa se 0 melhor tempo (FA) ¢ maior que 0 tem= po obtido na ultima contagem. Se foi, ele é igualado aeste ultimo. A linha 326 mostra o melhor tempo, antes que uma mensagem diga ao jogador para tecome- gar, teclando AA linha 390 aguarda até que uma te~ cla tenha sido pressionada, ea linha 400 verifica se foi < ENTER > . Neste caso, © jogo recomega, O RESTORE na linha 30 permite que os dados (DATA) pos. sam ser lidos novamente. Se alguma te- cla diferente de foi pressio- nada, o computador continua esperan. do outra entrada, O comando encerra 0 jogo. (a Estas primeiras linhas formam o la- birinto propriamente dito: 30 HOME : oR 40 Ler = 16: LerN = 4 1000 FORT = 0 70 15 1010 READ AS 1020 FOR J = 1 70 19 1025 IF MIDS (AS,J,1) = "AT T HEN COLoR= 3: PLOT 2 * 3,2 * T PLOT 2* 9+ 1,2" t: PLOT 2 4.28441: Piotr 2* 9+ 1,2 xied 1030 IF MIDS (A8.J,1) = 7." 7 HEN cOLOR= 12: PLOT’ 2 * J,2 * I 1050 NEXT 9 1060 NEXT I 2000 DATA “AAAAARARAAAAAAAAAA Ae 2010 DATA “1 AAR. ee 2020 DATA a 2030 DATA x 2040 DATA z 2050 DATA » 2060 DATA Ay 2070 pata ee 2080 Data re 2090 ATA a 2100 DATA im 2110 DATA ie 2120. DATA ie DATA DATA, pata. PALA. ARLAA Px aera geAcoe eh RAEN TAL, a AAA. ALAARLD. PARAL. (ALARA. AA PAL a TALAMA.AA.A- AR. AMA “AA. TALARLAA, 3 limites do labirinto sio represen tados, neste estdgio, tal ymo em exem- plos anteriores, por ietras "“A””. Da mes- ma forma, seus contornos esto conti- dos nas linhas de dados (DATA), de 2000 a 2150. Portanto, 0 programa s6 funcionard se forem adicionadas essas linhas. E relativamente facil alterar a forma para um novo labirinto: basta modificar as linhas de 2000 a 2150. Antes que os dados sejam lidos, a li- nha 30 limpa a tela e a coloca num mo- do grafico de baixa resolugdo. A linha 40 coloca o asterisco na posicao incial. As linhas de 1000 a 1060 desenham o labirinto na tela. A cada vez que 0 la- 0 FOR... NEXT das linhas 1000 ¢ 1060 € executado, 0 programa Ié a proxima linha de dados (DATA). A linha 1010 Ie os dados, ¢ os chama AS. A linha 1025 coloca-os na tela, na forma de qua- dradinhos coloridos (cor = 3 onde hou- ver a letra A, © cor=12 em outros pontos). ‘Agora adicione estas linhas e vocé po- deré deslocar, mais uma vez, um ho- menzinho pelo labirinto. 1080 COLOR= 1: PLOT 2* M,2 * N: PLOT 2.= M+ 1,2 *.N: PLOT 2 *M2* N41: PLOT 2 * M+ 1, zene. 1090" Let pM = M: LET PN = N 1100 IF PEEK ( - 16384) = 218 AND SCAN( 2% (m1 - 1),2 * ND <> 3 THEN LET M21 1110 IF PEEK ( - 16384) = 216 AND ScRN( 2% (4 + 1),2 * ND <> 3 THEN LET M = M1 2120 IF PEEK ( ~ 16364) ~ 208 ‘AND SCRN( 2. * m,2 * (N- 1) <> 3 THEN LET N=N-1 1130 IF PEEK ( - 16384) = 204 AND SCRN( 2." M.2* (N+ 1)) <>3 THEN LET N= N+ 1 1150 COLOR= 0: PLOT 2 * PM,2 * PN: PLOT 2 * PN + 1,2 * PN: PL ot 2* PM,2* PN + 1: PLOT 2 * PH+ 1,2 * en + 1170 Goro 1080 Esta parte do programa da a voc’ a possibilidade de movimentar 0 caracte- re pelo labirinto. Para que haja movi- mento, porém, 0 ponto para onde se quer levar o caractere (nosso homenzi- nho) nao deve conter nenhum bloco de cor 12. ‘A linha 1100, por exemplo, verifica o contetido de duas posigdes de memo- ria: a que corresponde a tecla “Z"" ea que corresponde posicao de tela em que o homem vai entrar. Sea tecla “Z”” (cédigo 218) esta sendo pressionada, ¢ ‘© enderego de tela nao contém um bio- co grafico, entdo ele pode se movi- mentar {As teclas para controle de movimen- to so as mesmas jé utilizadas anterior- mente: ‘“Z" para’a esquerda, “X" pa- raa direita, “P” para cima e™L” para baixo. Marque 0 tempo necessério para “‘comer”” todos 0s pontos, acrescentan- do estas linhas: 20 LET FA = 99999 50 RESTORE 60 LeTD = 0 1070. LET TI = 0 1140. TF ScAN( 12 THEN LET W = 6): LET D = D+ 1150 coLoR= 0: PLoT 2 * PM,2 * PN: PLOT 2* PM + 1,2 * PN: PL Of 2* PM,2 * PN +1: PLOT 2 * 2*M.2 0) = PEEK ( ~ 1633 Pat 1,2 * PN +1. 1160 IF D = 153 THEN coTo 118 0 1170 Goro 1080 1190 coLon= 0; PLoT 2 * M.2 * N: PLOT 2 © m+ 1,2 * .N: PLOT 2 *M,2*.N 41: PLOT2* M+ 1, 2ene1 1200 HTAB 9: VTAB 21: PRINT “s eu tempo fol de ":T1 / 5:" seq 1210 IF FA > TI THEN. LET FA = ‘11 1220 HTAB 11: UTAB 22: PRINT * Melhor tempo: ";FA / 5;" sea” 1230 HTAB 6: VTAB 23: PRINT "P reasione RETURN para continuar™ 1240 GET Tg: IF ASC (TS) < > 13 THEN GoTo 1210 1250 GoTo 40 De inicio, 0 melhor tempo ¢ coloca- do em 999959 segundos pela linha 20. A linha 60 zera o placar e a linha 1070 zerao “‘crondmetro”. A linha 1095 au- menta uma posigdo no cronémetro. A linha 1140 examina a posigdo em que o asterisco esta, Ela também adiciona um ponto a D, que contém o mimero de pontos que foram "‘comidos”. A linha 1160 verifica se ndo hd mais pontos na tela (em niimero de 153). Se estes terminaram, o programa puia pa- ra a linha 1180, que apaga 0 asterisco. A linha 1200 mostra 0 tempo na tela (que & convertido para segundos dividindo-se FA por 50). A linha 1210 checa se o melhor tem- po (FA) é maior que o tempo obtido na tiltima contagem, Em caso positivo, ele € igualado a este ultimo. A linha 1220 ‘mostra o melhor tempo, antes que uma mensagem diga ao jogador para teclar para recomegar (na linha 1230), ‘A linha 1290 aguarda até que uma te cla tenha sido pressionada, ¢ a linha 1300 verifica se foi < ENTER > . Neste ‘cas0, 0 jogo recomeca. O RESTORE na linha $0 permite que os dados (DATA) possam ser lidos novamente. Caso tenha sido acionada uma tecla que nao , o computador continua espe. ra de outra entrada. A tecla termina 0 jogo. CONVERSAO D0 COLOR PARA 0 TRS-80 (Os micros TRS-80 e TRS-Color tém interpretadores BASIC similares, no que diz respeito ao ndcleo basico de co- mandos, fungées e daclarac6es. Por is 50, 6 facil converter programas de um modelo para outro. As maiores diferen- ‘gas residem nos comandos de alta re Solugdo grafica, cor e som. Os comandos CLS limpa telas), SET & POINT (pontos graficos de resoluc30 média) e PRINT@ so semelhantes nas duas linhas. As diferencas de sintaxe ‘do TRS-80 em relacdo a0 Color so: o CLS, o SET @ 0 POINT nao tém para: metro indicative de cor de fundo (tela de texto), ¢ as locagdes de tela usadas com o PRINT@ produzem resultados diferentes ‘A tela do Color tem dezesseis linhas por 32 colunas, e a do TRS-80, dezes: linhas por 64 colunas. Como as po- sigdes de tela usadas pelo PRINT@ S30 numeradas seqiencialmente, um PRINT@ 162, por exemplo, escrevers na segunda coluna da sexta linha do TRS-Color, ena 32? posicso da tercei ra linha, no TRS-80. Hé uma forma simples de converter comandos PRINT@ do Color para o TRS-80: se N for a locucto de tela do Color, sua correspondente no TRS-80 serd INT (N/2).4644N-32 | para a segunda linha em diante (a que | Comega na posicso 32 do Color). Se N= 32, ndo hd necessidade da formu- la acima: a locucBo de tela do TRS-80 er4 0 proprio N.

You might also like