Início | Programação | Downloads | Projetos | Periféricos | Softwares | Especiais | Microdigital | Links | Doações

Dicas de Programação

.

Se você conhece alguma dica legal, ajude-nos!

 Compartilhe seu conhecimento com todos nós.

 última atualização: 08 Agosto 2007

 

 

 

MERGE em programas protegidos

 

10 FOR N=23296 TO 23314: READ A: POKE N,A: NEXT N:

    RAND USR 23296

20 DATA 62,1,33,16,91,50,116,92,34,93,92,205,14,6,207,8,34,34,13

 

 

 

 

 

Esta dica deixa invisível o começo da primeira linha ( 10 REM ),

       além de zerar a linha.

Atenção: deixar 8 espaços após o 10 REM _ _ _ _ _ _ _ _ DICAS DE ...

 

10 REM        DICAS DE PROGRAMAÇÃO

20 FOR N=23760 TO 23767: POKE N,8: NEXT N: POKE 23756,0

 

 
   

 

Tanto faz digitar em minúsculo ou maiúsculo.

 

10 PRINT "Você quer mais dicas de programação? (S/N)"

20 IF CHR$ PEEK 23556="S" THE RUN: STOP

 

 
   

 

Quantos bytes seu programa está ocupando na memória RAM?

 

PRINT PEEK 23627+256*PEEK 23628-PEEK 23635-256*PEEK 23636

 

 
   

 

Quantos bytes livres tem na memória RAM?

 

PRINT PEEK 23730+256*PEEK 23731-PEEK 23653-256*PEEK 23654

 

OU

 

PRINT 65536-USR 7962

 

 
   

 

SAVE direto, sem a mensagem "Ligue o gravador...."

 

SAVE "dicas": POKE PEEK 23631+256*PEEK 23632+2,181: SAVE "dicas2"

 

 
   

 

Esta dica faz a mensagem girar em seu eixo.

 

10 FOR N=30 TO 0 STEP -1: POKE 23606,N

20 PRINT AT 10,8;"DICAS DE PROGRAMAÇÃO"

30 PAUSE 3: NEXT N

 

 
   

 

Um CLS diferente

 

10 FOR N=30000 TO 30017: READ A: POKE N,A: NEXT N

20 DATA 33,255,87,14,32,167,203,38,43,13,32,250,62,63,

            188,32,242,201:LIST

30 FOR N=0 TO 7: RAND USR 30000: NEXT N

 

   

 

Efeitos com brilho

 

10 FOR N=30000 TO 30016: READ A: POKE N,A: NEXT N    (liga)

20 FOR X=35000 TO 35016: READ B: POKE X,B: NEXT X    (desliga)

30 DATA 33,0,88,6,3,197,6,0,203,246,35,16,251,193,16,245,201

40 DATA 33,0,88,6,3,197,6,0,203,182,35,16,251,193,16,245,201

50 LIST: FOR N=0 TO 50: RAND USR 30000: PAUSE 2: RAND USR

    35000: NEXT N

 

 
   

 

Efeitos com cor

 

10 FOR N=30000 TO 30024: READ A: POKE N,A: NEXT N

20 DATA 62,7,230,7,87,33,0,88,6,3,197,6,0,126,230,248,178,119,

             35,16,248,193,16,242,201

30 PRINT AT 10,12;"DICAS DE PROGRAMAÇÃO": FOR N=0 TO 7:

             POKE 30001,N: RAND USR 30000: NEXT N: GOTO 30

 

 
   

 

Efeitos com cor de fundo

 

10 FOR N=30000 TO 30030: READ A: POKE N,A: NEXT N

20 DATA 62,7,203,39,203,39,203,39,230,56,87,33,0,88,6,3,197,6,0,

            126,230,199,178,119,35,16,248,193,16,242,201

30 PRINT AT 10,12;"DICAS DE PROGRAMAÇÃO": FOR N=0 TO 7:

             POKE 30001,N: RAND USR 30000: NEXT N: GOTO 30

 

 
   

 

Scroll em diagonal

 

10 FOR N=30000 TO 30024: READ A: POKE N,A: NEXT N

