Here's my 360:

Code:
Function s($n)
ReDim $s[$n*($n+2)], $, $a, $b, $r

; get directions
$ = " "
For $a = -$n+1 to $n-1
If $a < 1
$r = $r + $ + 1
$ = iif($ = "-", " ", "-")
EndIf

For $b = 1 to $n-abs($a)
$r = $r + $ + 2
Next

If $a > -1
$ = iif($ = "-", " ", "-")
$r = $r + $ + 1
EndIf
Next

; build first line
For $a = 1 to $n
$ = "W" + $ + "B"
Next
$s[0] = $

; build result
For $a = 1 to Len($r) step 2
$ = $s[$a/2]

$b = InStr($," ") + Substr($r, $a, 2)
$ = join(Split($), Substr($, $b, 1))
$s[$a/2 + 1] = Left($, $b - 1) + " " + Substr($, $b + 1)
EndFunction



Damn... I should have googled more for that algorithm