well I have done tic tac toe, pong and breakout. what should I do next using dx9 and c++.
direct x9 game
Beginner:
Mario 2D
Novice:
Zombies Ate My Neighbors
Sonic 2D
Super Metroid
Megaman NES
Megaman X
Pac-Man (might be beginner)
Expert:
F-Zero (might be better off just doing it in 3D)
Street Fighter
Ones I have done on this list (not using C++, though some or many of the same principles apply):
Mario 2D clone
Zombies Ate My Neighbors prototype
Sonic 2D prototype
Megaman NES clone
Megaman X prototype
Super Metroid clone
I think chess is a nice game to learn some basics, but it has a problem.
As a beginner, you'd probably do it as chess for two players, hot-seat.
If you think about it, the AI, the most challenging part of it, would need to be left aside.
The second hardest part is the logic itself, how a bishop, a knight, a queen moves around, what happens if a piece moves over another, this kind of stuff.
As you can see, this is really a logical part, just understand the rules and make a loop to apply them once, along with the player move, every turn.
But given the title of the thread, I assume you're focusing on learning DirectX programming, not plain programming. In this context, chess would not be the greatest choice, since it presents little to no challenge on the real-time DirectX rendering and game management.
Get a platformer such as these Shane listed above, the simplest ones, with square tiled maps (no ramps or diagonals) and go ahead, make yourself a version.
A Bomberman clone would do fine too.
This way, you'd keep the logic part challenging, would need to code real time moving sprites and all the DirectX rendering and, in addition, add in some AI (even if it's just a fixed right-left movement "monster"). The simplest AI would be overwhelming on a chess game; at least for me it would.