Diferencia entre revisiones de «Scanner»

De FdIwiki ELP
Saltar a: navegación, buscar
Línea 28: Línea 28:
  
 
loop sub.ab #8, +1
 
loop sub.ab #8, +1
 +
 
ptr jmz.f loop, -MINDISTANCE
 
ptr jmz.f loop, -MINDISTANCE
 +
 
attack add #33, ptr
 
attack add #33, ptr
 +
 
mov little, >ptr
 
mov little, >ptr
 +
 
mov little+1, @ptr
 
mov little+1, @ptr
 +
 
spl @ptr, <loop-1
 
spl @ptr, <loop-1
 +
 
sub #33, ptr
 
sub #33, ptr
 +
 
jmp loop, }loop
 
jmp loop, }loop
 +
  
 
little mov -1, <-1
 
little mov -1, <-1
 +
 
djn -1, -2
 
djn -1, -2
 +
  
 
A continuación, se explica de forma concisa y sin tener en cuenta las características particulares del código.  
 
A continuación, se explica de forma concisa y sin tener en cuenta las características particulares del código.  

Revisión de 19:02 25 ene 2017

Scanner
caption
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).