Counterfeit Monkey — 81 of 292

Emily Short

Release 6

Section 2 - Times of Day

Daytime is a kind of value. The daytimes are noon, early afternoon, mid afternoon, late afternoon, sunset, and evening.

The current daytime is a daytime that varies. The current daytime is noon.

To say sky-description:

if the current daytime is:

-- noon:

say "The sun is so bright that it's hard to look straight up for long.[no line break]";

-- early afternoon:

say "The sun is no longer directly overhead, perhaps, but it's close.[no line break]";

-- mid afternoon:

say "It is still extremely bright overhead, though we're reaching the middle of the afternoon.[no line break]";

-- late afternoon:

say "The glare is decreasing as the sun falls toward the horizon, and the sky overhead is a darker shade of blue.[no line break]";

-- sunset:

say "There are no clouds to complicate the sunset, just a pure gradient of yellow to deepening blue.[no line break]";

-- evening:

say "The sky has cooled to a darkening blue, though [you] can't see any stars yet.[no line break]"

To say sun-description:

if the current daytime is:

-- sunset:

say "It has dulled to a mere ruddy ball.[no line break]";

-- otherwise:

say "It's horribly bright and glaring just at the moment.[no line break]"

To say time-elsewhere:

let hours be 12;

if the current daytime is:

-- noon:

let hours be 12;

-- early afternoon:

let hours be 13;

-- mid afternoon:

let hours be 14;

-- late afternoon:

let hours be 16;

-- sunset:

let hours be 18;

-- evening:

let hours be 20;

choose a random row in the Table of Time Differences;

increase hours by difference entry;

let am-pm be "[one of]in the morning[or]AM[or]o'clock[at random]";

if hours is greater than 24:

decrease hours by 24;

otherwise if hours is 24:

decrease hours by 12;

now am-pm is "midnight";

otherwise if hours is greater than 12:

decrease hours by 12;

if hours is less than 6:

now am-pm is "[one of]in the afternoon[or]PM[or]o'clock[at random]";

otherwise if hours is less than 10:

now am-pm is "[one of]in the evening[or]PM[or]o'clock[at random]";

otherwise if hours is less than 10:

now am-pm is "[one of]at night[or]PM[or]o'clock[at random]";

otherwise if hours is 12:

now am-pm is "noon";

if difference entry is less than 0:

say "[one of]just [or]only [or]still only [or]roughly [or]around [or]about [at random]";

if difference entry is greater than 0:

say "[one of]already [or]nearly [or]around [or]about [at random]";

if hours is:

-- 12:

if am-pm is "noon":

say "[one of]noon[or]twelve noon[or]12[or]lunch time[or]midday[at random]";

otherwise:

say "[one of]twelve midnight[or]midnight[or]the middle of the night[at random]";

-- otherwise:

say "[one of][hours in words] [am-pm][or][hours in words][at random]";

say " in [locale entry]".

To say random-spot:

choose a random row in the Table of Time Differences;

say "[locale entry]".

Table of Time Differences

differencelocale
11"[one of]Sydney[or]Melbourne[or]Canberra[or]Vladivostok[at random]"
9"[one of]Seoul[or]Tokyo[at random]"
8"[one of]Perth[or]Hong Kong[or]Manila[or]Beijing[or]Taipei[or]Shanghai[at random]"
7"[one of]Bangkok[or]Hanoi[or]Jakarta[at random]"
5"[one of]Tashkent[or]Islamabad[or]Lahore[at random]"
4"[one of]Moscow[or]Dubai[at random]"
3"[one of]Minsk[or]Khartoum[or]Nairobi[or]Baghdad[at random]"
2"[one of]Cape Town[or]Athens[or]Johannesburg[or]Helsinki[or]Bucharest[or]Cairo[or]Jerusalem[at random]"
1"[one of]Budapest[or]Berlin[or]Paris[or]Algiers[or]Brussels[or]Kinshasa[or]Zagreb[at random]"
-3"[one of]Santiago[or]Buenos Aires[at random]"
-4"[one of]Halifax[or]La Paz[at random]"
-5"[one of]Philadelphia[or]Atlanta[or]Indianapolis[or]Detroit[or]Columbus[or]Havana[or]Miami[or]Toronto[or]Ottawa[or]Kingston[or]DC[or]New York[or]Boston[at random]"
-6"[one of]Winnepeg[or]Houston[or]Minneapolis[or]Chicago[or]New Orleans[or]San Salvador[at random]"
-7"[one of]Denver[or]Edmonton[or]Phoenix[or]Salt Lake City[at random]"
-8"[one of]San Francisco[or]San Fran[or]Portland[or]Seattle[or]Vancouver[or]LA[or]San Diego[at random]"
-9"Anchorage"
-10"[one of]Kiritimati[or]Honolulu[at random]"
-11"[one of]Suva[or]Auckland[at random]"