A while back I had a japanese shareware program I downloaded that would tell you how many shanten a hand was, how many waits it had, and how many tiles were available for those waits. I believe the name was "mahjong flight simulator" but I can't seem to find it. It played a solo game of mahjong (just one player) and at the time I didn't see the wisdom of being able to check your efficiency. Can anyone recomend software that would do something similar to that? I'm trying to improve my tile efficiency and I'm finding when I sit down and really count the shanten and waits I'm getting them wrong.
The ideal software would show me 14 tiles and ask which to discard to decrease the shanten or increase the number of waits the most. It would also be nice if it showed 13 tiles and asked me to tell it the numbers. As long as I'm asking for features, some kind of timer and statistics woud be good as well to see if I was improving.
Does anyone know of software like this? If not, could you recomend some open source type project that could give me a starting point in terms of writing a program to do the counting? I tried pyriichi from sourceforge but I didn't get it to run.
mahjong flight simulator
Moderator: Shirluban
-
- Expert Reacher
- Posts: 300
- Joined: Mon Mar 29, 2010 1:16 am
- Location: Buenos Aires, Argentina
- Contact:
Re: mahjong flight simulator
Ara's "One Player Mahjong" is a great tool for analyzing EV.
Download page: http://ara.moo.jp/mjhmr/index.htm
Download page: http://ara.moo.jp/mjhmr/index.htm
Re: mahjong flight simulator
Thanks xKime, that's exactly the one I was looking for! After I saw the HMR.exe I remembered it from before. It looks like a newer version of what I had.
I tried noodling around with python and the pygame library, but all I got it to do was shuffle and show the tiles and basic layout. Figuring out how to slice up each suit into parts and then determine the waits and shanten was too much for me. How do you know it a set of three identical tiles and not a pair and another tile being used in a three in a row series? It started to look like I needed to make a dictionary of possible patterns and then match to those and their reflections. Each pattern would be separated from any others by 2 empty spaces. It seemed like the patterns could be really large and complex. 2, 3, or 4 tiles would be reasonable, but when you get up there in the tile count I can't wrap my head around it. I'm sure way before nine gates it gets really complex. I guess that's why I need to practice my efficiency.
Thanks again.
I tried noodling around with python and the pygame library, but all I got it to do was shuffle and show the tiles and basic layout. Figuring out how to slice up each suit into parts and then determine the waits and shanten was too much for me. How do you know it a set of three identical tiles and not a pair and another tile being used in a three in a row series? It started to look like I needed to make a dictionary of possible patterns and then match to those and their reflections. Each pattern would be separated from any others by 2 empty spaces. It seemed like the patterns could be really large and complex. 2, 3, or 4 tiles would be reasonable, but when you get up there in the tile count I can't wrap my head around it. I'm sure way before nine gates it gets really complex. I guess that's why I need to practice my efficiency.
Thanks again.

-
- Expert Reacher
- Posts: 300
- Joined: Mon Mar 29, 2010 1:16 am
- Location: Buenos Aires, Argentina
- Contact:
Re: mahjong flight simulator
Also, I suggest you play a few matches with "Mattari Mahjong."
http://homepage2.nifty.com/kmo2/
The CPU allegedly plays on a tenhou R2000 level. And I feel like it does.
http://homepage2.nifty.com/kmo2/
The CPU allegedly plays on a tenhou R2000 level. And I feel like it does.
Re: mahjong flight simulator
awsome, thanks! I see he has a blog as well. Looking at the program, I see that he has a file containing 2 columns, the first with 9 digits (fron 0 to 4) and the second with a variable amount. I would assume that's for looking at pinzu, manzu, and souzu runs to determine the waits. It's what I was thinking with the patterns, only he ran the calculations once and saved them in a lookup table showing the waits for a particular pattern.
I'll let you know how it plays, although I'm not good enough to judge.
I'll let you know how it plays, although I'm not good enough to judge.