Poker-UK.net
Written entirely in PHP. The original simulator runs only as a web page served up by the Apache web server running on Linux. Should be cross platform,
but hasn't been tested in that respect yet. It will soon be executable from the command line, which I estimate will speed it up by about 50%.
The game version (v0.4, currently in development) runs from the command line of course as a server, and clients connect to it via telnet.
As already mentioned, the design is very OO, in the interests of extendibility and maintainability. Makes it a bugger to debug sometimes, but that's OO for you! More details will be given here when I've 'got back into it'. I haven't touched the software for 6 months.
As it's written in PHP, which isn't really the right tool for the job, it is currently very slow. Add to that the fact that the code's design is heavily object-oriented, it is even slower. Currently can deal a million shoes to seven players in about a day and a half, on a fairly slow machine (1MHz Athlon). When it reaches version 1, it will be ported to C or C++, which will speed it up by factors of ten or, I suspect, hundreds.
So far, a couple of third party pieces of software have been utilised:
The cards are shuffled using the f_y_Shuffle() function, based on the Fisher-Yates shuffle algorithm. I took the code from a website which is no longer there, but I have contacted the owner and will give him a link when he gets back to me. This function is better than the PHP's shuffle function, being much quicker.
patServer, by Stephan Schmidt, is a generic server class which I used as the base class for the server in the game version of the software. I had to modify it quite a bit for this application. Again, I'll provide more details when I 'get back into it'.