Bomber

De FdIwiki ELP
Saltar a: navegación, buscar
Dwarf
caption
Información general
Dwarf Core War Bomber

La estrategia básica de los bomber es el uso de bombas de forma aleatoria con la esperanza de aplastar al programa oponente.


Código de ejemplo: Dwarf

Dwarf es un guerro simple pero efectivo. Este programa instala bombas de DATs en zonas aleatorias del core mientras garantiza que no se autodestruya.


      ADD #4, 3        ; execution begins here
      MOV 2, @2
      JMP -2
      DAT #0, #0

El funcionamiento es sencillo. La primera instrucción añade al valor almacenado en el DAT de la última instrucción (4), mov copia el dat (bomba) en la posición indicada por el dat (la cual es aumentada en cada iteración por el add anterior), jmp permite que el programa vuelva a la instrucción add (y así repetir en un bucle). DAT es la bomba.

La seguridad (evitar su autodestrucción) se garantiza asegurando que en ningún momento del bucle la bomba afecte a su funcionamiento. Esto se garantiza con la siguiente instrucción:

assert CORESIZE % 4 == 0

Assert garantiza que el número de posiciones totales del Core sea divisible por 4. De no ser así, se reconoce que el guerrero no puede entrar en batalla.

Al ser el Core divisible por 4 se garantiza que la bomba nunca caiga en las tres primeras instrucciones (add, mov, dat). En cada iteración, la cuenta aumenta en 4 por lo que la bomba siempre cae en la posición anterior al ADD y en la posición del DAT.