Sheep Crossing — 14 of 18

Andrew Geng

Release 1

Section - Eating

Feeding relates various things to various things.

The verb to feed on (it feeds on) implies the feeding relation.

The verb to be edible by implies the reversed feeding relation.

The verb to be edible to implies the reversed feeding relation.

Check an actor giving something (called the food) to someone (called the recipient) (this is the edibility rule):

unless the food is edible to the recipient, say "The [recipient] does not seem interested." instead.

Before giving something (called the food) to someone (called the recipient):

if the player is not carrying the food:

carry out the implicitly taking activity with the food;

if the player is not carrying the food, stop the action;

if the food is edible to the recipient and the food is an animal:

say "Are you sure? [if the food is the cabbage]There are probably other things you could feed it that your Grandmother wouldn't miss quite as much...[otherwise]Grandmother wanted you to bring her [the food].[end if] (y/n) > [no line break]";

unless player consents:

say "The [recipient] [if the recipient is the sheep and the sheep is not full]continues bleating hungrily[otherwise]looks disappointedly at you[end if]." instead.

The block giving rule is not listed in the check giving it to rules.

The edibility rule is listed in the check giving it to rules.

After giving something (called the food) to someone (called the recipient):

if the food is edible to the recipient:

try the recipient eating the food.

Before an animal (called the eater) eating something (called the food):

if the food is the player:

say "After a brief struggle, the [eater] eats you instead.";

end the story saying "You have been eaten. :(";

stop the action;

if the food is edible to the eater:

silently try the eater taking the food.

Carry out an animal (called the eater) eating something (called the food):

repeat with the item running through things carried by the food:

move the item to the location of the eater;

if the food is an animal:

now the food is dead;

remove the food from play;

now the eater is full.

After an animal (called the eater) eating something (called the food):

if the location of the eater is the location of the player:

say "*crunch* *crunch* *crunch*[paragraph break]";

if the eater is the sheep:

say "The sheep bleats contentedly. Maybe it'll be more cooperative now.";

otherwise:

say "You hear a [if the food is the sheep]panicked bleat in the distance, cut short by a[otherwise]distant[end if] crunching sound.".

Before eating something (called the food) when the player is not carrying the food:

[more specific rule is sorted before less specific rule (the usual first-try-taking), so that the confirmation dialog doesn't come until the player is holding the food]

if the player is in the boat:

say "(first getting out of the boat)[command clarification break]";

silently try exiting;

if the player is carrying an animal (called the passenger) and the passenger is not the food:

say "(first dropping [the passenger])[command clarification break]";

silently try dropping the passenger;

otherwise:

carry out the implicitly taking activity with the food;

if the player is not carrying the food, stop the action.

Before eating an edible animal (called the food):

say "Are you sure you want to eat the [food]? You were supposed to deliver it to Grandmother's house... (y/n) > [no line break]";

unless the player consents:

say "The [food] seems relieved." instead;

otherwise if the player is edible to the food:

try the food eating the player instead.

Carry out eating something (called the food):

repeat with the item running through things carried by the food:

move the item to the location;

if the food is an animal:

now the food is dead;

remove the food from play.

After eating something (called the food):

now the player is guilty;

now the player is not postbarf;

say "*crunch* *crunch* *crunch*[paragraph break]It tastes like guilt.[paragraph break]"

The standard eating rule is not listed in the carry out eating rules.

Rule for unsupervising:

repeat with danger running through rooms:

if danger is not the location of the player:

let L be the list of animals in danger;

if the boat is in danger:

add the list of animals in the boat to L;

sort L in eating priority order;

repeat with the eater running through L:

repeat with the food running through L:

if food is edible to the eater:

try the eater eating food;

After going:

carry out the unsupervising activity;

continue the action.

The block showing rule is not listed in the check showing it to rules.

The block showing inedibles rule is listed in the check showing it to rules.

Check showing something (called the food) to someone (called the recipient) (this is the block showing inedibles rule):

if the food is not edible to the recipient:

say "The [recipient] is unimpressed.";

stop the action.

Report showing something (called the food) to someone (called the recipient):

if the food is edible to the recipient:

say "The [recipient] stares at the [food]."

Luring is an action applying to one thing. Understand "lure [thing]" or "coax [thing]" or "guide [thing]" as luring.

Instead of luring something (called the target):

now the worms are exposited;

say "You need bait! Try 'show worms to [the target]' or similar."

Instead of tasting something (called the food), try eating the food.

Instead of tasting the water, try drinking the water.

Understand "bite [thing]" as eating.

The cabbage is edible to the sheep.

The blades of grass are edible to the sheep.

The player is edible to the bear.

The sheep is edible to the bear.