Yes, I suppose one can:
t1p = SparseArray[{{0, 0, 1}, {0, 0, 0}, {1, 0, 0}}];
t1m = SparseArray[1 - t1p, Automatic, 0];
t2p = Reverse[t1p];
t2m = Reverse[t1m];
t3p = SparseArray[{{0, 0, 0}, {0, 0, 0}, {1, 0, 1}}];
t3m = SparseArray[1 - t3p, Automatic, 0];
t4p = Reverse[t3p];
t4m = Reverse[t3m];
With[{m = 20, n = 53},
ArrayPlot[ArrayFlatten[Table[Switch[Mod[j, 2, 1],
1, Switch[Mod[k, 18, 1],
x_ /; x < 9, If[Mod[k, 2, 1] == 1,
t1m, t1p],
9, t3m,
x_ /; x < 18, If[Mod[k, 2, 1] == 1,
t2m, t2p],
18, t4p],
2, Switch[Mod[k, 18, 1],
x_ /; x < 9, If[Mod[k, 2, 1] == 1,
t1p, t1m],
9, t3p,
x_ /; x < 18, If[Mod[k, 2, 1] == 1,
t2p, t2m],
18, t4m]], {j, m}, {k, n}]],
ColorFunction -> "M10DefaultDensityGradient",
Mesh -> {Range[0, 3 m, 3], Range[0, 3 n, 3]}, Frame -> None]]