Quote:i do actually want to program it while learning what does what and why, i am not sure what this is called but i chose the word tutorial which i guess was wrong.But, that's not programming. Programming, with all the tools and modern knowledge stripped away, is problem solving. Here's what problem solving roughly is:
1. Take a problem.
2a. If problem seems "trivial" to solve, attempt to solve.
2b. If problem was not trivial to solve, break it down into subproblems.
2b i. Repeat step 1 on each subproblem.
2b ii. Solve problem trivially given that subproblems are solved.
The real challenge falls into breaking down into subproblems. Can you do this in a useful manner (i.e. subproblems are ? Can you do it quickly? You can't learn to break down problems by reading solutions. There's countless people who tell you about how they can read code. But give them an exceedingly small problem to program from scratch, and they fail miserably.
You say you want to program. That means you need to engage in taking some problem and solving it. Not looking at a proprosed solution, and then understanding it. Being a good reader does not make you a good writer.
I am not proposing you start from absolute zero and make real applications from there. There are books and learning resources that will teach you the fundamentals of a language. In doing so, they will present you with simple programs and walk you through how it works.
However, these programs are incredibly trivial compared to Tetris clones. They are isolated examples intended to illustrate concepts. You need to engage in lengthy problem solving to take something as complicated as Tetris, and decompose it into subproblems that you can tackle with the concepts you know.
That's all I'm saying. Instead of looking for guides on Tetris, focus on first just acquiring fundamental knowledge. Then challenge yourself to solve increasingly complex programs. And it will be quite a while before you feel that you can comfortably tackle making a Tetris clone.
You do want to make something more complicated than Tetris in 10 years, right? You have 10 years to practice. If I want to be a good writer in 10 years, I start practicing writing from day 1. If I want to be a good artist in 10 years, I start practicing from day 1. Want to program complex games in 10 years? Start with simple stuff from day 1. Not reading code. Actually writing.