PyJack

Chris Patton chrispatton at gmail.com
Thu Aug 12 17:50:07 EDT 2004


Paul Rubin <http://phr.cx@NOSPAM.invalid> wrote in message news:<7xisbpmdss.fsf at ruckus.brouhaha.com>...
> jumpthewall at gmail.com (Chris Patton) writes:
> > import whrandom, os
> 
> Use random rather than whrandom.  whrandom is obsolete and deprecated.
> If you're imagining a situation where players will bet real money on
> the hands dealt by this program, you have to get even more serious
> about the sources of randomness.
> 
> > def scorer(score,playerdeck):...
> >                         while d < len(playerdeck):
> >                                 if score > 10 and 'A' in playerdeck:
> > typevalues['A'] = 1
> 
> This is pretty ugly, changing the contents of what's conceptually a
> fixed table, depending on the player score.  I think it's better to
> just score the hand with A=1, then count the aces and adjust the score
> accordingly.
> 
> >         while decksize < 52:
> >                 a = whrandom.randint(0,12)
> >                 if left[a] > 0:
> >                         left[a] = left[a] - 1
> >                         deck.append(types[a])
> >                         decksize = decksize + 1
> >                 elif left[a] == 0: pass
> 
> This is a horrendous method of shuffling the cards.  When there's only
> one card left to deal, it will take several tries to find it.  See
> the random.shuffle function for a direct way to shuffle.
> 
> >         humandeck = []
> >         while c <= 1:
> >                 humandeck.append(deck[0])
> >                 del deck[0]
> >                 c = c + 1
>  
> >         compdeck = []
> >         c = 0
> >         while c <= 1:
> >                 compdeck.append(deck[0])
> >                 del deck[0]
> >                 c = c + 1
> 
> 
> Move these to a function that deals one hand, and call it for
> the player and the computer.
> 
> >         score = 0
> >         compscore = 0
> >         stay = 0
> >         over = 0
> >         compstay = 0
> >         compover = 0
> 
> Maybe you want to think of using fewer variables, e.g. create class
> instances for the two players.  Right now you only handle a two-player
> game (the human and the computer).  What if you want to handle n players?

Thanks for your analization, Paul. I'm getting to work on the code. 
IF you tried to run the code, you might have ran into a few bugs. If
you noticed, that was very immature code.

Thanks



More information about the Python-list mailing list