Subversion Repositories programming

Rev

Rev 395 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 395 Rev 397
Line 2... Line 2...
2
 
2
 
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006 Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006 Ira W. Snyder (devel@irasnyder.com)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
6
 
6
 
7
# Fix for the lame version of python on the school's computers (v2.1)
-
 
8
try:
-
 
9
	(True, False)
-
 
10
except NameError:
-
 
11
	(True, False) = (1, 0)
-
 
12
 
-
 
13
class PuzzlePiece:
7
class PuzzlePiece (object):
14
 
8
 
15
	EMPTY = 'E'
9
	EMPTY = 'E'
16
 
-
 
17
	(UP, DOWN, LEFT, RIGHT) = ('up', 'down', 'left', 'right')
10
	(UP, DOWN, LEFT, RIGHT) = ('up', 'down', 'left', 'right')
18
 
11
 
19
	def __init__ (self, state, depth=0, goal=None, generated_by='root'):
12
	def __init__ (self, state, depth=0, goal=None, generated_by='root'):
20
		if len(state) != 9:
13
		if len(state) != 9:
21
			raise ValueError
14
			raise ValueError
Line 65... Line 58...
65
		for i in xrange (len (self.state)):
58
		for i in xrange (len (self.state)):
66
			if self.state[i] == value:
59
			if self.state[i] == value:
67
				return i
60
				return i
68
 
61
 
69
		raise ValueError
62
		raise ValueError
70
 
-
 
71
	def move (self, empty_pos, direction):
63
	def move (self, empty_pos, direction):
72
		val = 0
64
		val = 0
73
 
65
 
74
		if direction == self.UP:
66
		if direction == self.UP:
75
			val = -3
67
			val = -3