Disch, why do you advise against calling srand() whenever you generate a random number? I am guilty of doing this in many of my programs, and I am curious as to why it is considered bad practice.
1. Because it's a waste of performance.
2. Because it's not needed.
3. Because it's just a risk of non-randomness in certain cases.
So: Just stick with what Disch said, Just call srand() once, unless you need to reproduce a bug (eg if a bug is rand-dependent, in Debug mode you may want to call srand ~once~ with a specific number so you can reproduce and debug the bug) or you don't need complete randomness.