11 ms·
Tetris in ClojureScript
- dgb23 5y agoGreat work! I love the idea of making code and data alive, interactive and illustrative. Reminds me a bit of Bret Victor's talks, essays and prototypes illustrating how interactive, graphical thinking can enhance understanding and even creation. Imagine our editors doing this by default, what it would mean for documentation, code quality and enhancing our ability to understand and communicate these concepts with augmented code.
- lgrapenthin 5y agoCheck out some of the videos on Youtube of the Genera Symbolics Lisp Machine platform.
- enlyth 5y agoThat is really cool and well done, thanks for sharing. One question I have though, is the square piece supposed to rotate like that, i.e. shift up and down while rotating? I think this might be a bug.
- nlitened 5y agoI agree, the rotation function could see some ergonomics improvements with minimal code changes.
- AQXt 5y agoThat's one of the coolest programming demos I've ever seen! Suggestion: make the completed rows fade asynchronously.
- beders 5y agoIt does. <! reads from a channel that closes in the specified timeout. It is non-blocking. (similar to the away/async JS magic - rewrites the go block to a state machine)
- klaudioz 5y agoWhich tool was used to create the presentation ?
- AtroxDev 5y agolooks like it is custom built: https://github.com/shaunlebron/t3tr0s-slides https://github.com/shaunlebron/t3tr0s-slides
- KurtMueller 5y agoShaun also released the really neat Parinfer package as well: https://shaunlebron.github.io/parinfer/ https://shaunlebron.github.io/parinfer/
- rejectedandsad 5y agoI was surprised to see the repository was Archived. Is it not being maintained now?
- chrisoakman 5y agoI maintain an updated fork: https://github.com/oakmac/parinfer https://github.com/oakmac/parinfer
- tartoran 5y agoShaun Lebron has a bunch of interesting stuff on his github[0] involving closurescript. I haven't toyed with closurescript yet, if anyone has any experience with it, what are its strengths and weaknesses? I' ve been learning scheme/racket for the past year and for learning purposes Dr Racket is more than enough for now, but sometime in the future I'd like to branch out of that. [0]: https://shaunlebron.github.io/ https://shaunlebron.github.io/
- souenzzo 5y ago- Low changes/grow. This demo was written in 2014 and it probably still look like as if it had been written in 2020. - Easy interop with any npm library. Just import and use it.
- shivekkhurana 5y agoI wrote about my journey covering Clojure's pros and cons: https://medium.com/swlh/what-i-learned-after-writing-clojure-for-424-days-straight-8884ec471f8e https://medium.com/swlh/what-i-learned-after-writing-clojure...
- CraigJPerry 5y agoYour talk linked from https://shivekkhurana.medium.com/reaching-flow-state-with-clojures-repl-231f0f28d972 https://shivekkhurana.medium.com/reaching-flow-state-with-cl... was absolutely brilliant.
- jjwiseman 5y ago"It has a slow startup time. Clojure runs on the JVM and has a significantly slower startup time compared to Node. Again, this is only a problem from an outsider’s perspective. We have REPL. You start the app only once, and it keeps running in the background. You can interactively include new changes, without having to startup every time." I've been using Clojure for about 8 years and this is one of the talking points I find most annoying. The slow startup time is a disadvantage, and it should be owned. It disqualifies clojure from a large class of applications and if you're not honest about it you lose credibility, and you retard potential attempts to solve it. It doesn't mean you can't write software with Clojure, but be honest about the fact that it makes lots of types of usage (not all) a poor match.
- elwell 5y agoThat's really cool; thanks for sharing the code in an understandable way. Here's a little 'game' I'm working on with some simple physics in ClojureScript: https://github.com/celwell/wordsmith https://github.com/celwell/wordsmith
- cardanome 5y agoThis was the final push I needed to learn Clojurescript. Absolute awesome work. I always kept my distance from Clojure because of the reliance on the Java ecosystem but having a productive and stable language that is a pleasure to work in and that transpiles to JavaScript seems like a good deal. Plus a solid REPL-based workflow and rapid prototyping support, something I sometimes miss from more static languages.
- hatch_q 5y agoLooks nice in demo... github shows also the ugly bits.
- knubie 5y agoIf you are getting into clojurescript, take a look at shadow-cljs for the build tool. It provides a better experience than the built-in tooling IMO.
- pgt 5y agohttp://clojurescriptkoans.com/ http://clojurescriptkoans.com/ is a great way to get started with the essence of the language.
- jgrant27 5y agoI wrote Pong in Clojure back in 2009 in <200 lines. https://imagine27.com/pong_in_clojure https://imagine27.com/pong_in_clojure
- calamityjam 5y agoAn (partial) implementation of Tetris Attack (Panel de Pon) in Clojurescript
- junyoon 5y agoawesome dev demo! no wall kick though :P
- maiya9 5y agoCool, thanks for sharing.
- ph2082 5y agoNow I am tempted to share 2D breakout game I built using ClojureScript. On Slide 3, if you drag piece(cursor) to leftmost or right most side, part of piece is getting chopped. Great work by the way.
- divs1210 5y agoGreat demo! Here's a simple Snake implementation I wrote in CLJS + quil a long time ago: http://divs1210.github.io/snake-machine/ http://divs1210.github.io/snake-machine/