Eu fiz este programa que desenha os arcos olímpicos em MSX-BASIC e ele é razoavelmente portável para outros dialetos de BASIC de diversas micros clássicos…
…o código é está aqui:
https://gist.github.com/plainspooky/2dd3a7e6e61986d87430173b8a5a8eb1
Sim, círculos desenhados sem funções trigonométricas!
E a área de comentários está disponível para quem quiser publicar versões de Amiga, Apple II, MSX2, TRS-80 Color, ZX Spectrum etc dele apresentar melhorias de performance, novos recursos etc… Boa diversão! 🙂
Interessante como goto era largamente utilizado nesse tempo, e hoje em dia ficamos receosos em fazer uso desse recurso, preferindo escrever um código até mais complexo, a usar um simples e badass goto 🙂
Só digo uma coisa….
https://rubygems.org/gems/goto/versions/0
Na verdade ele está usando um gosub, que é muito melhor que o goto porque corresponde a grosso modo uma chamada de função de uma linguagem estruturada. É o melhor que dá para fazer em Basic não estruturado. O goto da página 270 é para travar o programa executando e não deixar passar para a linha seguinte onde tem a subrotina chamada com gosub 280. Esse código está muito bem organizado.
As coisas que eu vi sendo feitas com goto na época clássica, espaguedificando o código a limites inimagináveis, me causavam até depressão. O fato da linguagem não ter procedures e funções não é desculpa para não organizar o código.
O pior é que eu já ví muita gente usando o goto direto e fazendo código espaguetti até mesmo no visual basic.