This week I’ve finished coding the different possible build orders for planes. Now, it will be randomly determined whether a plane will be built by column, row, or zigzag row. I also added additional build orders for prisms, which are divided into either horizontal or vertical planes. Each plane within the prism is built the same way (column, row, or zigzag).
All shapes except for vertical diagonals also have multiple potential starting blocks. Rows and horizontal diagonals only have two possible starting blocks - the block on each end of the shape. Vertical planes can start from either of the two bottom corners, and horizontal planes can start from any of the 4 corners. Finally, prisms can start from any of the four bottom corners. The starting block is chosen based on which potential starting block has the shortest distance to the last block placed (or, if this is the first shape being built, which has the longest distance to the first block of the next shape to be placed).