[Tutor] Programming the behavior of a set of domino

Chung-hong Chan chainsawtiney at gmail.com
Fri Feb 23 19:07:48 CET 2007


I am a newbie in computer programming and I am also not a native
English Speaker. I love to play domino and I would like to program a
simple domino game in python. Also a good opportunity for me to learn
some computer programming.
I need some help in my code which programming the behaviors of a set of domino.
Here is the code, generally a modification of the code from the deck
of card example in How to Think like a Computer Scientist.

class domino:
	def __init__(self,a_end,b_end):
	def __str__(self):
		return ("["+str(self.a_end)+","+str(self.b_end)+"]")
	def __cmp__(self,other):
		if self.a_end==other.b_end and self.b_end==other.a_end:
			return 0
		return 1

class deck:
	def __init__(self,set_type):
		self.dominoes = []
		self.set_type = set_type
		for a_end in range(self.set_type+1):
			for b_end in range(self.set_type+1):
	def print_deck(self):
		for domino in self.dominoes:
			print domino
	def deck_len(self):
		print len(self.dominoes)

newdomino = deck(12)

if domino(1,2)==domino(2,2):
	print "yes"
	print "no"

each piece of domino have a_end and b_end. domino (1,2) and
domino(2,1) is the same and thus one of them should be removed. Now,
deck(12) will return 169 dominoes while the expected number of
dominoes is 91. Even I wrote a __cmp__ method for domino, list
membership (i.e. x in list) is not working because they are not a
exact duplicates.
Can anyone shed me some light to solve this problem?
Thank You.


"The scientists of today think deeply instead of clearly. One must be
sane to think clearly, but one can think deeply and be quite insane."
Nikola Tesla

More information about the Tutor mailing list