This is in dedication to all the time I wasted NOT thinking hard when necessary.
Here is a list of when to think HARD:
1) On a Multiple Choice test. Sometimes you can get a question right by looking at the other questions.
2) On ANY test. If you're stuck, think to yourself, why am I stuck? Is there something that I missed- Some step perhaps? OR is there some part of the problem that I incorrectly interpreted? OR is there some part that I added in EXTRA stuff that made me totally confused?
3) When you're emotional.
4) On Jeopardy.
5) When you're starting to program! I don't mean "newbies", I mean when you're starting a new program..
So, I'll just talk about (5) for a little bit now. I used to always get confused with the X's and Y's of LOCATE or placing things on the screen with a LEFT, UP = (0,0) configuration. Algorithms sometimes just wouldn't work because of a spelling error or sometimes because I left out a critical detail in favor of typing it up faster (unconsciously).
When you start a new program or function, ask yourself:
What do I want to do?
What stuff (tools, libs, functions, pictures, sound, ideas..) do I need to do it?
How do I do what I want to do with the stuff that I will have?
Divide your time between programming and thinking. It is more efficient and enjoyable for you to think what you need to do and then do it, rather than just doing it and testing it and then thinking and retesting, which is MUCH more tempting.
You can also make an outline for yourself (not the school type of outline) where you put in the features and algorithms you want.
Speaking of algorithms, new algorithms (for me at least) tend to be bug-prone. When that happens I go into notepad and try to reason out how the algorithm should work, and then I code it in notepad and recode it in QB. One example is tile scrolling. What things to add? What to subtract? It can make a person dizzy. I always try to simply my variable naming -- not too long, not too short! -- and stick to strict naming conventions of my own design. That can make it easier, too.
Um, think hard! And if that doesn't work, sacrifice a bunny to Hera and hope you get a dagger that instantly kills Hercules! Err.....