[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.
|