1package takuzuplus23import (4 "codeberg.org/go-pdf/fpdf"5 "github.com/FelineStateMachine/puzzletea/export/pdf"6 "github.com/FelineStateMachine/puzzletea/games/takuzu"7)89type printAdapter struct{}1011var PDFPrintAdapter = printAdapter{}1213var takuzuPlusRules = []string{14 "No three equal adjacent in any row or column.",15 "Rows/columns have equal 0s and 1s, and all rows/columns are unique.",16 "= means same; x means different.",17}1819func (printAdapter) CanonicalGameType() string { return "Takuzu+" }20func (printAdapter) Aliases() []string { return []string{"takuzu plus", "binario+", "binario plus"} }2122func (printAdapter) BuildPDFPayload(save []byte) (any, error) {23 return pdfexport.ParseTakuzuPlusPrintData(save)24}2526func (printAdapter) RenderPDFBody(pdf *fpdf.Fpdf, payload any) error {27 switch data := payload.(type) {28 case *pdfexport.TakuzuData:29 takuzu.RenderTakuzuPDFBodyWithRules(pdf, data, takuzuPlusRules)30 }31 return nil32}