O desafio dos monstros – parte 3

desafio-3_monster

Agora é a vez da versão para MSX-BASIC d’O desafio dos monstros ou, mais precisamente, uma versão específica para este dialeto de BASIC já que o programa do livro trata-se de uma versão “genérica”.

A versão em MSX-BASIC

desafio-3_panic

Assim como a versão em Python as únicas adições também foram o uso de cores de fundo distintas para separar as partes do jogo — azul para monstro, vermelho para pânico e preto para indicar o final — e a mais que providencial correção do valor digitado através da tecla «Backspace».

Algumas considerações (sempre há o que se considerar):

  • Assim como na versão em Python, esta versão também está em inglês, faz referência ao livro da Usborne e URL onde é possível baixá-lo;
  • A estrutura é mais parecida com a versão em Python do que com o programa original — é bem verdade que o programa do livro é bem doido;
  • As variáveis numéricas foram declaradas de acordo com o uso, assim as variáveis que terminam com “#” são inteiros e com “!” de ponto flutuante;
  • Apenas os comandos COLOR, LOCATE, SCREEN e WIDTH e as funções CSRLIN, INPUT$, INSTR e TIME são “específicos” do MSX-BASIC, todo o resto é BASIC “padrão” e
  • Em computadores MSX operando em em 50Hz o valor da variável T% (linha 155) deve ser alterado para 50.

A versão específica para MSX-BASIC também ficou maior que a versão “genérica” somando mais de 5KiB contra os 1.5KiB porém com um número menor de linhas de código. E foi colocada no mesmo repositório que a versão em Python.

E para terminar…

desafio-3_end-of-game

Um detalhe, lendo com calma minha edição do “Programas de jogos de terror” notei que a lista de computadores é ainda maior que imaginava pois aquilo que o livro chama por ZX Spectrum também engloba o ZX-81.

E para terminar três (sub)desafios:

  1. Especificamente na versão para MSX, que tal tornar a detecção da frequência de operação automática? Se o 7º bit do endereço de memória 0x002B, é 0 o MSX opera a 60Hz, senão opera a 50Hz. E que tal fazê-lo sem recorrer a um “IF … THEN … ELSE”?
  2. Em ambas as versões há um tempo limite para a entrada das respostas¹ mas permitir a seleção do grau de dificuldade? Ou mesmo um mostrador para indicar quanto tempo resta para a resposta?
  3. Ou que tal criar uma interface completamente diferente, algo mais visual e bem menos numérica?

(¹) Alguns até poderiam considerar que este tempo poderia ser um pouco maior.

Um comentário sobre “O desafio dos monstros – parte 3

  1. Pingback: Repórter Retro Nº 031 | Retrocomputaria

Os comentários estão desativados.