The other thing is that this implementation doesn't seem to support overlapping tiles, which is kind of important. For instance, the topmost tile should overlap and block all four tiles under it.
No.
According to wikipedia[1]: "A tile is said to be open or exposed if it can be moved either left or right without disturbing other tiles.". Also look at the photo in the wikipedia article[2]. This implementation looks correct to me.
[1]: https://en.wikipedia.org/wiki/Mahjong_solitaire
[2]: https://en.wikipedia.org/wiki/Mahjong_solitaire#/media/File:...
slowly lowers right hand in awkward silence
Impressive work!
Discussion: https://news.ycombinator.com/item?id=44100148
Which makes me wonder which ruleset would be the easiest to implement. Probably MCR or HK, riichi has too many edge cases and sepcial rules and yakus.
[1] https://kemono.games/game/Kemono-Mahjong hunky furries aside, it's a really good single player Riichi app lol
Well the other options are the gooner gacha games like Mahjong Soul and Riichi City lol
Personally I play on Mahjong Soul because apart from Tenhou that has the most populated PvP with enough players in each rank + it's a butter smooth experience with all the small features. And I love the special modes like Battle of Asura
If we talk about riichi then the best tutorial is probably in Kemono Mahjong https://cyberdog.ca/kemono-mahjong/
Personally I'd say Mahjong Soul is the best riichi client out there, that's where I play https://mahjongsoul.yo-star.com/ Extremely streamlined, good QoL features like tile highlighting (dora too), showing waits and options when you are tenpai, custom lobbies (so you can play with friends), and a pretty robust online ranked system. There is a good tutorial too. The big downside is the gacha system which is purely cosmetic and doesn't affect gameplay at all but it can be a turn off for some people.