title: Programming Technique: How to create a simple card game
body: <p>as I am learning the Ruby language, I am getting closer to actual programming.  I was thinking of creating a simple card game. My question isn't Ruby oriented, but I do know want to learn how to solve this problem with a genuine OOP approach. In my card game, I want to have four players, using a standard deck with 52 cards, no jokers/wildcards. In the game, I won't use the ace as a dual card, it is always the highest card. </p>
  
  <p>So, the programming problems I wonder about are the following:</p>
  
  <ol>
  <li><p>How can I sort/randomize the deck of cards? There are four types, each having 13 values. Eventually there can be only unique values, so picking random values could generate duplicates. </p></li>
  <li><p>How can I implement a simple AI? As there are tons of card games, someone would have figured this part out already, so references would be great.</p></li>
  </ol>
  
  <p>I am a true Ruby nuby, and my goal here is to learn to solve problems, so pseudo code would be great, just to understand how to solve the problem programmatically. I apologize for my grammar and writing style if it's unclear, for it is not my native language. </p>
  
  <p>Also, pointers to sites where such challenges are explained would be a great resource!</p>
  
  <p>Thank you for your comments, answers and feedback!</p>