Giter Site home page Giter Site logo

tetris-tutorial's Introduction

Hello.

The story

My step-brother was playing Tetris today, but was getting annoyed about all the ads and the "recharge time" in the game, and vented his frustration to me. After pointing out that there are probably thousands of completely frustration-free (well, apart from the gameplay) Tetris clones out there, I jokingly told him to go write his own Tetris game instead. His immediate reaction was "I could never do that". After some interrogration, he revealed that he actually thought that doing so could be quite fun, if only there was a good way for him to learn how to do so without studying Computer Science for years. This is my attempt to make that possible.

The game

If all you want to do is play Tetris, there is a working implementation in the root of this repository which you can launch by clicking this link. It even implements the Super Rotation System correctly, if you care about that. It's quite rudimentary (no levels, no sound, no "next piece", etc.), but fully playable, and quite small.

The tutorial

The meat of this repository is in doc/, which holds all the tutorial text. You start with the intro, and follow the links from there. I attempt to cover everything from the very basics (what is a variable?) to how to build a complete, working Tetris game, so it is (/will be) quite long, but hopefully it will be a good primer for those trying to get into programming, but who find "introduction to JavaScript" style tutorials completely uninteresting.

Progress

The tutorial is far from finished, but at least the code is there. I'll be writing on this when I have time, and I have many things to do, so I make no guarantees about when new content will be added, nor when (if ever) the entire tutorial will be completed. It's fun to write though, and if people seem to be getting something out of it, I'm more inclined to continue.

Feedback

Yes please! Open an issue using the GitHub issue tracker, send a pull request with improvement suggestions, or just send me an email. I'm not hard to get a hold of.

tetris-tutorial's People

Contributors

jonhoo avatar jpillora avatar generalmeow avatar

Watchers

Sung Pae avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.