layout_mode={ obscured=0, -- for wells vertical=1, -- for conventional slots rotated=2, -- todo: sideways } layout=klass() function layout:init(x,y,mode) self.x=x self.y=y self.mode=mode if (mode==layout_mode.rotated) self.rotated=true if (mode!=layout_mode.vertical) self.obscured=true end function layout:place_card(i) if (self.mode==layout_mode.obscured) return self.x,self.y if (self.mode==layout_mode.rotated) return self.x,self.y if (self.mode==layout_mode.vertical) return self.x,self.y+(i-1)*6 assert(false,"unexpected mode: "..self.mode) end