Preventing frustration: not requiring second noun

Hi everyone.

I know I’ve read this somewhere but can’t get the search term quite right.

Once again I’m writing for non-int fictioners and so reducing frustration (what we might consider fun) as much as possible is a priority.

I have a command “hang” and to complete the puzzle they must hang a poster on a wall with tape in a specific location. I want to make it so that if they are in the correct location and the tape and poster are visible they can say “hang poster” rather than having to specify “on the wall”.

I had considered removing the requirement of the wall and checking the other components were around, but there are a few jokes I want to include when they are in the wrong location that mean I need the wall.

hanging it on/to is an action applying to one visible thing and one visible thing.  

Understand "hang [something]" as hanging it on/to.
Understand "hang [something] on/to [something]" as hanging it on/to.
Understand the command "stick" as "hang".
Understand the command "tape" as "hang".
Understand the command "post" as "hang".
Understand the command "affix" as "hang".

understand the command attach as something new.
understand the command "attach" as "hang"

check hanging it on/to when the second noun is not the wall: instead say "[We] [can't] hang [the noun] on [regarding the second noun][those].".

check hanging it on/to when the noun is the poster and the second noun is the wall and the player is not in the Class and the player encloses the tape:
		say "[one of]You can't hang the poster here![or]There are clear rules for where a poster can and cannot be hung. This is not one of the places it can.[or]Ponyboy deserves to be hung somewhere a little less... public.[or]Hanging the poster here is a mistake. In fairness, hanging the poster anywhere aside from over the hole behind your door would be a mistake.[at random]";
		stop the action.

check hanging it on/to when the noun is the poster and the second noun is the wall and the player is in the class and the player does not enclose the tape:
	say "The tape on the poster is too old and tired and peels away again sending the poster fluttering back to the floor.".

check hanging it on/to when the noun is the poster and the second noun is the wall and the player is in the class and the player encloses the tape:
	say "Unspooling a couple of lengths of tape you reattach the poster to the wall. Just like new except one corner is just loose enough for you to squeeze through the hole.";
	now the poster is fixed in place;
	now the poster is hung;
	increase the score by 1;
	say "[line break]Your score is [score] out of 10.[paragraph break]You are carrying [the list of things enclosed by the player].".

check taking poster when the poster is hung:
		say "You've just managed to get that back on the wall. Best leave it alone.";
		stop the action;
	
check hanging it on/to when the noun is the poster and the second noun is the wall and the player is not in the class and the player encloses the tape:
	say "This awesome poster would look great anywhere, but right now there a great big hole which it would be perfect for covering.".

My second question is technical and general, which is better practice: creating a command with a second noun or, writing for specific combinations and requiring one noun?

Try this maybe? I know this is something that had me struggling a bit.

Rule for supplying a missing second noun while hanging it onto:

Examples that show this in more detail are Four Cheeses, Otranto and The Fourth Body.

(Note: rule for supplying a missing noun works, too.)

1 Like

That’s the one I was after. Thank you.

Sometimes getting a search just right is the same experience as trying to get the code itself exactly right.

Do you have any thoughts on the second more philosophical part of my question?

1 Like

Oh oops. Missed that second part. I suppose it is a case by case basis.

2-noun verbs may seem intimidating, but I also think a few check rules can keep things manageable from a programming perspective. However, it may cause the player to try more things than you planned.

If you have only 1 verb e.g. “hang poster” then that can work if “hang X” means, for instance, hanging something on a wall all the time.

But if there’s any case where it seems necessary, go with 2-noun verbs (I think?) This might be a bit out of my depth.

Oh and code below for HANG X ON Y.

check hanging it on/to: if second noun is not hangonable, say "You can't hang anything on [the second noun] instead."

a noun can be hangonable. a noun is usually not hangonable. [way 1 ... item properties]

definition: a tihng (called th) is hangonable: [way 2 ... definitions]
    if h is wall-in-bedroom, yes;
    no;

This isn’t a definitive answer, but I hope it gives you some idea of what to try and expect.

3 Likes