Programming Samples

A sample of programs I've written to show that I do more than just websites.

Sliding Tiles

A JavaScript version of the sliding tile puzzle.

Sliding Tiles (Java)

A Java version of Sliding Tiles puzzle. This is more advanced than the JavaScript version above. It features a puzzle solver (using the A* algorithm) and you can change the picture on the tiles.

Unzip the file and call java -jar tiles.jar from the command-line to run.

Neptune's Caverns

Text adventure game with a click-only interface. No typing in of commands; just click on the links to perform actions. It's an interesting proof-of-concept. I wanted to see if a text adventure game could work using a simple click-only interface and I think it does. Future games using such an interface would require JavaScript to speed up response times.

Shapes Rollover (JavaScript demo)

Uses JavaScript to determine if a point is inside a geometric shape (such as a polygon or circle) to create a more accurate rollover effect.

Tetris (Java)

A version of Tetris I wrote in Java. To run, call java -jar tetris.jar from the command-line.

LEFT and RIGHT arrow keys to move. 'M' and 'N' to rotate. DOWN arrow to soft drop

UP arrow to cheat by defying gravity

Platformer Demo (Windows, C++, DirectX)

Unzip the contents to a directory. Run funky.exe.

Use arrow keys to run and jump. Down arrow to jump down from some platforms. 'T' to talk to other characters.

I apologise in advance for the terrible music. To turn off the music, delete the disco.mid file. ;)

Uses SpriteLib graphics.

Kanji Chart (work-in-progress)

I've created a database to shows how kanji (Chinese characters) can be broken into their component parts.

The character for bright 明 contains the characters for sun 日 and moon 月. And so an effective way to learn kanji is to break it up into its component parts and tie them all together with a mnemonic. This is the basis of some popular methods for learning kanji.

This Kanji Components Chart is my personal project to create dictionary of kanji and their sub-components. Use it to construct your own mnemonics. Copy and paste this information for your flashcards. Or just browse for fun.