1. A method of providing learning capability to a computer game having an objective of matching a skill level of said computer game with a skill level of a game player, comprising: identifying a move performed by said game player; selecting one of a plurality of game moves based on a game move probability distribution comprising a plurality of probability values corresponding to said plurality of game moves; determining an outcome of said selected game move relative to said identified player move; updating said game move probability distribution based on said outcome; and modifying one or more of said game move selection, said outcome determination, and said game move probability distribution update based on said objective.