Not so good roads in Rnccia
Python 2, 229 213 204 200 188 bytes



lambda n,l:"\n".join(["-"*l]+[i%2and"".join(j-i/2&amp;1+2*(n&gt;1)and"  "or x.append(1)or"H0000##"[len(x)%7]*2for j in range(l/2))or((i-n*2and"- "or"=")*l)[:l]for i in range(1,n*4)]+["-"*l])
x=[]


Try it online!



My longest codegolf answer so far