Exit Full View
ZipUp

/Games/Wooden Block Puzzle/WoodenBlockPieces.foocad

WoodenBlockPieces
FooCAD Source Code
include WoodenBlock.foocad

class WoodenBlockPieces : WoodenBlock() {
    
    fun smalls() : Shape3d {
        return piece( "1" ) +
            piece( "2" ).translateX(size*4) +
            piece( "3" ).translateX(size*8) +
            piece( "v" ).translateX(size*12)
    }

    fun fours() : Shape3d {
        return piece( "A" ) +
            piece( "E" ).translateX(size*4) +
            piece( "I" ).translateX(size*8) +
            piece( "O" ).translateX(size*12) +
            piece( "U" ).translateX(size*16) +
            piece( "Y" ).translateX(size*20) +
            piece( "S" ).translateX(size*24)

    }

    fun fives() : Shape3d {
        return piece( "D" ) +
            piece( "P" ).translateX(size*4) +
            piece( "R" ).translateX(size*8) +
            piece( "T" ).translateX(size*12) +
            piece( "N" ).translateX(size*16) +
            piece( "L" ).translateX(size*20)
    }

    fun extras1() : Shape3d {
        return piece("H") +
            piece("B").translateX(size*4) +
            piece("X").translateX(size*8) +
            piece("W").translateX(size*12) +
            piece("K").translateX(size*16)
    }

    fun extras2() : Shape3d {
        return piece("J") +
            piece("G").translateX(size*4) +
            piece("M").translateX(size*8) +
            piece("F").translateX(size*12) +
            piece("C").translateX(size*16)
    }

    override fun build() : Shape3d {
        return fours() +
            fives().translateY( size*4 ) +
            extras1().translateY( size * 10 ) +
            extras2().translateY( size * 14 ) +
            smalls().translateY( size * 18 )
    }
}