Dick Moores wrote: >>> 2. I've used 1 for White player, -1 for Black player, and (-1)*player >>> to alternate players. Is there a better way? >>> 3. I've used a lot of variables. Too Many? >> >> I think it might work well to either put the player variables into >> lists or simple classes. > > I have no confidence with classes, but how about this for lists: > > playerName = ['', 'White', 'Black'] > moveCounter = [0, whiteMoveCounter, blackMoveCounter} > remainingPlayerTime = [0, remainingWhiteTime, remainingBlackTime]
> Is that something like what you were thinking? No. I was thinking more like this: whitePlayer = [ 'White', whiteMoveCounter, remainingWhiteTime] blackPlayer = [ 'Black', blackMoveCounter, remainingBlackTime] You could even define offsets: NAME = 0 MOVES = 1 TIME = 2 and refer to currentPlayer[NAME] From here to simple classes is not a big step: class player(object): def __init__(self, name, moveCounter, remainingTime): self.name = name self.moveCounter = moveCounter self.remainingTime = remainingTime whitePlayer = player('White', 1, timeLimit) blackPlayer = player('Black', 1, timeLimit) Then playerName(player) becomes player.name and remainingPlayerTime(player) becomes player.remainingTime. > Any thoughts about my number 6?: "I thought I had a way to make this > script useable on unix as well > as Windows. Thus the section with the 3 classes. But it won't run on > unix, because it was necessary to import msvcrt outside of the > classes--it wouldn't compile otherwise, and because of the need for > the line 'if msvcrt.kbhit():' Why do you need to call kbhit() at all? Why not just call getch() and wait for the next character? Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor