• On the First Day of Christmas - Into the Unknown

    From John Metcalf@21:1/5 to All on Wed Dec 1 19:49:09 2021
    I'm planning to tidy up and post a few of my hill warriors this month,
    starting with the 88 hill.

    Into the Unknown is a paper/stone which entered the hill on 10th
    September and combines a paper with anti-imp clear (similar to Matreshka
    Rulez) with a typical .5c self-bombing stone. First the paper and stone
    were optimized separately, followed by optimizing the timing and relative placement.

    It's greatest weakness is against oneshots, and it scores well against stone/imps. Fingers crossed it should perform okay on Koenigstuhl :-)

    Other 88 paper/stones which might be of interest are The Next Step '88,
    The Seed, The Hurricaner, Vala and Zygote.


    ;redcode
    ;name Into the Unknown
    ;author John Metcalf
    ;strategy qscan -> paper/stone
    ;assert CORESIZE==8000

    ; qscan - 36 scans in 48 instructions

    qfirst equ (qp2+2*qstep)
    qdist equ qfirst+130
    qstep equ 260

    qi equ 7
    qr equ 7

    qbomb dat <qi/2-qi*qr, <qi*qr-qi/2

    qa equ qstep*16
    qb equ qstep*5+2
    qc equ qstep*10
    qd equ qstep*2
    qe equ qstep*1

    qscan cmp qdist+qc, qfirst+qc
    jmp qfast, <qa
    cmp qdist+qe+qd, qfirst+qe+qd
    qp1 jmp <qfast, <qc
    qp2 cmp qdist, qfirst
    qp3 jmp qskip, <qe

    cmp qdist+qb, qfirst+qb
    q1 djn qfast, #qp1

    cmp qdist+qd+qc, qfirst+qd+qc
    jmp qslow, <qfirst+qd+qc+4
    cmp qdist+qd+qb, qfirst+qd+qb
    x1 jmp qslow, <q1
    cmp qdist+qc+qc, qfirst+qc+qc
    q2 djn qslow, #qp2
    cmp qdist+qd, qfirst+qd
    jmp qslow, <qfast
    cmp qdist+qa, qfirst+qa
    jmp q1, <q1

    cmp qdist+qa+qd, qfirst+qa+qd
    jmp x1, <q1
    cmp qdist+qc+qb, qfirst+qc+qb
    jmp q2, <q1
    cmp qdist+qe+qd+qc,qfirst+qe+qd+qc
    jmp qslower, <qfirst+qe+qd+qc+4
    cmp qdist+qe+qd+qb,qfirst+qe+qd+qb
    jmp qslower, <q1
    cmp qdist+qe+qc+qc,qfirst+qe+qc+qc
    jmp qslower, <q2
    cmp qdist+qd+qd+qc,qfirst+qd+qd+qc
    q3 djn qslower, #qp3
    cmp qdist+qe+qc, qfirst+qe+qc
    jmp <qfast, <q2
    cmp qdist+qd+qd, qfirst+qd+qd
    jmp <qfast, <q3
    cmp qdist+qd+qd+qb,qfirst+qd+qd+qb
    slt <q3, <q1

    jmz warr, qdist+qe+qd+qc+10

    qslower add @q3, @qslow
    qslow add @q2, qkil
    qfast add @q1, @qslow

    qskip cmp <qdist+qstep+50, @qkil
    jmp qloop, <1234

    add #qdist-qfirst, qkil
    qloop mov qbomb, @qkil
    qkil mov <qfirst+qstep+50, <qfirst
    sub #qi, @qloop
    djn qloop, #qr+2

    spos equ sdest+2700
    ppos equ pdest+201

    warr mov bomb, spos+4
    spl 2, <500
    spl 2, <1500
    spl 1, <2500
    mov <ssrc, <sdest
    mov -2, 0
    mov <ssrc, <pdest
    spl @sdest, <3500
    sdest spl @0, spos
    pdest jmp @0, ppos

    pstep1 equ 5656
    pstep2 equ 3152
    pstep3 equ 3408
    proc equ 9

    mov <proc, <papera
    papera spl @0, pstep1
    mov <proc, <paperb
    paperb spl @0, pstep2
    mov <proc, <paperc
    paperc spl @0, pstep3
    spl 0, <4000
    clr mov 0, <1
    djn clr, #-80

    step equ 5789
    time equ 1344
    gap equ 7
    first equ (-step*time)

    ssrc spl 0, 5
    stone mov bomb+4, <hit+first
    hit mov bomb+4, @stone
    add #step, @hit
    djn stone, <-3000

    bomb dat <2667, <1-gap

    end qscan

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)