|
|
1.1 ! root 1: procedure main() ! 2: every print([q(1),q(2),q(3),q(4),q(5),q(6),q(7),q(8)]) ! 3: end ! 4: ! 5: procedure q(r) ! 6: suspend place(1 to 8,r) ! 7: end ! 8: ! 9: procedure place(c,r) ! 10: static up, down, col ! 11: initial { ! 12: up := list(15,0) ! 13: down := list(15,0) ! 14: col := list(8,0) ! 15: } ! 16: if col[c] = up[8 + r - c] = down[r + c - 1] = 0 ! 17: then suspend col[c] <- up[8 + r - c] <- ! 18: down[r + c - 1] <- c ! 19: end ! 20: ! 21: procedure print(a) ! 22: static line, bar ! 23: initial { ! 24: line := repl("+-",8) || "+" ! 25: bar := repl("| ",8) || "|" ! 26: } ! 27: every bar[!a*2] <- "Q" do { ! 28: write(line) ! 29: write(bar) ! 30: } ! 31: write(line,"\n\n") ! 32: return ! 33: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.