[Tkinter-discuss] self modifying buttons - memory game
Cameron Laird
Cameron at phaseit.net
Tue May 29 17:51:43 CEST 2007
On Mon, May 28, 2007 at 01:46:25PM -0700, RickB wrote:
> > .
> > .
> > .
> >> I assume there is probably a better way to do this. The code is
> >> functional
.
.
.
> http://www.nabble.com/file/8227/gui2.py
> It is just a version of a memory game where you have a grid of cards and you
> have to pick a matching pair. If you click the one of buttons in the grid
> you will see a color. You then must click a button with a matching color. If
> you do both those buttons will stay that color. If your second pick does not
> match, both buttons turn back to gray. I think my new file is pretty
> efficient and functional.
.
.
.
Ah! I have the new version, and it does indeed entertain
me, and appear to be correct. While we're here, I'll make
a couple of comments:
A. I'd likely replace
col[z]=c[col[z]%5]
with
col[z] = c[col[z] % len(c)]
B. You can replace
col = []
for z in range(w*h):
col.append(z)
with
col = range(w * h)
C. I think what you're *really* after, though,
is
# Make copies of the color list to
# fill out the whole grid, then
col = (c * (1 + t / len(c)))[:t]
# shuffle the colors.
random.shuffle(col)
D. Similarly, there are ways to recode maker()
so that it's briefer, easier to understand,
and less tricky in its global manipulation.
E. There are choices for c, w, and h that leave
the "board" unplayable--that is, all pairs
have been matched, and all that's left are
unpaired colors.
Nice work!
More information about the Tkinter-discuss
mailing list