Annotation of researchv10dc/cmd/icon/tests/queens.icn, revision 1.1

1.1     ! root        1: procedure main()
        !             2:    every bwrite([q(1),q(2),q(3),q(4),q(5),q(6),q(7),q(8)])
        !             3: end
        !             4: 
        !             5: procedure q(c)
        !             6:    suspend place(1 to 8,c)     # look for a row
        !             7: end
        !             8: 
        !             9: procedure place(r,c)
        !            10:    static up, down, row
        !            11:    initial {
        !            12:         up := list(15,0)
        !            13:         down := list(15,0)
        !            14:         row := list(8,0)
        !            15:         }
        !            16:    if row[r] = down[r + c - 1] = up[8 + r - c] = 0
        !            17:    then suspend row[r] <- down[r + c - 1] <-
        !            18:         up[8 + r - c] <- r     # place if free
        !            19: end
        !            20: 
        !            21: procedure bwrite(s) 
        !            22:        local i,l
        !            23:        every r := 1 to 8 do {
        !            24:        l := repl(" .",8)
        !            25:        s[i:=(1 to 8)] = r & l[2*i] := "Q"
        !            26:        write (l)
        !            27:        }
        !            28:        write("ok?")
        !            29: end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.