Hoje temos um programa que é ao mesmo tempo uma entrada para o concurso BASIC Apascalado e um Tutorial do Concurso. O objetivo é incentivar novos concorrentes e definir um padrão mínimo de qualidade para o concurso.
Este jogo é o clássico Worm / Snake no qual o objectivo é comer os frutos e não chocar com as paredes. Esta versão foi escrita em 2020 por David Magalhães na linguagem Java para consola e adaptada por David Magalhães em 2022 para BASIC Apascalado.
Os computadores atuais são mais de 1000 vezes mais rápidos que o Spectrum, por isso, algumas sequências de IF-THEN-ELSE-IF-ELSE tiveram que ser convertidas em tabelas para ficar mais rápido. As rotinas originais ainda estão no programa e podem ser observadas para melhor compreender o funcionamento do programa. Mesmo assim, o jogo ainda ficou lento. Assim, o jogo deve ser corrido a três vezes a velocidade normal.
O mais importante neste programa é apagar a ponta da cauda. Eis algumas alternativas para programar a deteção da cauda:
- Usar um array com a lista das coordenadas da cauda
- Usar um array 22x32 para armazenar uma cópia do ecrã e colocar lá os sentidos da cauda.
- Usar SCREEN$. Mas o SCREEN$ não funciona com caracteres UDG. Quem quiser usar caracteres UDG e SCREEN$ tem que fazer um truque. Este truque foi explicado no MicroSe7e #6.
- Desenhar a cauda com 4 cores diferentes e, em vez de SCREEN$, usar ATTR (foi a opção usada aqui).
É tudo por hoje. Ficamos à espera de mais concorrentes. Todos podem concorrer. O importante aqui não é ganhar prémios mas recordar os velhos tempos e conviver com os amigos.
Para jogar online, clicar aqui.
Para ler as listagens é mais fácil aqui.
Para fazer download dos ficheiros, clicar aqui:
A página original de David Magalhães pode aqui ser visualizada.
Quem estiver interessado em participar no concurso, pode ler o regulamento aqui.
Sem comentários:
Enviar um comentário