Как реализовать 2D машинку?
Использовать вектор направления движения:
UP - передвигает "машинку" на некоторое расстояние вдоль вектора.
LEFT/RIGHT - поворачивают вектор направления на определенный угол.
Конкретная реализация уже на собственное усмотрение ( работа с вектором в элементарном виде легко реализуется даже стандартными средствами C++, использование SDL для реализации управления легко найти в интернете).
www.iforce2d.net/b2dtut/top-down-car
Проще не будет.