Warning: To preserve history, I've left the code of these in their cringey, ugly, messy states. I by no means write "clean" software now but it has certainly improved since then.
Card Guesser is a simple game where you lose and gain points based on luck. I couldn't make a very efficient system for detecting where the user clicks the mouse on the canvas, so there were lot of if-else statements, which explains the hefty amount of code.
This game was made for a school project about probability. From what I remember, it's optimal to win twice (tokens gained = 11) and then cash out, but you would still have a loss on average. Don't gamble with real money.
I was very interested in Artificial Intelligence for a while (until I realized that you should know calculus to properly grasp backpropagation). Particularly, I derived immense satification from watching something get better and better at a task. I tried doing a little bit of research and then I made this garbage.
The gray square tries to get to the yellow square without actually knowing where it is. Natural selection kills off squares that don't get close and random mutations will eventually lead it to the goal.
Unlike an actually useful AI, each subject doesn't attempt to emulate a brain. It's been too long for me to remember exactly how I implemented it and the code is too yucky to comb through, but I'm pretty sure each subject was just an (x, y) offset pair. So, each fitness test would have it run its offset from the initial position and then use the Pythagorean theorem to check the distance.
Warning: I hated making forms so there are quite a few alert() popups at the start.