Hola.
Mi hermanastro estaba jugando a Tetris hoy, pero se estaba molestando por todos los anuncios y el "tiempo de recarga" en el juego, y me desahogó su frustración. Después de señalar que probablemente hay miles de clones de Tetris completamente libres de frustraciones (bueno, aparte de la jugabilidad) de Tetris, le dije en broma que fuera a escribir su propio juego de Tetris. Su reacción inmediata fue "Nunca podría hacer eso". Después de un poco de interrogación, reveló que en realidad pensaba que hacerlo podría ser bastante divertido, aunque solo fuera una buena manera de aprender a hacerlo sin estudiar ciencias de la computación durante años. Este es mi intento de hacer eso posible.
Si todo lo que desea hacer es jugar Tetris, hay una implementación de trabajo en la raíz de este repositorio que puede iniciar haciendo clic en este enlace. Incluso implementa el sistema de súper rotación correctamente, si te importa. Es bastante rudimentario (sin niveles, sin sonido, sin "siguiente pieza", etc.), pero totalmente jugable y bastante pequeño.
La carne de este repositorio está en DOC/, que contiene todo el texto del tutorial. Comienzas con la introducción y sigues los enlaces desde allí. Intento cubrir todo, desde lo básico (¿qué es una variable?) Hasta cómo construir un juego de Tetris completo y que funcione, por lo que es (/será) bastante largo, pero espero que sea una buena introducción para aquellos que intentan entrar en la programación, pero que encuentran "introducción a JavaScript" tutoriales de estilo completamente sin intereser.
El tutorial está lejos de terminar, pero al menos el código está allí. Escribiré sobre esto cuando tenga tiempo, y tengo muchas cosas que hacer, así que no garantizo cuándo se agregará contenido nuevo, ni cuándo (si alguna vez) se completará todo el tutorial. Sin embargo, es divertido escribir, y si la gente parece estar sacando algo, estoy más inclinado a continuar.
¡Sí, por favor! Abra un problema usando el rastreador de problemas de GitHub, envíe una solicitud de extracción con sugerencias de mejora o simplemente envíeme un correo electrónico. No soy difícil de conseguir.