Second, C++ is a horrible first language, period. Don't believe me, read this scenario and be completely honest with yourself, "could you have found the problem?". That's because C++ is rife with this kind of crap and you will be dealing with it from day 1! People say it's stuff like memory management that make C++ difficult, but it's not, not really... it's stuff like this. The horrible linker, the lets support every single bloody edge case even if nobody is ever going to use them mindset, the piss poor standard libraries, the fact its actually 4 languages smashed together, the weight of a thousand legacy mistakes. All of those negatives may eventually be a positive ( except the linker, which just sucks ), but to someone starting out they all work together to make C++ a terrible terrible starting language.
EDIT: Never actually answered the question:
-What language suits my needs best?
-What do I need to make the graphics part of the game?
A graphics library in most cases. Although Java and C# have graphics routines built in, they are horrifically slow. That guide link has recommended 2D graphic libraries for each language, but it all comes down to which language/platform you decide to go with.
-Is there any good tutorial that gives info on every step of game development?
Yes, tons, and loads of books too. Need to pick a language and platform first though.