{"id":16936535,"url":"https://github.com/jonhoo/tetris-tutorial","last_synced_at":"2025-03-22T12:32:02.682Z","repository":{"id":24739073,"uuid":"28151507","full_name":"jonhoo/tetris-tutorial","owner":"jonhoo","description":"From rags to riches; building Tetris with no programming experience.","archived":false,"fork":false,"pushed_at":"2018-09-23T21:32:58.000Z","size":64,"stargazers_count":80,"open_issues_count":1,"forks_count":19,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-15T14:55:59.081Z","etag":null,"topics":["game-development","html","javascript","learn-to-code","tetris","tutorial"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonhoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-17T19:15:11.000Z","updated_at":"2024-11-25T08:20:05.000Z","dependencies_parsed_at":"2022-08-17T17:25:14.273Z","dependency_job_id":null,"html_url":"https://github.com/jonhoo/tetris-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Ftetris-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Ftetris-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Ftetris-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Ftetris-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonhoo","download_url":"https://codeload.github.com/jonhoo/tetris-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244959444,"owners_count":20538625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-development","html","javascript","learn-to-code","tetris","tutorial"],"created_at":"2024-10-13T20:57:14.090Z","updated_at":"2025-03-22T12:32:02.348Z","avatar_url":"https://github.com/jonhoo.png","language":"JavaScript","readme":"Hello.\n\n## The story\n\nMy step-brother was playing Tetris today, but was getting annoyed about all the\nads and the \"recharge time\" in the game, and vented his frustration to me.\nAfter pointing out that there are probably thousands of completely\nfrustration-free (well, apart from the gameplay) Tetris clones out there, I\njokingly told him to go write his own Tetris game instead. His immediate\nreaction was \"I could never do that\". After some interrogration, he revealed\nthat he actually thought that doing so could be quite fun, if only there was a\ngood way for him to learn how to do so without studying Computer Science for\nyears. This is my attempt to make that possible.\n\n## The game\n\nIf all you want to do is play Tetris, there is a working implementation in the\nroot of this repository which you can launch by clicking \u003ca href=\"https://rawgit.com/jonhoo/tetris-tutorial/master/index.html\" target=\"_blank\"\u003ethis link\u003c/a\u003e. It even implements the [Super Rotation\nSystem](http://tetris.wikia.com/wiki/SRS) correctly, if you care about that.\nIt's quite rudimentary (no levels, no sound, no \"next piece\", etc.), but fully\nplayable, and quite small.\n\n## The tutorial\n\nThe meat of this repository is in [doc/](doc/), which holds all the tutorial\ntext. You start with the [intro](doc/intro.md), and follow the links from\nthere. I attempt to cover everything from the very basics (what is a variable?)\nto how to build a complete, working Tetris game, so it is (/will be) quite\nlong, but hopefully it will be a good primer for those trying to get into\nprogramming, but who find \"introduction to JavaScript\" style tutorials\ncompletely uninteresting.\n\n## Progress\n\nThe tutorial is far from finished, but at least the code is there. I'll be\nwriting on this when I have time, and I have many things to do, so I make no\nguarantees about when new content will be added, nor when (if ever) the entire\ntutorial will be completed. It's fun to write though, and if people seem to be\ngetting something out of it, I'm more inclined to continue.\n\n## Feedback\n\nYes please! Open an issue using the GitHub [issue\ntracker](https://github.com/jonhoo/tetris-tutorial/issues), send a [pull\nrequest](https://github.com/jonhoo/tetris-tutorial/pulls) with improvement\nsuggestions, or just send me an [email](mailto:jon@thesquareplanet.com).\nI'm not hard to get a hold of.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonhoo%2Ftetris-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonhoo%2Ftetris-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonhoo%2Ftetris-tutorial/lists"}