Aunque seas programador actual al intentar hacer cositas en el BASIC del spectrum te das cuenta que cosas que se suponen que no se deben hacer (GOTOs por ejemplo) no te quedan más remedio que hacerlas por las limitaciones del propio lenguaje.
Te das cuenta que varios Bytes pueden ser la vida y te das cuenta de la lentitud del sistema por lo que cualquier truquillo para ahorrar memoria o ciclos del procesador es crucial...
Aquí traigo algunos ejemplos tontos para analizar y que no siempre serán de utilidad ya que en unos casos serán beneficiosos y en otros no pero en todo caso servirán para abrir un poco la mente al programar e incluso lo mismo podrían servir en otros lenguajes...
A continuación, una línea típica de si pulsas la tecla p la coordenada X aumenta en 1
If inkey$="p" then let x=x+1
sin IF sería lo siguiente:
let x=x+(inkey$="p")
En teoría la segunda opción es más rápida pero tiene la contrapartida de que con
LET siempre hará un cálculo se pulse o no y con IF solo lo hace si se pulsa así que
cuando no se pulsa es más rápido IF.
Se podría hacer un GOTO como goto 100+(inkey$="p") el cual saltaría a la 100
en caso de no pulsar la p y a la 101 en caso de pulsar la p
Ahora vamos a imaginar un número que tiene que ir de 1 a 4 y luego resetear a 1
Let a=a+1:if a=5 then let a=1
sería esto, no?
let a=a+1 or a=5
sería lo mismo pero sin IF
Ahora a pensar, jajajaja!
Espero sirva de ayuda.