The refactoring did wind up saving me a good amount of time in short order, however. After making two classes, in particular Door and Doors(really just a collection of Door objects), I was able to come up with a common abstraction for all other game entities, and socked that away in BaseEntity. Similarly, I have BaseEntityCollection. Once the roles of these two classes were hashed out, I was able to put together most of the rest of the entities (Locks, Traps, Items, Monsters, Rooms) in short order. I still have some work left on Room(actually, a sub-entity called Direction), I've got Character, Introduction and Epilogue (none of which will take very long), and then I've got entity completeness, so I just have to put in save/load routines, generate some content, and I can work on the Play mode.
Then there are some other refinements to do. For the moment, a Lock contains an Item number, but does not have access to the Items collection, so cannot display the names. This will change.
I feel I have really captured the simplicity of the game I wrote years and years ago. The combat system is very "heroquest". You have only Attack, Defend, and Health. Each attack point has a 50 percent chance of being effective. Each defend point has 33 percent chance, subtract defend from attack, and that's how many health to lose. You just can't get simpler than that.
Items have been divided into four categories: None, Attack, Defend, Health. This determines the role the item plays. I'm allowing for one weapon, one armor "equippped" at a time. Maybe later introduce the idea of equipment slots. Health items are naturally things like potions or scrolls of healing. The None category is for keys, basically, as there is no money system, and hence no stores. I'm trying to keep it simple.
It is all console based ATM. I'll be departing from that only slightly before I've got the first version. Mainly, I'll be using the standard load/save dialogs because I just don't feel like doing my own file manager code.
I don't know when I'll next get a chance to work on it, but I'm pleased with the progress I've made.