Update
Just thought I'd write a little bit about the Attack system, as that's what I'm working on coding at the moment.
After careful consideration, I changed my mind and there is now no 4-move limit, your Pokemon can learn as many moves as it is able to.
There is also no PP either.
You may then be wondering, 'What's to stop us from just abusing the high-powered moves non-stop?'. This is where I introduce you to the...
Fatigue System
Every time your Pokemon uses an attack, they become more tired. The stronger the attack, the more energy it takes away from your Pokemon.
Once your Pokemon becomes fairly tired, it's Speed will slowly start decreasing (temporarily of course). It also may miss a turn in battle once in while.
When it becomes really tired, it may faint from exhaustion and need care at a Pokemon Centre.
'So how do I stop this? Take it to the bloody Pokemon Centre after every battle!?'
It'll usually take a little while for your Pokemon to start getting tired (especially if you train it's stamina), and unless it's fainted from exhaustion there's no need to take it to a Pokecentre.
All you need to do is just let it sleep for a while - either battle or train another Pokemon in the meantime.