1)
Paul wrote:
A: "The 'state' is kept in a 4-bit field which only allows for 16 states."
B: "the 'Parameter-B' field which is 16 bits and allows for 65536 states."
C: "The Global option keeps the state Globally in the definition of the DSA. It is a 32-bit field which allows 4294967296 states."
However, in the "display state" box, I can put, for example, 20. Which disagrees with A.
I am not allowed to put over 999 (which disagrees with B and C, but I don't think more than 1000 states are necessary), but I can however put 9999, read the warning about the limit, and create the DSA.
If i put 4294967296 (or more), the program crashes
2)
Help about DSA:
Could you use an edit box instead of a listbox for the display of the help (when pressing the Help button ) for the DSA. This way I could select and copy the text to the notepad.
Another way to make it more useful would to put 2 edit boxes, one with the syntax, the other with the operations. This way if I need to check the syntax I don't have to leave the description of the command...
3)
Could you change the word "position" for "facing"?. I think it would be clearer.
4)
What is the difference between position and position mask (besides using a letter or a digit)?
Does position mask ranges from 1 to 15?
a 0 would have any meaning then (no position)?
Do you have to precise a position for a pressure pad, for example?
5)
Copy teleporter: does it add a teleporter on the cell, replace a teleporter (basic tile type, actuator, basic tile type+actuator).
Why is it only limited to teleporters?
Wouldn't it be better to have these instructions:
Set tile type <target> <tile type>
Copy object pile <from> <to>
(I precise "object pile" because if there is a stack of objects, all would be copied"
I still have lots of questions, but I will first experiment with what I understood so far.
DSA comments, questions and suggestions
Moderator: Zyx
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DSA comments, questions and suggestions
1) The Display State. You can define more than 16 states.
You just cannot get there during runtime. Or, more exactly,
you can get there but you cannot stay there because there
is no way to put a big number into a 4-bit field to remember
it from execution to the next.
"Crashes"...bad. I will fix that!
=======================================
2) We will have to improve the help. Your suggestion
of an EditBox is certainly a way to make things a lot
better.
========================================
3) No. "Position" is used throughout. You will have to
do a mental translation to make it clear to yourself.
========================================
4) A 'mask' is generally a integer viewed as a set of
bits. Each bit corresponds to one of several options.
The 'Position Mask' has four bits....corresponding to
0, 1, 2, and 3 (or North, East, South, West). To keep
things simple we use bit 0 for position-0, bit 1 for
position-1, etc. So that you can set none of the bits,
one of the bits, etc.
Examples:
1 - bit 0 (or North)
2 - bit 1 (or East)
3 - bits 0 and 1 (North or East)
4 - bit 2 (or South)
5 - bits 0 and 2 (North or South)
...
15 bits 0, 1, 2, and 3 (North, South, East, or West)
========================================
5) Copy Teleporter.
It does not add a teleporter to a cell. IT cannot create
a teleporter where none existed. It copies the information
from one teleporter to another.
"Why limited to teleporters?"
Because that is what I needed to do what I wanted to do.
So I did it.
"Would it not be better to 'set tile type'?"
Perhaps....more room for disaster. Need a lot more checking.
The teleporter was extremely safe because it changed
none of the dungeon's structure. Changing a door into
a pit is a bit more dangerous, IMHO.
"Would it not be better to 'Copy Object Pile'?"
You can copy an object pile. The Money Changer did that.
Have you studied it? I offered the documentation for
'Money Changer' but nobody asked for it.
All of these "Would it not be better?" kinds of questions
can probably be answered in the affirmative. When I started
the DSA it had a very different form in my mind than it has
today. And I wager that its form will mutate over time.
Then the problem always becomes the backward compatability
problem. Some of what you see in the DSA is due to this
backward compatability. Some of the other ugliness is due
to changing my mind many, many times. It is growing and
developing. Things get added and then their function gets
superceeded with a more beautiful or more generic feature.
That is the what happens when you run forward, not knowing
the final goal (and there probably never will be a 'final' goal).
We have to do our best and live with some ugliness.
You just cannot get there during runtime. Or, more exactly,
you can get there but you cannot stay there because there
is no way to put a big number into a 4-bit field to remember
it from execution to the next.
"Crashes"...bad. I will fix that!
=======================================
2) We will have to improve the help. Your suggestion
of an EditBox is certainly a way to make things a lot
better.
========================================
3) No. "Position" is used throughout. You will have to
do a mental translation to make it clear to yourself.
========================================
4) A 'mask' is generally a integer viewed as a set of
bits. Each bit corresponds to one of several options.
The 'Position Mask' has four bits....corresponding to
0, 1, 2, and 3 (or North, East, South, West). To keep
things simple we use bit 0 for position-0, bit 1 for
position-1, etc. So that you can set none of the bits,
one of the bits, etc.
Examples:
1 - bit 0 (or North)
2 - bit 1 (or East)
3 - bits 0 and 1 (North or East)
4 - bit 2 (or South)
5 - bits 0 and 2 (North or South)
...
15 bits 0, 1, 2, and 3 (North, South, East, or West)
========================================
5) Copy Teleporter.
It does not add a teleporter to a cell. IT cannot create
a teleporter where none existed. It copies the information
from one teleporter to another.
"Why limited to teleporters?"
Because that is what I needed to do what I wanted to do.
So I did it.
"Would it not be better to 'set tile type'?"
Perhaps....more room for disaster. Need a lot more checking.
The teleporter was extremely safe because it changed
none of the dungeon's structure. Changing a door into
a pit is a bit more dangerous, IMHO.
"Would it not be better to 'Copy Object Pile'?"
You can copy an object pile. The Money Changer did that.
Have you studied it? I offered the documentation for
'Money Changer' but nobody asked for it.
All of these "Would it not be better?" kinds of questions
can probably be answered in the affirmative. When I started
the DSA it had a very different form in my mind than it has
today. And I wager that its form will mutate over time.
Then the problem always becomes the backward compatability
problem. Some of what you see in the DSA is due to this
backward compatability. Some of the other ugliness is due
to changing my mind many, many times. It is growing and
developing. Things get added and then their function gets
superceeded with a more beautiful or more generic feature.
That is the what happens when you run forward, not knowing
the final goal (and there probably never will be a 'final' goal).
We have to do our best and live with some ugliness.
Re: DSA comments, questions and suggestions
The Money Changer did that.
Have you studied it?
I will download it. I didn't know what it was.
Have you studied it?
I will download it. I didn't know what it was.