[Puzzler-checkins] SF.net SVN: puzzler:[652] trunk/puzzler
Brought to you by:
goodger
From: <go...@us...> - 2018-09-03 23:59:05
|
Revision: 652 http://sourceforge.net/p/puzzler/code/652 Author: goodger Date: 2018-09-03 23:59:03 +0000 (Mon, 03 Sep 2018) Log Message: ----------- added Polycubes56Crystal1 (no solutions yet; too big) Modified Paths: -------------- trunk/puzzler/puzzler/puzzles/polycubes.py Added Paths: ----------- trunk/puzzler/bin/cubes/polycubes-56-crystal-1.py trunk/puzzler/puzzler/puzzles/polycubes56.py Added: trunk/puzzler/bin/cubes/polycubes-56-crystal-1.py =================================================================== --- trunk/puzzler/bin/cubes/polycubes-56-crystal-1.py (rev 0) +++ trunk/puzzler/bin/cubes/polycubes-56-crystal-1.py 2018-09-03 23:59:03 UTC (rev 652) @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# $Id$ + +"""many solutions""" + +import puzzler +from puzzler.puzzles.polycubes56 import Polycubes56Crystal1 as puzzle + +puzzler.run(puzzle) Property changes on: trunk/puzzler/bin/cubes/polycubes-56-crystal-1.py ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Modified: trunk/puzzler/puzzler/puzzles/polycubes.py =================================================================== --- trunk/puzzler/puzzler/puzzles/polycubes.py 2018-09-03 20:31:32 UTC (rev 651) +++ trunk/puzzler/puzzler/puzzles/polycubes.py 2018-09-03 23:59:03 UTC (rev 652) @@ -2,7 +2,7 @@ # $Id$ # Author: David Goodger <go...@py...> -# Copyright: (C) 1998-2015 by David J. Goodger +# Copyright: (C) 1998-2018 by David J. Goodger # License: GPL 2 (see __init__.py) """ @@ -797,6 +797,17 @@ piece_width = 4 +class Polycubes56(Pentacubes): + + piece_data = copy.deepcopy(Pentacubes.piece_data) + piece_data.update(copy.deepcopy(Hexacubes.piece_data)) + piece_colors = copy.deepcopy(Pentacubes.piece_colors) + piece_colors.update(Hexacubes.piece_colors) + + # for format_solution: + piece_width = 4 + + class DigitCubes(Polycubes): """ Added: trunk/puzzler/puzzler/puzzles/polycubes56.py =================================================================== --- trunk/puzzler/puzzler/puzzles/polycubes56.py (rev 0) +++ trunk/puzzler/puzzler/puzzles/polycubes56.py 2018-09-03 23:59:03 UTC (rev 652) @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# $Id$ + +# Author: David Goodger <go...@py...> +# Copyright: (C) 1998-2018 by David J. Goodger +# License: GPL 2 (see __init__.py) + +""" +Concrete polycube puzzles, orders 5 & 6: pentacubes & hexacubes. +""" + +from puzzler.puzzles import Puzzle3D, Puzzle2D +from puzzler.puzzles.polycubes import Polycubes56 + + +class Polycubes56Crystal1(Polycubes56): + + """ + ? solutions + + An order-18 tetrahedral pyramid (plus one unit cube), consisting of 1141 + unit cubes. + + Based on the "`Mega-Pyramid`__" puzzle designed by Andy Niedermaier. + + __ http://gamepuzzles.com/megapyramid.htm + """ + + size = 18 + width = height = depth = size + extra = (6,6,6) + + def coordinates(self): + for z in range(self.depth): + for y in range(self.height): + for x in range(self.width): + total = x + y + z + if total < self.size or (x,y,z) == self.extra: + yield (x, y, z) Property changes on: trunk/puzzler/puzzler/puzzles/polycubes56.py ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |