->Terry<- wrote: > Thanks for the reply Kent and others. I've made some > changes and the game is quite playable now. I've put > the new version online at the same links if anyone > wants to take a look.
A few more ideas: - I think you missed my earlier suggestion about simplifying get_button(). - You have the same code in two places to initialize the board. Code duplication is a strong "code smell" and it's generally a good idea to eliminate it. In this case it would be easy to make a function to initialize the board and call it in two places. The function can return the new board which you can then assign to the state variable. - I think the program would benefit from having a Button class. Buttons have several different states and behaviours which could all be bundled into a class. The state of a button includes its location and whether it has a peg in it. The behaviours of a Button are draw, add or remove a peg, and hit testing. If you make this change I would expect that peg_coords and state would both be replaced by a list of Buttons. get_button() would look like this: def get_button(click): for button in buttons: if click in button: return button redraw_screen() would become def redraw_screen(): screen.blit(board, (0, 0)) # Draw board for button in buttons: button.draw(screen) pygame.display.update() return Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor