« Control logic waltz - IF then ELSE then ENDIF | Main | MPROG Tutorial »
July 22, 2005
Prog debuggery
It's been a hectic few days. In testing the new code for item and room progs, I find I need to completely disect the interpretter again and learn how to write mprogs. The tutorials in mprogs, (listed in reverse order, which is somewhat unfortunate), were as much me needing to discover how they worked to test the code. In doing so, Oaklore's (and Coyote's) mprog guide was indespensible, and was enthusiatically pillaged to create these tutorials. I wanted to be sure all the examples were correct, and in some cases (using wearing instead of wears) led to the discovery of new and unusual bugs that would lock up the interpretter. And here I was thinking all those were fixed.
There are also some additional features of the interpretter of which I was not aware. While they're not essential, they may prove handy. These will comprise the next tutorial, though all the bugs in the current sample code will be eliminated first (while you can write mprog code in a blog, it's hard to test it there).
Other oddities: "IF class" was not coded at all. "IF has" and "IF uses" were very buggy, sometimes working, sometimes firing if the character had an item of any type. Determining the monetary worth of a character was bugged beyond recognition.
The testing phase of all of this is proving vast in scope, as many progs need to be specifically written for objects and rooms in order to test the functionality. The current count of mprogs I've written in the last two days is well into the mid hundreds, fully a third of these as examples in the IF-THEN-ELSE tutorial. Due to the inherent number of permutations, I am sure I will miss something. However, tests thus far have been encouraging.
Back to the code pool for me.
Kali, you were absolutely right. This is a big, big project. I suspect weather and corrosion might even prove simpler, but I'll surely need the month you thought this would occupy.
Scrawled illegibly by Meathe at July 22, 2005 09:37 AM
Comments