Indeed, the scoring mechanism for banning luxuries is relatively straightforward, but the way information is retrieved, checked, and stored is deceptively more complex. Sure, you might be able to deduce that "if (kPlayer.isAlive())" checks to see if a player is alive, but what about a simple "if (kPlayer)"? How can the "PlayerTypes" variable e be given an integer value when it is not an integer type? How come the condition "GET_TEAM(GetPlayer()->getTeam()).isHasMet(GET_PLAYER(e).getTeam())" has both periods and arrows?
Getting started:
For programming, look for programming tutorials online, preferably written ones (videos should only be used if you want to look up something very specific); the first article is usually about setting up the necessary tools. Don't go for ones that advertise speed: learn the basics well, not quickly. I emphasize, be patient: advanced concepts rely heavily on the basics, so rushing ahead without a proper foundation is a waste of time. Though you can easily set up a working programming within minutes of starting a tutorial series, it can take months of practice before you can do the basics in your sleep.
For designing games, that's a completely separate matter entirely. First and foremost, you'll either need a lot of time and/or a lot of math knowledge. Start practicing with house rules for board/card games, since all you need is a sheet of paper and a writing utensil. Time is needed because the you'll constantly be in a design-test-redesign-retest cycle to hammer out kinks in both your actual design and your designing process. Math, on the other hand, is useful because it gives you both tools to work with and pointers for future design: eg. knowing that a particular mathematical relationship in your design has a certain behavior (this can be as simple as knowing that if you get an odd number from multiplying two integers, the two numbers you multiplied must be odd as well) can often save you hours, days, possibly weeks of redesigning-retesting.
If you live in an English-language, first-world country, you're at a disadvantage, as the educational systems in these countries teach math in an undesirable fashion: they teach you how equations/relationships work, not why equations/relationships work. There's a reason why so many good programmers and mathematicians come from Eastern Europe. You have to be picky with (English) online articles as well, since most of the people who write those online articles grew up with the same, faulty system as you did (or are in).