Ok, i am trying to get into game programming. Taking a double course so to speak. Atm my C++ knowledge is limited, however i am learning more any chance i get. Please don't say focus on one thing and nothing else, it would prob be best, but going knee deep into book after book on improving my c++ skill and whatnot would drive me insane. So I'm taking mostly C++ with a bit of API on the side.

Now for the question, Which route do you think i should go with? Allegro, which is what i am currently doing. I have not tried OpenGL in full force, nor DirectX. However from the tiny bit i have skimmed of OpenGL tutorials Allegro seems FAR easier.
Now i am not looking for sheer ease of use, i am more looking for longterm efficiency and effectiveness. So, with those two in mind, which should i put all my API effeort into? Allegro, OpenGL, or DirectX?

From what i hear, DirectX is the hardest. I am not scarred away by how hard something is, however it would be nice if i could make some progress without learning say 1000 lines of code to put an image up, and then 1012 lines to make the img dance.

So with all i have said in mind, which do you think? After i go knee deep in as many tutorials i can find in whichever API i choose, i am sure i'll be buying a few books on said API. So commitment is not an issue, just understanding it all is hehe.

So! for the last time (I Promise lol), Which shall it be!

Allegro
OpenGL
DirectX