Comments (2)
It's not ignoring it. The algorithm is: for an object with N arrows, it searches backwards through the list of defined objects for an object with a (true) depth of N-1. That becomes the parent.
So, for example, you could do this:
Object Kitchen;
Object bag selfobj;
Object -> -> hammer;
The hammer winds up inside the bag, because the bag's depth is 1.
I agree that this rule gets weird when the ->
notation intersects the older Object foo parent
notation. There are weird cases even if you stick to arrows. E.g.:
Object Kitchen;
Object -> bag;
Object Bathroom;
Object -> -> hammer;
The hammer still winds up inside the bag -- not intuitive.
However, I'm not sure any alternative algorithm is free of weird corner cases. And, as you say, old code may rely on the current behavior.
from inform6.
Ah, that makes sense then, in a weird way.
from inform6.
Related Issues (20)
- container/surface bug, look code gets called twice? HOT 1
- Conditional compilation fails inside property value array HOT 5
- random in Glulx doesn't match DM4 HOT 3
- Clean up MAX_ABBREV_LENGTH
- Add //~n flag for dict words HOT 2
- Function zchar_weight assigns wrong weight to a space HOT 1
- Feature: singular flag for dict words HOT 2
- Dict flags fail when DICT_WORD_SIZE=31 and DICT_CHAR_SIZE=4
- Feature: Overflow flag for dict words HOT 2
- Add `$GRAMMAR_VERSION` compiler setting HOT 1
- Add `$OMIT_PAGE_PADDING` compiler setting HOT 1
- Add `$IGNORE_INLINE_COMPILER_SETTINGS` compiler setting HOT 2
- Impossible to use custom alphabet for 4 first objects HOT 2
- Grammar version 3 HOT 2
- Meta flag for grammar/action lines HOT 5
- Command-line options should override !% headers HOT 2
- Verb declarations can clash if the verbs encode to the same dict word HOT 6
- Accept two Verb declarations for the same verb, with a warning
- Debug output for system constants is out of date
- -a prints unprintable chars when abbreviations are applied HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inform6.