20 DATA 6,192,17,255,87,213,225,43,197,1,31,0,26,237,184,35,54,0,

             43,43,27,193,16,240,201

30 DIM T$(704): FOR F=1 TO 704: LET T$(F)=CHR$ (INT(RND*133)+32):

             NEXT F: PRINT T$

40 FOR N=0 TO 23: RAND USR 30000: RAND USR 3190: NEXT N

 

 
   

 

Super CLS com som

 

10 FOR N=30000 TO 30034: READ A: POKE N,A: NEXT N

20 DATA 58,72,92,245,6,8,17,0,24,33,0,64,126,211,254,203,30,35,27,

             122,179,32,245,16,237,241,31,31,31,211,254,205,107,13,201

30 LIST: PAUSE 0: RAND USR 30000: GOTO 30

 

 
   

 

Espelho

 

10 CLEAR 64999: FOR N=65000 TO 65018: READ A: POKE N,A: NEXT N

20 DATA 33,0,64,78,6,8,203,17,31,16,251,119,35,124,254,88,32,241,201

30 CLS: LIST: RAND USR 65000

 

 
   

 

Destacando mensagens

 

10 FOR N=30000 TO 30044: READ A: POKE N,A: NEXT N: INK 7

20 DATA 14,32,33,0,88,6,24,17,32,0,229,54,18,25,16,251,197,33,208,

             0,17,32,0,205,181,3,193,225

30 DATA 229,6,24,17,32,0,54,15,2,5,16,251,225,35,13,32,217,201

40 LIST: RAND USR 30000

 

 
   

 

Inverte a tela (sem mexer nos atributos)

 

10 CLEAR 49999: FOR N=50000 TO 50018: READ A: POKE N,A: NEXT N

20 DATA 243,33,255,23,1,0,64,10,47,2,3,43,62,255,188,32,246,251,201

30 LIST: RAND USR 50000

 

 
   

 

Som

 

10 CLEAR 29999: FOR N=30000 TO 30037: READ A: POKE N,A: NEXT N

20 DATA 38,2,1,25,1,22,0,122,211,254,20,124,186,32,248,11,62,0,

             184,32,240,36,210,188,32,231,201

30 RAND USR 30000

 

 
   

 

Som em Basic

 

10 FOR N=0 TO 60 STEP 5: SOUND.01,N: SOUND.01,N-2: NEXT N

 

 
   

 

Escrevendo diferente

 

10 INPUT A$: FOR N=1 TO LEN A$: LET B=CODE A$(N)

20 LET C=15360+B*8: LET D=20671+N: FOR P=0 TO 7

30 POKE D+(256*P), PEEK (C+P): NEXT P: NEXT N: PAUSE 0

 

 
   

 

Escrevendo ao contrário

 

10 INPUT A$: PRINT AT 10,0;A$;: LET V$=CHR$ 8

20 FOR N=1 TO LEN A$: PRINT V$+A$(N)+V$;: NEXT N

 

 

 

Armazenador de tela

 

10 CLEAR 56999: FOR N=57000 TO 57023: READ A: POKE N,A: NEXT N

20 DATA 33,0,64,17,0,223,1,0,27,237,176,201,33,0,223,17,0,64,1,0,

             27,237,176,201

 

RAND USR 57000 = Guarda a tela na memória

RAND USR 57012 = Mostra a tela armazenado na memória

 

 

 

CLS direfente II (de cima para baixo)

 

1 REM coloque aqui 65 caractéres

10 FOR N=23760 TO 23824: READ X: POKE N,X: NEXT N

20 DATA 62,0,33,0,64,205,229,92,33,0,72,205,229,92,33,0,80,205,229,

             92,201

30 DATA 229,245,6,8,229,22,0,54,0,35,20,122,254,32,32,247,17,0,32,

            175,27,186,32,252,225,17,0,1

40 DATA 25,16,229,241,225,17,32,0,25,60,254,8,32,214,175,201

 

RAND USR 23760 = Executa o novo CLS

POKE 23799,x = onde x, quanto menor for, mais rápido se executará

                      o CLS. Valor máximo para x é 255.

 

 

 

Letreiro dinâmico

 

Atenção: na linha 10 deve conter 32 espaços entre as aspas.

 

