I originally wrote this in QBasic, unfortunately the source was lost a while ago. The insults come from the works of William Shakespeare.

// Blah blah blah GPL blah blah blah
#include <iostream.h>
#include <stdlib.h>
#include <time.h>

int main()
{
  char part1[][20] = {
                      "artless",
                      "bawdy",
                      "beslubbering",
                      "bootless",
                      "churlish",
                      "cockered",
                      "clouted",
                      "craven",
                      "currish",
                      "dankish",
                      "dissembling",
                      "droning",
                      "errant",
                      "fawning",
                      "fobbing",
                      "froward",
                      "frothy",
                      "gleeking",
                      "goatish",
                      "gorbellied",
                      "impertinent",
                      "infectious",
                      "jarring",
                      "loggerheaded",
                      "lumpish",
                      "mammering",
                      "mangled",
                      "mewling",
                      "paunchy",
                      "pribbling",
                      "puking",
                      "puny",
                      "qualling",
                      "rank",
                      "reeky",
                      "roguish",
                      "ruttish",
                      "saucy",
                      "spleeny",
                      "spongy",
                      "surly",
                      "tottering",
                      "unmuzzled",
                      "vain",
                      "venomed",
                      "villainous",
                      "warped",
                      "wayward",
                      "weedy",
                      "yeasty"
                     };

  char part2[][20] = {
                      "base-court",
                      "bat-fowling",
                      "beefwitted",
                      "beetle-headed",
                      "boil-brained",
                      "clapper-clawed",
                      "clay-brained",
                      "common-kissing", 
                      "crook-pated",
                      "dismal-dreaming",
                      "dizzy-eyed",
                      "doghearted",
                      "dread-bolted",
                      "earth-vexing",
                      "elf-skinned",
                      "fat-kidneyed",
                      "fen-sucked",
                      "flap-mouthed",
                      "fly-bitten",
                      "folly-fallen",
                      "fool-born",
                      "full-gorged",
                      "guts-griping",
                      "half-faced",
                      "hasty-witted",
                      "hedge-born",
                      "hell-hated",
                      "idle-headed",
                      "ill-breeding",
                      "ill-nurtured",
                      "knotty-pated",
                      "milk-livered",
                      "motley-minded",
                      "onion-eyed",
                      "plume-plucked",
                      "pottle-deep",
                      "pox-marked",
                      "reeling-ripe",
                      "rough-hewn",
                      "rude-growing",
                      "rump-fed",
                      "shard-borne",
                      "sheep-biting",
                      "spur-galled",
                      "swag-bellied",
                      "tardy-gaited",
                      "tickle-brained",
                      "toad-spotted",
                      "unchin-snouted",
                      "weather-bitten"
                     };
  char part3[][20] = {
                      "apple-john",
                      "baggage",
                      "barnacle",
                      "bladder",
                      "bear-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",
                      "joithead",
                      "lewdster",
                      "lout",
                      "maggot pie",
                      "malt-worm",
                      "mammet",
                      "measle",
                      "minnow",
                      "miscreant",
                      "moldwarp",
                      "mumble-news",
                      "nut-hook",
                      "pigeon egg",
                      "pignut",
                      "puttock",
                      "pumpion",
                      "ratsbane",
                      "scut",
                      "skainsmate",
                      "strumpet",
                      "varlet",
                      "vassal",
                      "whey-face",
                      "wagtail",
                     };

  float i = sizeof part1 / sizeof part1[0]; //All 3 arrays are same size
  i /= RAND_MAX;

  srand((unsigned)time(0));
  
  int n;
  cout << "How many insults?";
  cin >> n;

  for(int j=0;j<n;j++) {
    cout << "Thou " 
         << part1[(int)(rand()*i)] << " "
         << part2[(int)(rand()*i)] << " " 
         << part3[(int)(rand()*i)] << "!" 
         << endl;
  }
  return 0;
}

Log in or registerto write something here or to contact authors.