it was fairly straight forward. It was a group project between me and 2 of my fellow AP comp. sci. classmates. It was not very long (only 10 levels, though room to expand. The rooms were only like 20x20, though in theory we could mod it to be bigger. We also expected to add additional levels, but we went off to college before we did anything of the sort)
Did you use the "marine biology case study" as yart of your computer science class? (if not, ask for it. I vaguely recall hearing they changed the standard program used for AP CS tests, but I'm sure your teacher likely has it around somewhere )
The marine biology case study has a basic grid system composed of many "locations". somehow we got access to the source code of the 'black box' parts of that program, from which we based our own grid system. it was an array of arrays, so an example would be " Grid[x][y].getLocation(); "
I personally created the combat engine (perhaps the most buggy part of the game I'm afraid to say , but functional for the most part. We would just extend the "base monster class" to additional functions for AI script changes ) and the game sprites (animated gifs). Another worked on the functional part of the UI, which I recall we used mostly "swing template" stuff. The 3rd guy was the one that handled the room contsruction and actually made the doors and level layouts.
We promised, when we got our teacher to agree to let us do that over whatever he had planned, that we would document the code and allow others to expand upon our project if they desired. So if you want to see some of the source code, feel free to let me know. I'd love to help somebody make a better dungeon crawler than what I did. I also got a 5 of 5 on the AP comp sci test, so I can help in general studies as well I'd imagine. Feel free to PM me.
Pic (I drew the chests, "orc" and hero "knight" guy... as well most of the items down in the invantory. You moved him by the arrow keys, and the objective of each room was to reach the door. It was turn based, if you couldn't tell. The "game status" informed you of what the last few actions and events were.
Most of the output on it was originally hardcoded into the monsters and items, thus a nightmare to edit should something not be displaying the way it should. We changed it to a more dynamic system from the main controls calling functions like "getName()" and "getLastDamage()" run from the turn function itself with a recursion loop, but it took forever for us to find all the output lines burried in our stuff.)