terça-feira, 29 de março de 2022

É um Spectrum? É BASIC? Não, é javascript!


Como já se aperceberam, o Zé Oliveira tem dado muitos contributos valiosos e diversificados a Planeta Sinclair. Assim, temos hoje mais um artigo da sua autoria, com algumas dicas muito úteis para programadores. O texto que se segue é então da sua responsabilidade, e a quem desde já agradecemos.

A pensar nos programadores de Spectrum que sempre tiveram medo dos PCs, aqui está a solução: ZX Script - programar em JavaScript (linguagem dos browsers) com comandos do Spectrum.

Esta linguagem, ZX Script, não pretende emular ou substituir o Spectrum. O objectivo não foi fazer mais um emulador de Spectrum mas sim incentivar os programadores de Spectrum a programar numa das linguagens mais usadas. Portanto, não temos um Spectrum no browser mas sim um browser com aspecto semelhante ao Spectrum.

Já deve haver muita gente morta de tédio com esse disparate do BASIC Apascalado. Bom, é aceitável que reclamem do BASIC Apascalado mas, ninguém pode reclamar da linguagem JavaScript. A linguagem JavaScript é das 3 mais usadas (em 2018 era a mais usada) e é usada em praticamente todos os sites.

A pior coisa que aconteceu com as linguagens de programação desde 1980 foi os ambientes de desenvolvimento (editor + compilador) ficarem do tamanho de dinossauros. A coisa ficou tão grave que agora um principiante pode demorar dias para conseguir escrever "Olá" no ecrã. Mas ainda há esperança: JavaScript.

Para escrever "Olá" com javascript basta abrir o notepad, escrever "<script> alert("Olá") </script>", gravar com o nome "teste.html" e abrir este ficheiro num browser qualquer.

Os programadores do ZX Spectrum que tiverem medo de linguagens novas podem experimentar a linguagem "ZXscript", que é menos ameaçadora porque tem comandos do Spectrum que são mais familiares.

O JavaScript não foi construído para fazer INPUT do teclado. A versão do JavaScript para fazer INPUT de teclado chama-se Nodejs. Portanto, esta não é a maneira correcta de aprender JavaScript - mas é a mais simpática!

Podem aceder a esta linguagem aqui. Se clicarem nos botões à direita, podem ver alguns exemplos simples de programas.

6 comentários:

  1. Fantástico!
    Posso fazer uma sugestão? Acrescentar a função ATTR - faço muito uso dela nos meus joguinhos em Sinclair BASIC :)

    ResponderEliminar
  2. Não me esqueci mas não meti porque ainda não decidi como é que fica a palete de cores. O javascript usa 2^24 cores - dá 16 milhões de cores.

    ResponderEliminar
    Respostas
    1. Okie dokie, desde que me retorne um valor da cor do caracter (independentemente do número de cores), já me basta para converter um dos meus joguinhos (Cálice da Vida)! Se tiver mais cores que as originais do ZX, tanto melhor, é da forma que o joguinho fica mais colorido :)

      Eliminar
    2. Coloquei a função POINT a funcionar com 1 milhão de cores (ver exemplo "test POINT"). Já dá para simular o ATTR. Ainda há mais problemas mas só vou corrigir o resto quando alguém reclamar.

      Eliminar
  3. Muito fixe, outro projecto interessante é o https://github.com/ZXDunny/SpecBAS

    ResponderEliminar