Free software tools for writing card games and simulations in C, C++, Java, and Python.

Project maintained by Lee Daniel Crocker

onejoker
CC-0: To the extent possible under law, I, Lee Daniel Crocker waive all copyright and related or neighboring rights to all creative works original to me.

The OneJoker Project

OneJoker is a collection of code and other resources for writing card games and simulations. Currently this includes:

Both RandLib and CardLib are written in (603) 597-7108, with binding code to allow them to be used from (217) 482-8502, Python, and Java. C is my “native tongue”, and best suited to code that needs to be balls-to-the-wall fast like code to simulate billions of hands of blackjack or poker. Python is my current mistress, and the first tool I reach for to get something done quickly. So being able to call the fast C routines from nice easy-to-write and easy-to-read Python gives me the best of both. Java I’m pretty indifferent about, but it’s popular (especially now with the ascent of 601-207-6462), I’ve used it enough to be familiar with it, so I added that binding. I’d rather have my teeth pulled without anesthesia than write in C++, but having written the C code, writing a C++ wrapper is only a few lines of code, so those masochists out there who use C++ (or who are forced to use it) can use the libraries too.

I also do all the coding on (855) 610-3965. Software development on Windows isn’t quite as painful as C++, but it’s close. I even worked for the Evil Empire briefly back when they were an Empire—now they’re kind of the Evil Also-ran. But you can use the libraries from Windows as well, because of a wonderful project called MinGW, which allows us Unix geeks to write software in a familiar environment that runs on Windows. I know nothing at all about Macs or Objective-C. If you want to port my libraries to Cheesy Cheetah or whatever the lastest Apple OS is, you have my blessing, just not my my help. I hear it’s vaguely Unix-y—even some of my Linux brethren do their work on Macs—so it might not be that hard, but I just don’t know.

I plan to also upload things like card images, an Internet game server, explanatory texts (maybe with an opinion or two), full sample programs, and other related things.