;redcode
;name SpiralV2MultiThreaded
;author Skybuck Flying
;strategy spiral bombing around itself just for fun multi threaded
;version 2
;date 20 february 2008
;looks like a tie fighter coming at you
;unoptimized
LineSize equ 128
WarriorBegin
WarriorLength equ WarriorEnd - WarriorBegin
spl WarriorUpperLineBegin
spl WarriorBottomLineBegin
spl WarriorRightLineBegin
jmp WarriorLeftLineBegin
; I have an idea, let's make each line bomber in a seperate thread so
it's
multi threaded
; and then see what happens, this increases it's survivals skills I
think.
WarriorUpperLineBegin
WarriorUpperLineResetLoop
mov.b $WarriorUpperLineBombingLength, $WarriorUpperLineRepeatBombs
WarriorUpperLinePlaceBomb
mov WarriorUpperLineBomb, >WarriorUpperLineBombPosition
WarriorUpperLineRepeatBombs
djn WarriorUpperLinePlaceBomb, #0
WarriorUpperLineAdjust
sub.b $WarriorUpperLineBombingLength, $WarriorUpperLineBombPosition
sub.ab #LineSize + 1, $WarriorUpperLineBombPosition
add.ab #2, $WarriorUpperLineBombingLength
WarriorUpperLineRepeat
jmp WarriorUpperLineBegin
WarriorUpperLineDataBegin
WarriorUpperLineBomb dat $0, $0
WarriorUpperLineBombPosition dat $0, $(WarriorBegin - LineSize)-1
WarriorUpperLineBombingLength dat $0, #WarriorLength + 2
WarriorUpperLineDataEnd
WarriorUpperLineEnd
WarriorBottomLineBegin
WarriorBottomLineResetLoop
mov.b $WarriorBottomLineBombingLength, $WarriorBottomLineRepeatBombs
WarriorBottomLinePlaceBomb
mov WarriorBottomLineBomb, >WarriorBottomLineBombPosition
WarriorBottomLineRepeatBombs
djn WarriorBottomLinePlaceBomb, #0
WarriorBottomLineAdjust
sub.b $WarriorBottomLineBombingLength, $WarriorBottomLineBombPosition
add.ab #LineSize - 1, $WarriorBottomLineBombPosition
add.ab #2, $WarriorBottomLineBombingLength
WarriorBottomLineRepeat
jmp WarriorBottomLineBegin
WarriorBottomLineDataBegin
WarriorBottomLineBomb dat $0, $0
WarriorBottomLineBombPosition dat $0, $(WarriorBegin + LineSize)-1
WarriorBottomLineBombingLength dat $0, #WarriorLength + 2
WarriorBottomLineDataEnd
WarriorBottomLineEnd
WarriorRightLineBegin
WarriorRightLineResetLoop
mov.b $WarriorRightLineBombingLength, $WarriorRightLineRepeatBombs
WarriorRightLinePlaceBomb
mov WarriorRightLineBomb, @[EMAIL PROTECTED]
add.ab #LineSize, $WarriorRightLineBombPosition
WarriorRightLineRepeatBombs
djn WarriorRightLinePlaceBomb, #0
WarriorRightLineAdjust
add.ab #1, $WarriorRightLineBombingLength
mov.a #LineSize, $WarriorRightLineSubtractor
mul.ba $WarriorRightLineBombingLength, $WarriorRightLineSubtractor
WarriorRightLineSubtractor
sub.ab #LineSize, $WarriorRightLineBombPosition
add.ab #1, $WarriorRightLineBombPosition
add.ab #1, $WarriorRightLineBombingLength
WarriorRightLineRepeat
jmp WarriorRightLineBegin
WarriorRightLineDataBegin
WarriorRightLineBomb dat $0, $0
WarriorRightLineBombPosition dat $0, $WarriorEnd - LineSize
WarriorRightLineBombingLength dat $0, #3
WarriorRightLineDataEnd
WarriorRightLineEnd
WarriorLeftLineBegin
WarriorLeftLineResetLoop
mov.b $WarriorLeftLineBombingLength, $WarriorLeftLineRepeatBombs
WarriorLeftLinePlaceBomb
mov WarriorLeftLineBomb, @[EMAIL PROTECTED]
add.ab #LineSize, $WarriorLeftLineBombPosition
WarriorLeftLineRepeatBombs
djn WarriorLeftLinePlaceBomb, #0
WarriorLeftLineAdjust
add.ab #1, $WarriorLeftLineBombingLength
mov.a #LineSize, $WarriorLeftLineSubtractor
mul.ba $WarriorLeftLineBombingLength, $WarriorLeftLineSubtractor
WarriorLeftLineSubtractor
sub.ab #LineSize, $WarriorLeftLineBombPosition
sub.ab #1, $WarriorLeftLineBombPosition
add.ab #1, $WarriorLeftLineBombingLength
WarriorLeftLineRepeat
jmp WarriorLeftLineBegin
WarriorLeftLineDataBegin
WarriorLeftLineBomb dat $0, $0
WarriorLeftLineBombPosition dat $0, $WarriorBegin - LineSize
WarriorLeftLineBombingLength dat $0, #3
WarriorLeftLineDataEnd
WarriorLeftLineEnd
WarriorEnd


|