-
Notifications
You must be signed in to change notification settings - Fork 2
/
curse.yab
executable file
·42 lines (35 loc) · 3.81 KB
/
curse.yab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env yabasic
REM Shakespearian Curse Generator -- Based on lists compiled by Jerry Maguire,
REM English teacher at Center Grove High School in Greenwood, Indiana.
REM Public domain implementations by Trevor Stone https://trevorstone.org/curse
REM Initialize data arrays
LABEL adjective1
DATA "artless", "bawdy", "beslubbering", "bootless", "brazen", "churlish", "cockered", "clouted", "craven", "currish", "dankish", "dissembling", "distempered", "droning", "errant", "fawning", "fitful", "fobbing", "froward", "frothy", "gleeking", "gnarling", "goatish", "gorbellied", "greasy", "grizzled", "haughty", "hideous", "impertinent", "infectious", "jaded", "jarring", "knavish", "lewd", "loggerheaded", "lumpish", "mammering", "mangled", "mewling", "paunchy", "peevish", "pernicious", "prating", "pribbling", "puking", "puny", "purpled", "quailing", "queasy", "rank", "reeky", "roguish", "roynish", "ruttish", "saucy", "sottish", "spleeny", "spongy", "surly", "tottering", "unmuzzled", "vacant", "vain", "venomed", "villainous", "waggish", "wanton", "warped", "wayward", "weedy", "wenching", "whoreson", "yeasty"
LET numadj1 = 73
LABEL adjective2
DATA "base-court", "bat-fowling", "beef-witted", "beetle-headed", "boil-brained", "bunched-backed", "clapper-clawed", "clay-brained", "common-kissing", "crook-pated", "dismal-dreaming", "dizzy-eyed", "dog-hearted", "dread-bolted", "earth-vexing", "elf-skinned", "empty-hearted", "evil-eyed", "eye-offending", "fat-kidneyed", "fen-sucked", "flap-mouthed", "fly-bitten", "folly-fallen", "fool-born", "full-gorged", "guts-griping", "half-faced", "hasty-witted", "heavy-handed", "hedge-born", "hell-hated", "horn-mad", "idle-headed", "ill-breeding", "ill-composed", "ill-nurtured", "iron-witted", "knotty-pated", "lean-witted", "lily-livered", "mad-bread", "milk-livered", "motley-minded", "muddy-mettled", "onion-eyed", "pale-hearted", "paper-faced", "pinch-spotted", "plume-plucked", "pottle-deep", "pox-marked", "raw-boned", "reeling-ripe", "rough-hewn", "rude-growing", "rug-headed", "rump-fed", "shag-eared", "shard-borne", "sheep-biting", "shrill-gorged", "spur-galled", "sour-faced", "swag-bellied", "tardy-gaited", "tickle-brained", "toad-spotted", "unchin-snouted", "weak-hinged", "weather-bitten", "white-livered"
LET numadj2 = 72
LABEL noun
DATA "apple-john", "baggage", "barnacle", "bladder", "boar-pig", "bugbear", "bum-bailey", "canker-blossom", "clack-dish", "clotpole", "coxcomb", "codpiece", "crutch", "cutpurse", "death-token", "dewberry", "dogfish", "egg-shell", "flap-dragon", "flax-wench", "flirt-gill", "foot-licker", "fustilarian", "giglet", "gudgeon", "gull-catcher", "haggard", "harpy", "hedge-pig", "hempseed", "horn-beast", "hugger-mugger", "jack-a-nape", "jolthead", "lewdster", "lout", "maggot-pie", "malignancy", "malkin", "malt-worm", "mammet", "manikin", "measle", "minimus", "minnow", "miscreant", "moldwarp", "mumble-news", "nut-hook", "pantaloon", "pigeon-egg", "pignut", "puttock", "pumpion", "rabbit-sucker", "rampallion", "ratsbane", "remnant", "rudesby", "ruffian", "scantling", "scullion", "scut", "skainsmate", "snipe", "strumpet", "varlot", "vassal", "waterfly", "whey-face", "whipster", "wagtail", "younker"
LET numnoun = 73
DIM adj1$(numadj1): DIM adj2$(numadj2): DIM noun$(numnoun)
RESTORE adjective1
FOR i = 1 TO numadj1: READ adj1$(i): NEXT
RESTORE adjective2
FOR i = 1 TO numadj2: READ adj2$(i): NEXT
RESTORE noun
FOR i = 1 TO numnoun: READ noun$(i): NEXT
REM Select a random string from an array
SUB arrayran$(arr$())
RETURN arr$(INT(RAN(1) * ARRAYSIZE(arr$(), 1)) + 1)
END SUB
REM Get number of curses from command line argument or user input
IF PEEK("argument") > 0 THEN
LET count = VAL(PEEK$("argument"))
ELSE
INPUT "Number of curses: " count
ENDIF
REM Print out curses
FOR i = 1 TO count
PRINT "Thou ", arrayran$(adj1$()), " ", arrayran$(adj2$()), " ", arrayran$(noun$()), "!"
NEXT i