Algoritmayı program yazarak öğrenmeyin. Ben öyle öğrendim, aman.
Önce kendisine vakit ayırın, özel algoritmalar çalışın, örneklere bakıp kağıda algoritmasını yazmayı deneyin.
Algoritmayı çözdüğünüz zaman programlamaya geçin.
Programlama dili olarak ise ikisi de OOP destekler, bunda sıkıntı yok. Aralarındaki en büyük fark C#'ın yüksek, C++'ın düşük seviyeli bir dil olması. Sen oyun için sorduğundan ikisinde de yapamayacağın şey yok. C++'ta bunu yaparsın ama C#'ta olmaz veya tam tersini diyemeyiz. Araştırın, syntax'larına bakın, yapılarına bakın. Hangisi size uygun geliyorsa onu seçin.