>>28 Io
f:=method(w,h,
for(i,0,h-1,
for(j,0,w-1,
if((j+i)%(h*2-2)==0 or (j-i)%(h*2-2)==0,"!","-")print
)
writeln
)
)

Io> f(10,3)
!---!---!-
-!-!-!-!-!
--!---!---
==> nil
Io> f(11,5)
!-------!--
-!-----!-!-
--!---!---!
---!-!-----
----!------
==> nil