At this very second my party consists of the following:
- Razortooth (Rattata) lv 16
- Talon (Pidgey) lv 15
- Pointy (Spearow) lv 15
- Lilly (Jigglypuff) lv 14
Right now you're probably most interested to hear how I beat Brock with only a Rattata, a Pidgey and a Spearow, so I'll briefly outline that.
I won't lie to you, it was hella-difficult. Brock has a Geodude and an Onyx, both incredibly resistant to normal and flying-type attacks (all I had available at the time, no TMs). The way to take him down is by using the status-affecting moves normal-type Pokémon tend to have early-0n.
At this stage all my Pokémon were on level 12, except Razortooth who was on level 13.
Pidgey's have sand-attack, which lowers accuracy. This is a very very useful move for this battle. I used that on both the Geodude and the Onyx to ensure they weren't actually hitting with their attacks. Spearow also has growl, a move that lowers attack. Finally Rattata gets hyperfang, your most powerful move so far, at lv 13.
You've just got to sand attack, switch to a Spearow, growl so when they DO hit they cause almost no damage, then chip away at them 1hp at a time. Onyx is actually easier to faint than Geodude because Onyx can't artificially inflate his defence with defence curl. This means you can also use Spearow's leer, a move that lowers defence, to make despatching him very easy!
Hmm... sorry. That was a bit technical. Brock is probably the only problem trainer you'll ever have to deal with if you're doing this my way. Later on you can teach TMs to Jigglypuff etc that will help defeat problem gym leaders. The later entries in here will be much shorter, and hopefully more entertaining!