I think the guys above already listed most of what you want, so I could just add that you can also find a lot of good material at stackoverflow just by googling for specific topics (example: c++ angle between two vectors, etc...)
I would like to make a comment on the games you listed though, as I think you should rearrenge them a bit with concern to the math required. I assume you didn't really set any specific order to them when you wrote it down but I would consider something like this
- Mario (simple physics, not to much shannanigans, mostly algebra and some trig)
- Zelda 2D RPG (a bit more physics involved which means you need dive a bit deeper into that field)
- Terraria (Here you also start going into the procedual generation which is really a area of its own, more statistics than algebra/physics)
- Diablo 1 and 2 Isometric (Procedual generation as well as more advanced physics to have all interaction with skills/effects creatures etc as well as more math to generate the visual effects)
- Plant vs Zombie Well, I haven't played it, dont know how to rank it ^_^
So, for the games listed In my mind there are actually three (or four) seperate fields linear algebra/trig., statistics for procedual generation as well as physics (mainly mechanical, forces, impluses etc). So I would highly reccomend you start with the case with the simplest physics etc to just get used to the math tools you require, as soon as you start feeling a bit more confident try adding a bit more physics effects etc and start moving on from there
Ah, and don't be discuraged if a simple thing such as getting two blocks to collide, bounce or even rotate after the collision gives you a really hard time, some seemingly simple things can have some tricky physics (for a beginner) but it's all part of learning ^_^