diff --git a/examples/tetris/src/model.d b/examples/tetris/src/model.d index b7eee794..fe58fd69 100644 --- a/examples/tetris/src/model.d +++ b/examples/tetris/src/model.d @@ -69,65 +69,70 @@ struct Figure { } /// All shapes -const Figure[7] FIGURES = [ - // FIGURE1 =========================================== - // ## #### - // 00## 00## - // ## - Figure([FigureShape([1, 0], [ 1, 1], [0,-1]), - FigureShape([0, 1], [-1, 1], [1, 0]), - FigureShape([1, 0], [ 1, 1], [0,-1]), - FigureShape([0, 1], [-1, 1], [1, 0])]), - // FIGURE2 =========================================== - // ## #### - // 00## ##00 - // ## - Figure([FigureShape([1, 0], [0, 1], [ 1,-1]), - FigureShape([0, 1], [1, 1], [-1, 0]), - FigureShape([1, 0], [0, 1], [ 1,-1]), - FigureShape([0, 1], [1, 1], [-1, 0])]), - // FIGURE3 =========================================== - // ## ## #### - // ##00## 00 ##00## 00 - // ## #### ## - Figure([FigureShape([1, 0], [-1, 0], [-1,-1]), - FigureShape([0, 1], [ 0,-1], [ 1,-1]), - FigureShape([1, 0], [-1, 0], [ 1, 1]), - FigureShape([0, 1], [-1, 1], [ 0,-1])]), - // FIGURE4 =========================================== - // #### ## ## - // ##00## 00 ##00## 00 - // ## ## #### - Figure([FigureShape([1, 0], [-1, 0], [ 1,-1]), - FigureShape([0, 1], [ 0,-1], [ 1, 1]), - FigureShape([1, 0], [-1, 0], [-1, 1]), - FigureShape([0, 1], [-1,-1], [ 0,-1])]), - // FIGURE5 =========================================== - // #### - // 00## - // - Figure([FigureShape([1, 0], [0, 1], [ 1, 1]), - FigureShape([1, 0], [0, 1], [ 1, 1]), - FigureShape([1, 0], [0, 1], [ 1, 1]), - FigureShape([1, 0], [0, 1], [ 1, 1])]), - // FIGURE6 =========================================== - // ## - // ## - // 00 ##00#### - // ## - Figure([FigureShape([0, 1], [0, 2], [ 0,-1]), - FigureShape([1, 0], [2, 0], [-1, 0]), - FigureShape([0, 1], [0, 2], [ 0,-1]), - FigureShape([1, 0], [2, 0], [-1, 0])]), - // FIGURE7 =========================================== - // ## ## ## - // ##00## 00## ##00## ##00 - // ## ## ## - Figure([FigureShape([1, 0], [-1,0], [ 0,-1]), - FigureShape([0, 1], [0,-1], [ 1, 0]), - FigureShape([1, 0], [-1,0], [ 0, 1]), - FigureShape([0, 1], [0,-1], [-1, 0])]), -]; +__gshared const Figure[7] FIGURES; + +// workaround for dmd 2.0.67 - move initialization to static this +__gshared static this() { + FIGURES = [ + // FIGURE1 =========================================== + // ## #### + // 00## 00## + // ## + Figure([FigureShape([1, 0], [ 1, 1], [0,-1]), + FigureShape([0, 1], [-1, 1], [1, 0]), + FigureShape([1, 0], [ 1, 1], [0,-1]), + FigureShape([0, 1], [-1, 1], [1, 0])]), + // FIGURE2 =========================================== + // ## #### + // 00## ##00 + // ## + Figure([FigureShape([1, 0], [0, 1], [ 1,-1]), + FigureShape([0, 1], [1, 1], [-1, 0]), + FigureShape([1, 0], [0, 1], [ 1,-1]), + FigureShape([0, 1], [1, 1], [-1, 0])]), + // FIGURE3 =========================================== + // ## ## #### + // ##00## 00 ##00## 00 + // ## #### ## + Figure([FigureShape([1, 0], [-1, 0], [-1,-1]), + FigureShape([0, 1], [ 0,-1], [ 1,-1]), + FigureShape([1, 0], [-1, 0], [ 1, 1]), + FigureShape([0, 1], [-1, 1], [ 0,-1])]), + // FIGURE4 =========================================== + // #### ## ## + // ##00## 00 ##00## 00 + // ## ## #### + Figure([FigureShape([1, 0], [-1, 0], [ 1,-1]), + FigureShape([0, 1], [ 0,-1], [ 1, 1]), + FigureShape([1, 0], [-1, 0], [-1, 1]), + FigureShape([0, 1], [-1,-1], [ 0,-1])]), + // FIGURE5 =========================================== + // #### + // 00## + // + Figure([FigureShape([1, 0], [0, 1], [ 1, 1]), + FigureShape([1, 0], [0, 1], [ 1, 1]), + FigureShape([1, 0], [0, 1], [ 1, 1]), + FigureShape([1, 0], [0, 1], [ 1, 1])]), + // FIGURE6 =========================================== + // ## + // ## + // 00 ##00#### + // ## + Figure([FigureShape([0, 1], [0, 2], [ 0,-1]), + FigureShape([1, 0], [2, 0], [-1, 0]), + FigureShape([0, 1], [0, 2], [ 0,-1]), + FigureShape([1, 0], [2, 0], [-1, 0])]), + // FIGURE7 =========================================== + // ## ## ## + // ##00## 00## ##00## ##00 + // ## ## ## + Figure([FigureShape([1, 0], [-1,0], [ 0,-1]), + FigureShape([0, 1], [0,-1], [ 1, 0]), + FigureShape([1, 0], [-1,0], [ 0, 1]), + FigureShape([0, 1], [0,-1], [-1, 0])]), + ]; +} /// colors for different figure types const uint[7] _figureColors = [0xC00000, 0x80A000, 0xA00080, 0x0000C0, 0x800020, 0x408000, 0x204000];