In an earlier post I described the Spider Solitaire server written by someone else, namely “leapfroglets”. According to the website this is apparently a playground for junior leapfroggers to hone their programming skills. However, it is beyond the scope of this blog post to discuss this startup company in detail.
As you may have guessed, I have no interest whatsoever in creating YASS program that contributes less than two thirds of nada to what other programmers have already done, given the other programmers possess many skills that I lack. But I’m perfectly happy to stick my sans-rot13(haqb) AI in the wild when I am blissfully unaware of anyone else doing the same.
I did not include any screenshots of the game, which is probably a bit remiss of me. Here is a small sample:


Finally, here is the victory screen. I am assuming the programmer can’t beat the Four-Suit level half the time, otherwise the screen-shot would have looked slightly different 😉

Features
Transparency
Since this is GitHub, I am able to examine the source code (examining source code is “free” even for those without an account – you only need an account for downloading files and editing them). Here is the code snippet for shuffling cards. Assuming the reader has basic understanding of math and programming languages, it should be reasonably straightforward to work out what’s going on. Admittedly it’s not the most sophisticated shuffling algorithm but at least it’s transparent. If Joe Bloggs accused Leapfroglets of rigging the number generator than it is the software developer who is justified in complaining about his or her bad luck.

No rot13(haqb), rot13(erfgneg)
There is no rot13(haqb) button. The rot13(erfgneg) button means you deal an entirely new hand, which may be worse than T-2-2-0-8-T-5-4-9-2. We all know this is a Good Thing, as it forces the player to learn good habits. Of course, I’m not exactly sure why the player needs over six minutes to find a decent opening play at the one-suit level 😊

That Other Feature
As alluded in a previous post, I made a minor bug fix and made a pull request. This bug was that the move counter was not updated whenever one or more cards was moved to an empty column. I’ve submitted a pull request and am yet to hear back. Ditto for the proposed lyrics for the victory music. Admittedly this was a trivial nit-pick but at least it gave me the opportunity to practice the ritual of downloading code, editing and submitting a pull request. Unfortunately, judging from the activity profile for 2021, I’m not expecting to hear back soon ☹

All things considered, this is actually a pretty decent piece of software and if the company wants young programmers to hone their skills, then they have succeeded in their objective. Well done to Leapfroglets!