Scanner

De FdIwiki ELP
Revisión a fecha de 19:09 25 ene 2017; Angel (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
Scanner
Información general

La estrategia básica de los scanner es encontrar al enemigo. En general, optan por ralentizarlo a continuación y matarlo una vez está tan debilitado que es completamente inútil.


Código de ejemplo: scanner1

redcode-94b
assert 1
name scanner1
version 1
author marcus
date 2006-Nov-27

loop sub.ab #8, +1 ptr jmz.f loop, -MINDISTANCE attack add #33, ptr mov little, >ptr mov little+1, @ptr spl @ptr, <loop-1 sub #33, ptr jmp loop, }loop

little mov -1, <-1 djn -1, -2

A continuación, se explica de forma concisa y sin tener en cuenta las características particulares del código.

El guerrero está dividido en 3 partes. loop y ptr permiten la búsqueda del guerrero enemigo (para ello se vale del salto condicional jmz con el cual compara con 0 y si no es igual es que ha encontrado al enemigo y pasa al ataque. Al comienzo de la batalla, los campos no usados se inicializan a DAT #0, #0).

A partir de attack comienza la fase de ataque con la que arrojan la bomba (little). En caso de falso descubrimiento siguen explorando saltando al loop).


Debilidades

  • Suelen ser más complejos que otros guerreros.
  • Son vulnerables a código basura ya que pierden tiempo preparando una bomba para un guerrero inexistente. Un ejemplo de código basura serían bombas de un guerrero tipo stone como el dwarf (por supuesto, uno que utilizara bombas no afectadas por el jmz).