Card game probabilities help needed

Hey, me and my friend have been thinking about designing a program which works out the probabilities of a simple card game, however it is harder than we anticipated.

This card game works by randomly giving each of the 4 players 13 cards. The first player then has to put down an Ace, the second player a two and so on until a player has managed to loose all their cards and wins. A player may put more than one card of that number down. Since this is not possible players must lie about what cards they are placing on the table and the other players must work out if that player was lying or not. If they were lying they have to pick up the pile of cards on the table, if they weren’t the player who said they were lying has to.

The objective of our program is to predict the chance of a player having certain cards or to produce a probability of the chance that they are lying or not.

Anyway, this turns out to be very difficult and we are stuck on some of the basics of card game probabilities...

For example if we have 4 cards and 4 players where random amounts of the cards are given out to random players.

The chance of a player getting one card is 1/4 however since we have 4 cards it is (1/4)*4 = 1. But since this is random it cannot be a certain chance that every player will get 1 card.

Furthermore, we simply cannot seem to be able to work out a reasonable answer to the probability of a hand of 13 to get a pair of matching cards or a triplet of matching cards when through the practical test we usually have 2 pairs and around 0.4 triplet pairs.

Could anyone please shed some light onto this topic?

Thank you