PowerShell v2+, 9999 90 bytes
param($n)1..$n|%{$x="" "*($_*2$n-2)+"\";if($_-ge4){$x="+"/----/"+-join(" "*($_-3+$i++$n+$i++)+"\ \"}" "*)[($n$n+6-$_)+"/----/$x"..($n+5+$i)]}
Takes input $n
, starts a loop from 1
to $n
with |%{...}
. Each iteration, we set a helper variable $x
equal towe're constructing a string. We start with the appropriate number of spaces and a \" "*($n-$_)
. This is calculated out to be the top part of the slide that's partially hidden by and the ladder. However, if we're at (counting from the top down) rung 4"/----/"
or greater.
To that, we immediately change our mind and setadd another string that's been sliced $x[...]
equal to enough spacesand $_-3+$i++join
and thened back together. The second string is the full slide width \ \
. Next, we count out how many prepending spacesand we need (based on how tall ourassume that the whole slide is and where we're atalways visible. It's the number of spaces before the slide would start $n-$_" "*($n+$i++)
), followed by the ladder "/----/
and our previous variableslide itself $x""\ \"
. This is sliced by a range calculated out to be the part of the "spaces plus slide" that's partially hidden by the ladder.