| ! --------------[ Inform Shakespearean Insult Generator v1.0]---------------- | |
| ! Possibly the most gratiutiously vulgar, flatulent use of Inform yet devised! | |
| ! --------------------------------------------------------------------------- | |
| ! This routine is based roughly on a "shakespearean insult" scheme posted on | |
| ! usenet created by Jerry McGuire (a high school English teacher, no less). | |
| ! There are several WWW pages that feature the use of this "algorithm".... | |
| ! --------------------------------------------------------------------------- | |
| ! Warning: Extremely sloppy code follows! I have to admit, i scarcely have | |
| ! any idea what I'm doing. I coded this in Pascal first, and then, largely | |
| ! by a semi-painful process of trial and error, transmogrified it into Inform | |
| ! code that actually works! It is of course a very silly thing, but perhaps | |
| ! some my find it more amusing (for a few minutes) than sawing at their wrists | |
| ! with saftey razors that they have frantically and desperately smashed free | |
| ! with their shaving mirror.... um... Anyone that has far too little content | |
| ! in their Inform adventures, and is looking for more totally vacuous filler | |
| ! material, is free to use any of this code they can manage to steal.... | |
| ! --------------------------------------------------------------------------- | |
| ! You'll probably need to use $BUFFER_LENGTH=3000 on commmandline to compile. | |
| ! --------------------[ Tim Middleton as544@torfree.net ]-------------------- | |
| Switches dsv5x; | |
| Constant DEBUG; | |
| Constant Story "Shakespearean Insult-o-Rondez-Vous-with-Rama^"; | |
| Constant Headline "^"; | |
| Include "Parser"; | |
| Object LibraryMessages "lm" ! patch library messages... | |
| with | |
| before | |
| [; Prompt: sh_insult("^What now, ", "> "); rtrue; | |
| ]; | |
| Include "VerbLib"; | |
| Global Sh_Ads table "artless" "base-court" ! table of insult adjectives | |
| "bawdy" "bat-fowling" | |
| "beslubbering" "beef-witted" ! number of entries is read | |
| "bootless" "beetle-headed" ! from sh_ads-->0 | |
| "churlish" "boil-brained" | |
| "cockered" "clapper-clawed" | |
| "clouted" "clay-brained" | |
| "craven" "common-kissing" | |
| "currish" "crook-pated" | |
| "dankish" "dismal-dreaming" | |
| "dissembling" "dizzy-eyed" | |
| "droning" "doghearted" | |
| "errant" "dread-bolted" | |
| "fawning" "earth-vexing" | |
| "fobbing" "elf-skinned" | |
| "froward" "fat-kidneyed" | |
| "frothy" "fen-sucked" | |
| "gleeking" "flap-mouthed" | |
| "goatish" "fly-bitten" | |
| "gorbellied" "folly-fallen" | |
| "impertinent" "fool-born" | |
| "infectious" "full-gorged" | |
| "jarring" "guts-griping" | |
| "loggerheaded" "half-faced" | |
| "lumpish" "hasty-witted" | |
| "mammering" "hedge-born" | |
| "mangled" "hell-hated" | |
| "mewling" "idle-headed" | |
| "paunchy" "ill-breeding" | |
| "pribbling" "ill-nurtured" | |
| "puking" "knotty-pated" | |
| "puny" "milk-livered" | |
| "quailing" "motley-minded" | |
| "rank" "onion-eyed" | |
| "reeky" "plume-plucked" | |
| "roguish" "pottle-deep" | |
| "ruttish" "pox-marked" | |
| "saucy" "reeling-ripe" | |
| "spleeny" "rough-hewn" | |
| "spongy" "rude-growing" | |
| "surly" "rump-fed" | |
| "tottering" "shard-borne" | |
| "unmuzzled" "sheep-biting" | |
| "vain" "spur-galled" | |
| "venomed" "swag-bellied" | |
| "villainous" "tardy-gaited" | |
| "warped" "tickle-brained" | |
| "wayward" "toad-spotted" | |
| "weedy" "unchin-snouted" | |
| "yeasty" "weather-bitten"; | |
| Global Sh_Nms table ! table of insult names | |
| "apple-john" | |
| "baggage" | |
| "barnacle" | |
| "bladder" | |
| "boar-pig" | |
| "bugbear" | |
| "bum-bailey" | |
| "canker-blossom" | |
| "clack-dish" | |
| "clotpole" | |
| "coxcomb" | |
| "codpiece" | |
| "death-token" | |
| "dewberry" | |
| "flap-dragon" | |
| "flax-wench" | |
| "flirt-gill" | |
| "foot-licker" | |
| "fustilarian" | |
| "giglet" | |
| "gudgeon" | |
| "haggard" | |
| "harpy" | |
| "hedge-pig" | |
| "horn-beast" | |
| "hugger-mugger" | |
| "jolthead" | |
| "lewdster" | |
| "lout" | |
| "maggot-pie" | |
| "malt-worm" | |
| "mammet" | |
| "measle" | |
| "minnow" | |
| "miscreant" | |
| "moldwarp" | |
| "mumble-news" | |
| "nut-hook" | |
| "pigeon-egg" | |
| "pignut" | |
| "puttock" | |
| "pumpion" | |
| "ratsbane" | |
| "scut" | |
| "skainsmate" | |
| "strumpet" | |
| "varlot" | |
| "vassal" | |
| "whey-face" | |
| "wagtail"; | |
| Global sh_ar -> 0 0 0; ! temp array to hold adjs. | |
| ! note: *3* maximum. | |
| object Room "A Room" ! A room to be insulted in. | |
| with | |
| description "Not much here...", ! Doesn't take much to be | |
| has light; ! insulted. (-: | |
| nearby Chair "chair" ! better sit down for this. | |
| with | |
| name "chair" "seat" "throne", | |
| description "Looks sittable!", | |
| has supporter; ! or can be thrown around... | |
| [ sh_dupe_chk an l ret; ! filter duplicate insults. | |
| ret=random(sh_ads-->0); ! random adjective to try. | |
| if (an>0) { ! more than one adj to check? | |
| for (l=0:l<an:l++) { ! loop though picked adjs. | |
| if (sh_ar ->l == ret) return -1; ! duplicate found... exit. | |
| } | |
| } | |
| return ret; ! no duplicate, return value. | |
| ]; | |
| [ sh_insult pre post an y c; ! generate insult. | |
| c = random(3); ! 1 to *3* adjectives. | |
| for (an=0:an<c:an++) { ! loop to pick adjectives. | |
| do { y=sh_dupe_chk(an) } until (y>-1); ! loop until adj unique. | |
| sh_ar ->an = y; ! add adj value to tmp array. | |
| } | |
| if (pre~=0) print (string) pre; ! address the victim! | |
| for (an=0:an<c:an++) { ! loop through picked adjs. | |
| print (string) sh_ads-->(sh_ar->an), " "; ! print adjectives, then | |
| } ! .... | |
| y = random(sh_nms-->0); ! pick the vile sobriquet | |
| print (string) sh_nms-->(y); ! and print it... | |
| if (post~=0) print (string) post; ! with post string, if any. | |
| ]; | |
| [ sh_insSub; sh_insult("Thou ", "!^"); ]; ! for the insult command... | |
| ! note the space, and ^.... | |
| [ Initialise; | |
| Location = Room; ! here we are. | |
| print "^^"; | |
| style bold; ! bold colour print mode. | |
| sh_insult("Wherefore art thou, thou ", "?!^"); ! A pet name for Romeo...? | |
| style roman; ! back to normal printing. | |
| print " --Romeo And Juliet, II.ii.35 (paraphrased)^^"; | |
| return 2; ! Don't print game banner | |
| ]; | |
| Include "Grammar"; | |
| verb "insult" "ins" * -> sh_ins; ! make a quick insult cmd | |
| ! ************************************************************************ | |
| ! My humble apologies to all Shakespeare fans and admirers everywhere!!! | |
| ! What would the Immortal Bard say if he could see this!? Shameful!! (-; | |
| ! ************************************************************************ | |
Xet Storage Details
- Size:
- 8.46 kB
- Xet hash:
- f6678c3fa8f871e04fb85170157c5a2d03c21b99e07e358a35315b2326f0a511
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.