10 LET B$="         --- 32 espaços ---         "

20 LET A$=B$+"*** CLUBE DO TK90X ***": LET A$=A$+B$+B$

30 FOR N=1 TO LEN A$-31: PRINT AT 21,0; A$ (N TO N+31

40 IF N>32 THEN PRINT AT 0,0;A$ (N-32 TO N-1)

50 PAUSE 10: NEXT N: GOTO 30

 

 

 

Saindo pela direita (Tira a tela pela direita)

 

10 FOR N=0 TO 25: READ A: POKE 30000+N,A: NEXT N

20 DATA 14,0,33,0,64,62,192,6,16,167,203,22,35,203,22,35,16,24,8,61,

             32,242,13,32,234,201,0

30 LIST: RAND USR 30000

 

 

 

Cronômetro

 

10 POKE 23674,255: POKE 23673,255: POKE 23672, 255

20 LET T=(65536*PEEK 23674+PEEK 23672+256*PEEK 23673)/60

30 PRINT AT 11,12; INT (T/60);":"; INT (T-INT (T/60)*60);"_ _ _ _"

40 GOTO 20

 

"_ _ _ _" = 4 espaços

 

 

 

Destacando o texto

 

10 BORDER 0: PAPER 0: INK 5: OVER 1: BRIGHT 1: CLS

20 LET A$=" CLUBE DO TK90X": LET A=LEN A$: LET B=(INT (10-(A/2)))*8

30 PRINT OVER 1; AT 1,B/B;A$

40 FOR X=8 TO B+A*8: PLOT X,160: DRAW 0,7: NEXT X

50 GOTO 40

 

...LET B=(INT (10 ... este 10 é o valor para coluna

...PLOT X,160... este 160 é o valor para linha

 

 

Túnel 3D

 

10 BORDER 0: OVER 1: FOR T=0 TO 255: PLOT T,0: DRAW 255-T*2,175:

    NEXT T

20 FOR T=175 TO 0 STEP -1: PLOT 0, T: DRAW 255,175-T*2: NEXT T

 

 

Grave seu programa BASIC como se fosse Linguagem de Máquina

 

Acrescente no final do seu programa Basic as seguintes linhas:

 

9997 LET A=PEEK 23653+256*PEEK 23654

9998 SAVE "nome"CODE 23552, A+23500

9999 RUN

 

Grave com GOTO 9997

Carregue com LOAD ""CODE

 

 

 

Preenche a tela

 

10 FOR N=30000 TO 30011: READ A: POKE N,A: NEXT N

20 DATA 33,0,0,17,0,64,1,0,24,237,176,201

 

 

 

Preenche a tela de atributos

 

10 FOR N=30000 TO 30020: READ A: POKE N,A: NEXT N

20 DATA 17,0,88,46,0,237,95,71,58,140,92,128,230,63,103,1,0,

             3,237,176,201

 

 

 

16 ou 48 Kbytes?

 

Descubra se seu TK90X/95/ZX Spectrum tem 16 ou 48 Kb de memória:

 

PRINT PEEK 23732 + 256 * PEEK 23733

 

Se o resultado for 32767 = 16Kb

Se o resultado for 65535 = 48Kb

 

 

 

  MERGE em programas protegidos

  zera a primeira linha e deixa invisível

  tanto faz maiúsculo ou minúsculo

  16 ou 48 Kbytes?

  quantos bytes seu programa ocupa?

  quantos bytes tem livre na memória?

  SAVE direto, sem perguntas

  gire um texto na tela

  um CLS diferente

  efietos com brilho

  efeitos com cor

  efeitos com cor de fundo

  scroll em diagonal

  super CLS com som

  espelho

  destacando mensagens

  inverte a tela

  som

  som em Basic

  escrevendo diferente

  escrevendo ao contrário

  armazenador de tela

  CLS diferente II

  letreiro dinâmica

  saindo pela direita

  cronômetro

  destacando o texto

  túnel 3D

  grave um programa Basic em L. Máquina

  preenche a tela

  preenche a tela de atributos

 

Clube do TK90X  |  desde 2005  |  webmaster@tk90x.com.br  |  www.TK90X.com.br