48 lines
2.1 KiB
Text
48 lines
2.1 KiB
Text
include "NSLog.incl"
|
|
|
|
begin enum output
|
|
_firstAnimal = 0
|
|
_lastAnimal = 7
|
|
end enum
|
|
|
|
local fn OldLadySwallowedAFly
|
|
NSUInteger i, j, numberOfAnimals
|
|
CFMutableStringRef mutStr = fn MutableStringWithCapacity( 0 )
|
|
|
|
NSLogClear
|
|
|
|
CFArrayRef animals = @[@"fly", @"spider", @"bird", @"cat", @"dog", @"goat", @"cow", @"horse.."]
|
|
CFArrayRef verses = @[@"",¬
|
|
@"I don't know why she swallowed the fly — perhaps she'll die!\n",¬
|
|
@"That wriggled and jiggled and tickled inside her.",¬
|
|
@"How absurd, to swallow a bird!",¬
|
|
@"Imagine that, she swallowed a cat!",¬
|
|
@"What a hog to swallow a dog!",¬
|
|
@"She just opened her throat and swallowed that goat!",¬
|
|
@"I wonder how she swallowed a cow?",¬
|
|
@"She's dead, of course!"]
|
|
|
|
numberOfAnimals = len(animals)
|
|
|
|
for i = 0 to numberOfAnimals -1
|
|
NSLog( @"There was an old lady who swallowed a %@.", animals[i] ) : MutableStringAppendFormat( mutStr, @"There was an old lady who swallowed a %@.\n", animals[i] )
|
|
if i == _firstAnimal then NSLog( @"%@", verses[1] ) : MutableStringAppendFormat( mutStr, @"%@\n", verses[1] ) : continue
|
|
if i > _firstAnimal then NSLog( @"%@", verses[i+1] ) : MutableStringAppendFormat( mutStr, @"%@\n", verses[i+1] )
|
|
if i == _lastAnimal then break
|
|
if ( i > 0 )
|
|
for j = i to 1 step -1
|
|
CFStringRef p
|
|
if fn StringIsEqual( animals[j-1], @"fly" ) then p = @"." else p = @","
|
|
NSLog( @"\tShe swallowed the %@ to catch the %@%@", animals[j], animals[j-1], p ) : MutableStringAppendFormat( mutStr, @"\tShe swallowed the %@ to catch the %@%@\n", animals[j], animals[j-1], p )
|
|
if j == 2 then NSLog(@"\tThat wriggled and jiggled and tickled inside her.") : MutableStringAppendString( mutStr, @"\tThat wriggled and jiggled and tickled inside her.\n" )
|
|
if j == 1 then NSLog( @"%@", verses[1] ) : MutableStringAppendFormat( mutStr, @"%@\n", verses[1] ) : break
|
|
next
|
|
end if
|
|
next
|
|
SpeechSynthesizerRef ref = fn SpeechSynthesizerWithVoice( @"com.apple.speech.synthesis.voice.daniel.premium" )
|
|
fn SpeechSynthesizerStartSpeakingString( ref, mutStr )
|
|
end fn
|
|
|
|
fn OldLadySwallowedAFly
|
|
|
|
HandleEvents
|