From df26b068d2ea0f024fdaf3cbacdc1abb6b524c1f Mon Sep 17 00:00:00 2001
From: Eric Oulashin <nightfox@synchro.net>
Date: Sat, 19 Nov 2022 02:17:45 +0000
Subject: [PATCH] This is a new trivia door, Good Time Trivia, written in
 JavaScript

---
 xtrn/gttrivia/gttrivia.asc                    |   13 +
 xtrn/gttrivia/gttrivia.ini                    |   28 +
 xtrn/gttrivia/gttrivia.js                     | 1134 ++++++++
 xtrn/gttrivia/install-xtrn.ini                |   11 +
 xtrn/gttrivia/qa/converter.js                 |  130 +
 xtrn/gttrivia/qa/dirty_minds.qa               | 2423 +++++++++++++++++
 xtrn/gttrivia/qa/general.qa                   | 1855 +++++++++++++
 .../qa/music_movies_and_entertainment.qa      | 1184 ++++++++
 xtrn/gttrivia/readme.txt                      |  222 ++
 xtrn/gttrivia/revision_history.txt            |    7 +
 10 files changed, 7007 insertions(+)
 create mode 100644 xtrn/gttrivia/gttrivia.asc
 create mode 100644 xtrn/gttrivia/gttrivia.ini
 create mode 100644 xtrn/gttrivia/gttrivia.js
 create mode 100644 xtrn/gttrivia/install-xtrn.ini
 create mode 100644 xtrn/gttrivia/qa/converter.js
 create mode 100644 xtrn/gttrivia/qa/dirty_minds.qa
 create mode 100644 xtrn/gttrivia/qa/general.qa
 create mode 100644 xtrn/gttrivia/qa/music_movies_and_entertainment.qa
 create mode 100644 xtrn/gttrivia/readme.txt
 create mode 100644 xtrn/gttrivia/revision_history.txt

diff --git a/xtrn/gttrivia/gttrivia.asc b/xtrn/gttrivia/gttrivia.asc
new file mode 100644
index 0000000000..1064b72e69
--- /dev/null
+++ b/xtrn/gttrivia/gttrivia.asc
@@ -0,0 +1,13 @@
+[�NC������� ������� ������� ������    ������� ����� ������� �������
+�� ����� � ��� � � ��� � � �� ��   ��� ��� �� �� � � � � � �����
+�� ��� � � ��� � � ��� � � ��� ��� �   �� �� � � � � � �����
+�������� ������� ������� �����������   ����� ������� �������
+   HW�4�����������0� �4�����������0� �4�����0� �4�����0�4�����0� �4�����0� �4�����������0�
+   �NB7�H4��NB7��������HW0� �NB7�H4��NB7��������HW0� �NB7�H4��NB7��HW0� �NB7�H4��NB7��HW0�NB7�����HW0� �NB7�H4��NB7��HW0� �NB7�H4��NB7��������HW0�
+   �4���     ���0� �NB7�H4�NB7���HW0�NB7�����HW0� �NB7�H4�NB7���HW0� �NB7�H4�NB7���HW0�NB7�����HW0� �NB7�H4�NB7���HW0� �NB7�H4�NB7���HW0�NB7�����HW0�
+�7�NB��7���HW���NB7�H4�NB7��������HW4�0� 7�NB7�H4�NB7���HW���NB7�H4�NB7���HW�NB7����0�HW� 7�NB7�H4�NB7���HW���NB7�H4�NB7���������HW�0
+�7�NB7�0�7���HW���NB7�H4�NB7��0�7������HW���NB7�H4�NB7��0�HW7���NB7�H4�NB7��0�HW7�NB7�����HW���NB7�H4�NB7��0�HW7���NB7�H4�NB7���HW�NB7�����HW�0
+�7�NB�7����HW���NB7�����HW�NB7�����HW���NB7�����HW���NB7�����HW�NB7�����HW���NB7�����HW���NB7�����HW�NB7�����HW�0
+�7 NB7��0���W4��7 B����� ����� � ����� � ����� ����� � ����� � ����� ����� 0
+�W�B7����4 W��7 B�����W0�B7����� � �����W0� �4�B7���������W4�0� 7 B�����W0� 7 B����� ����� 0
+�7 ��W4�B7��W4��7 B�����W0�B7����� � �����W0�   �B7�������W0�   7 B�����W0� 7 B����� ����� 0
diff --git a/xtrn/gttrivia/gttrivia.ini b/xtrn/gttrivia/gttrivia.ini
new file mode 100644
index 0000000000..fc2da28ede
--- /dev/null
+++ b/xtrn/gttrivia/gttrivia.ini
@@ -0,0 +1,28 @@
+[BEHAVIOR]
+numQuestionsPerPlay=30
+numTriesPerQuestion=4
+maxNumPlayerScoresToDisplay=10
+
+[COLORS]
+error=YH
+triviaCategoryHdr=MH
+triviaCategoryListNumbers=CH
+triviaCategoryListSeparator=GH
+triviaCategoryName=C
+categoryNumPrompt=C
+categoryNumPromptSeparator=GH
+categoryNumInput=CH
+questionHdr=M
+questionHdrNum=CH
+question=BH
+answerPrompt=C
+answerPromptSep=GH
+answerInput=CH
+userScore=CH
+scoreSoFarText=C
+clueHdr=RH
+clue=GH
+answerAfterIncorrect=G
+
+[CATEGORY_ARS]
+dirty_minds=AGE 18
\ No newline at end of file
diff --git a/xtrn/gttrivia/gttrivia.js b/xtrn/gttrivia/gttrivia.js
new file mode 100644
index 0000000000..235b990790
--- /dev/null
+++ b/xtrn/gttrivia/gttrivia.js
@@ -0,0 +1,1134 @@
+/*
+This is a trivia game for Synchronet.  It currently has a basic Q&A format, and supports multiple
+trivia categories.  User's high scores and trivia category stats (total score, last time played)
+are saved to a file.
+
+Date       Author            Description
+2022-11-18 Eric Oulashin     Version 1.00
+*/
+
+"use strict";
+
+
+// Game name - For logging, etc.
+var GAME_NAME = "Good Time Trivia";
+
+// This script requires Synchronet version 3.15 or higher (for user.is_sysop).
+// Exit if the Synchronet version is below the minimum.
+if (system.version_num < 31500)
+{
+	console.print("\x01n");
+	console.crlf();
+	console.print("\x01n\x01h\x01y\x01i* Warning:\x01n\x01h\x01w " + GAME_NAME);
+	console.print(" " + "requires version \x01g3.15\x01w or");
+	console.crlf();
+	console.print("higher of Synchronet.  This BBS is using version \x01g");
+	console.print(system.version + "\x01w.  Please notify the sysop.");
+	console.crlf();
+	console.pause();
+	exit(1);
+}
+
+// Version information
+var GAME_VERSION = "1.00";
+var GAME_VER_DATE = "2022-11-18";
+
+// Load required .js libraries
+var requireFnExists = (typeof(require) === "function");
+if (requireFnExists)
+	require("sbbsdefs.js", "P_NONE");
+else
+	load("sbbsdefs.js");
+
+
+// Determine the location of this script (its startup directory).
+// The code for figuring this out is a trick that was created by Deuce,
+// suggested by Rob Swindell.  I've shortened the code a little.
+var gStartupPath = '.';
+var gThisScriptFilename = "";
+try { throw dig.dist(dist); } catch(e) {
+	gStartupPath = backslash(e.fileName.replace(/[\/\\][^\/\\]*$/,''));
+	gThisScriptFilename = file_getname(e.fileName);
+}
+
+// Characters for display
+// Box-drawing/border characters: Single-line
+var UPPER_LEFT_SINGLE = "\xDA";
+var HORIZONTAL_SINGLE = "\xC4";
+var UPPER_RIGHT_SINGLE = "\xBF";
+var VERTICAL_SINGLE = "\xB3";
+var LOWER_LEFT_SINGLE = "\xC0";
+var LOWER_RIGHT_SINGLE = "\xD9";
+var T_SINGLE = "\xC2";
+var LEFT_T_SINGLE = "\xC3";
+var RIGHT_T_SINGLE = "\xB4";
+var BOTTOM_T_SINGLE = "\xC1";
+var CROSS_SINGLE = "\xC5";
+// Box-drawing/border characters: Double-line
+var UPPER_LEFT_DOUBLE = "\xC9";
+var HORIZONTAL_DOUBLE = "\xCD";
+var UPPER_RIGHT_DOUBLE = "\xBB";
+var VERTICAL_DOUBLE = "\xBA";
+var LOWER_LEFT_DOUBLE = "\xC8";
+var LOWER_RIGHT_DOUBLE = "\xBC";
+var T_DOUBLE = "\xCB";
+var LEFT_T_DOUBLE = "\xCC";
+var RIGHT_T_DOUBLE = "\xB9";
+var BOTTOM_T_DOUBLE = "\xCA";
+var CROSS_DOUBLE = "\xCE";
+// Box-drawing/border characters: Vertical single-line with horizontal double-line
+var UPPER_LEFT_VSINGLE_HDOUBLE = "\xD5";
+var UPPER_RIGHT_VSINGLE_HDOUBLE = "\xB8";
+var LOWER_LEFT_VSINGLE_HDOUBLE = "\xD4";
+var LOWER_RIGHT_VSINGLE_HDOUBLE = "\xBE";
+// Other special characters
+var DOT_CHAR = "\xF9";
+var CHECK_CHAR = "\xFB";
+var THIN_RECTANGLE_LEFT = "\xDD";
+var THIN_RECTANGLE_RIGHT = "\xDE";
+var BLOCK1 = "\xB0"; // Dimmest block
+var BLOCK2 = "\xB1";
+var BLOCK3 = "\xB2";
+var BLOCK4 = "\xDB"; // Brightest block
+var MID_BLOCK = "\xDC";
+var TALL_UPPER_MID_BLOCK = "\xFE";
+var UPPER_CENTER_BLOCK = "\xDF";
+var LOWER_CENTER_BLOCK = "\xDC";
+
+
+
+// Maximum Levenshtein distance (inclusive) to consisder an answer matching (when appropriate)
+var MAX_LEVENSHTEIN_DISTANCE = 2;
+// Scores filename
+var SCORES_FILENAME = gStartupPath + "scores.json";
+// Semaphore filename to use when saving the user's score to try to prevent multiple instances
+// from overwriting the score on each other
+var SCORES_SEMAPHORE_FILENAME = gStartupPath + "SCORES_SEMAPHORE.tmp";
+// Main menu actions
+var ACTION_PLAY = 0;
+var ACTION_SHOW_HELP_SCREEN = 1;
+var ACTION_SHOW_HIGH_SCORES = 2;
+var ACTION_QUIT = 3;
+var ACTION_SYSOP_CLEAR_SCORES = 4;
+
+
+// Upon exit for any reason, make sure the scores semaphore filename doesn't exist so future instances don't get frozen
+//js.on_exit("if (file_exists(\"" + SCORES_SEMAPHORE_FILENAME + "\")) file_remove(\"" + SCORES_SEMAPHORE_FILENAME + "\");");
+
+
+// Display the program logo
+displayProgramLogo(true, false);
+
+// Load the settings from the .ini file
+var gSettings = loadSettings(gStartupPath);
+
+
+//console.clear("\x01n");
+
+// In a loop until the user chooses to exit, show the main menu and let the user make
+// a choice of what to do
+var continueOn = true;
+while (continueOn)
+{
+	switch (doMainMenu())
+	{
+		case ACTION_PLAY:
+			playTrivia();
+			break;
+		case ACTION_SHOW_HELP_SCREEN:
+			showHelpScreen();
+			break;
+		case ACTION_SHOW_HIGH_SCORES:
+			showScores(false);
+			break;
+		case ACTION_SYSOP_CLEAR_SCORES:
+			if (user.is_sysop)
+			{
+				console.print("\x01n");
+				console.crlf();
+				if (file_exists(SCORES_FILENAME))
+				{
+					if (!console.noyes("\x01y\x01hAre you SURE you want to clear the scores\x01b"))
+					{
+						file_remove(SCORES_FILENAME);
+						console.print("\x01n\x01c\x01hThe score file has been deleted.");
+					}
+				}
+				else
+					console.print("\x01n\x01c\x01hThere is no score file yet.");
+				console.print("\x01n");
+				console.crlf();
+			}
+			break;
+		case ACTION_QUIT:
+		default:
+			continueOn = false;
+			break;
+	}
+}
+
+
+console.print("\x01n\x01cReturning to \x01y\x01h" + system.name + "\x01n\x01c...\x01n");
+mswait(1000);
+// End of script execution.
+
+
+
+////////////////////////////////////////////////////
+// Functions
+
+// Lets the user play trivia (choosing a category if there is more than one)
+function playTrivia()
+{
+	// Load the Q&A filenames and let the user choose a section to play
+	var qaFilenameInfo = getQACategoriesAndFilenames();
+	if (qaFilenameInfo.length == 0)
+	{
+		console.attributes = "N" + gSettings.colors.error;
+		console.print("There are no trivia sections available!\x01n");
+		console.crlf();
+		console.pause();
+		return 2;
+	}
+	// If there's only 1 trivia category, then choose it automatically.  Otherwise,
+	// let the user choose a trivia category.
+	var chosenSectionIdx = 0;
+	if (qaFilenameInfo.length > 1)
+	{
+		console.attributes = "N" + gSettings.colors.triviaCategoryHdr;
+		console.print("Choose a trivia section:\x01n");
+		console.crlf();
+		for (var i = 0; i < qaFilenameInfo.length; ++i)
+		{
+			var categoryNum = i + 1;
+			var categoryNumStr = format(attrCodeStr(gSettings.colors.triviaCategoryListNumbers) + "%3d", i + 1);
+			var categorySep = attrCodeStr(gSettings.colors.triviaCategoryListSeparator) + ": ";
+			var categoryName = attrCodeStr(gSettings.colors.triviaCategoryName) + qaFilenameInfo[i].sectionName;
+			console.print("\x01n" + categoryNumStr + "\x01n" + categorySep + "\x01n" + categoryName);
+			console.crlf();
+		}
+		console.attributes = "N" + gSettings.colors.categoryNumPrompt;
+		console.print("Choose\x01n");
+		console.attributes = gSettings.colors.categoryNumPromptSeparator;
+		console.print(": \x01n");
+		console.attributes = gSettings.colors.categoryNumInput;
+		var chosenSectionNum = +(console.getnum(qaFilenameInfo.length));
+		if (chosenSectionNum < 1 || chosenSectionNum > qaFilenameInfo.length)
+		{
+			//console.print("\x01n" + attrCodeStr(gSettings.colors.error) + "That is not a valid section number\x01n");
+			//console.print("\x01n\x01cReturning to \x01y\x01h" + system.name + "\x01n\x01c...\x01n");
+			//mswait(1500);
+			return 0;
+		}
+		chosenSectionIdx = chosenSectionNum - 1;
+	}
+
+	console.attributes = "N" + gSettings.colors.triviaCategoryHdr;
+	console.print("Playing ");
+	console.attributes = gSettings.colors.triviaCategoryName;
+	console.print(qaFilenameInfo[chosenSectionIdx].sectionName + "\x01n");
+	console.crlf();
+
+	// Load and parse the section filename into questions, answers, and points
+	var QAArray = parseQAFilename(qaFilenameInfo[chosenSectionIdx].filename);
+	shuffle(QAArray);
+	console.print("There are " + QAArray.length + " questions in total.");
+	console.crlf();
+	// Each element in QAArray is an object with the following properties:
+	// question
+	// answer
+	// numPoints
+	console.print("\x01n\x01gWill ask \x01h" + gSettings.behavior.numQuestionsPerPlay + "\x01n\x01g questions.\x01n");
+	console.crlf();
+	console.print("\x01n\x01gYou can answer \x01hQ\x01n\x01g at any time to quit.\x01n");
+	console.crlf();
+	var userPoints = 0;
+	var maxNumQuestions = gSettings.behavior.numQuestionsPerPlay;
+	if (QAArray.length < maxNumQuestions)
+		maxNumQuestions = QAArray.length;
+	var continueQuestioning = true;
+	var questionColor = attrCodeStr(gSettings.colors.question);
+	var questionHdrColor = attrCodeStr(gSettings.colors.questionHdr);
+	var questionHdrNumColor = attrCodeStr(gSettings.colors.questionHdrNum);
+	var answerWhenIncorrectColor = attrCodeStr(gSettings.colors.answerAfterIncorrect);
+	for (var i = 0; i < maxNumQuestions && continueQuestioning; ++i)
+	{
+		var questionNumTxt = format("\x01n%sQuestion \x01n%s%d \x01n%sof \x01n%s%d\x01n%s:\x01n",
+		                       questionHdrColor, questionHdrNumColor, (i+1), questionHdrColor, questionHdrNumColor,
+		                       maxNumQuestions, questionHdrColor);
+
+		// Show the question and prompt the user for a response.  Let the user
+		// try multiple times; when wrong, display a hint.
+		var gotAnswerCorrect = false;
+		for (var tryI = 0; tryI < gSettings.behavior.numTriesPerQuestion && !gotAnswerCorrect && continueQuestioning; ++tryI)
+		{
+			// Print the question
+			console.print(questionNumTxt);
+			console.crlf();
+			printWithWordWrap(questionColor, QAArray[i].question);
+			console.attributes = "N" + gSettings.colors.questionHdr;
+			console.print("# points: ");
+			console.attributes = "N" + gSettings.colors.questionHdrNum;
+			console.print(QAArray[i].numPoints + "\x01n");
+			console.crlf();
+			// If this is after the first try, then give a clue
+			if (tryI > 0)
+			{
+				console.attributes = "N" + gSettings.colors.clueHdr;
+				console.print("Clue:");
+				console.crlf();
+				console.attributes = "N" + gSettings.colors.clue;
+				console.print(partiallyHiddenStr(QAArray[i].answer, tryI-1) + "\x01n");
+				console.crlf();
+				
+			}
+			// Prompt for an answer
+			console.attributes = "N" + gSettings.colors.answerPrompt;
+			console.print("Answer (try " + +(tryI+1) + " of " + gSettings.behavior.numTriesPerQuestion + ")");
+			console.attributes = "N" + gSettings.colors.answerPromptSep;
+			console.print(": ");
+			console.crlf();
+			console.attributes = "N" + gSettings.colors.answerInput;
+			var userResponse = console.getstr();
+			console.print("\x01n");
+			var responseCheckRetObj = checkUserResponse(QAArray[i].answer, userResponse);
+			if (responseCheckRetObj.userChoseQuit)
+			{
+				continueQuestioning = false;
+				break;
+			}
+			else if (responseCheckRetObj.userInputMatchedAnswer)
+			{
+				gotAnswerCorrect = true;
+				userPoints += QAArray[i].numPoints;
+				console.attributes = "N" + gSettings.colors.questionHdr;
+				console.print("Correct!\x01n");
+				console.crlf();
+			}
+			else
+			{
+				console.attributes = "N" + gSettings.colors.questionHdr;
+				console.print("* Incorrect!");
+				console.crlf();
+				if (tryI < gSettings.behavior.numTriesPerQuestion)
+					console.crlf();
+			}
+		}
+		// If the user didn't get the answer correct, output the correct answer
+		if (!gotAnswerCorrect)
+		{
+			console.attributes = "N" + gSettings.colors.questionHdr;
+			console.print("The answer was:");
+			console.crlf();
+			console.attributes = "N";
+			printWithWordWrap(answerWhenIncorrectColor, QAArray[i].answer);
+			console.attributes = "N";
+		}
+
+		// Print the user's score so far
+		console.crlf();
+		console.attributes = "N" +  gSettings.colors.scoreSoFarText;
+		console.print("Your score so far: ");
+		console.attributes = "N" + gSettings.colors.userScore;
+		console.print(userPoints);
+		console.attributes = "N";
+		console.crlf();
+
+		console.crlf();
+	}
+	console.attributes = "N" + gSettings.colors.questionHdr;
+	console.print("Your score: ");
+	console.attributes = "N" + gSettings.colors.userScore;
+	console.print(userPoints);
+	console.attributes = "N";
+	console.crlf();
+	console.print("\x01b\x01hUpdating the scores file...");
+	console.crlf();
+	updateScoresFile(userPoints, qaFilenameInfo[chosenSectionIdx].sectionName);
+	console.print("Done.\x01n");
+	console.crlf();
+	return 0;
+}
+
+
+// Loads settings from the .ini file
+//
+// Parameters:
+//  gStartupPath: The path to the directory where the .ini file is located
+//
+// Return value: An object with 'behavior' and 'color' sections with the settings loaded from the .ini file
+function loadSettings(pStartupPath)
+{
+	var settings = {};
+	var cfgFileName = genFullPathCfgFilename("gttrivia.ini", pStartupPath);
+	var iniFile = new File(cfgFileName);
+	if (iniFile.open("r"))
+	{
+		settings.behavior = iniFile.iniGetObject("BEHAVIOR");
+		settings.colors = iniFile.iniGetObject("COLORS");
+		settings.category_ars = iniFile.iniGetObject("CATEGORY_ARS");
+
+		// Ensure the actual expected setting name & color names exist in the settings
+		if (typeof(settings.behavior) !== "object")
+			settings.behavior = {};
+		if (typeof(settings.colors) !== "object")
+			settings.colors = {};
+		if (typeof(settings.category_ars) !== "object")
+			settings.category_ars = {};
+
+		if (typeof(settings.behavior.numQuestionsPerPlay) !== "number")
+			settings.behavior.numQuestionsPerPlay = 10;
+		if (typeof(settings.behavior.numTriesPerQuestion) !== "number")
+			settings.behavior.numTriesPerQuestion = 4;
+		if (typeof(settings.behavior.maxNumPlayerScoresToDisplay) !== "number")
+			settings.behavior.maxNumPlayerScoresToDisplay = 10;
+
+		if (typeof(settings.colors.error) !== "string")
+			settings.colors.error = "YH";
+		if (typeof(settings.colors.triviaCategoryHdr) !== "string")
+			settings.colors.triviaCategoryHdr = "MH";
+		if (typeof(settings.colors.triviaCategoryListNumbers) !== "string")
+			settings.colors.triviaCategoryListNumbers = "CH";
+		if (typeof(settings.colors.triviaCategoryListSeparator) !== "string")
+			settings.colors.triviaCategoryListSeparator = "GH";
+		if (typeof(settings.colors.triviaCategoryName) !== "string")
+			settings.colors.triviaCategoryName = "C";
+		if (typeof(settings.colors.categoryNumPrompt) !== "string")
+			settings.colors.categoryNumPrompt = "C";
+		if (typeof(settings.colors.categoryNumPromptSeparator) !== "string")
+			settings.colors.categoryNumPromptSeparator = "GH";
+		if (typeof(settings.colors.categoryNumInput) !== "string")
+			settings.colors.categoryNumInput = "CH";
+		if (typeof(settings.colors.questionHdr) !== "string")
+			settings.colors.questionHdr = "M";
+		if (typeof(settings.colors.questionHdrNum) !== "string")
+			settings.colors.questionHdrNum = "CH";
+		if (typeof(settings.colors.question) !== "string")
+			settings.colors.question = "BH";
+		if (typeof(settings.colors.answerPrompt) !== "string")
+			settings.colors.answerPrompt = "C";
+		if (typeof(settings.colors.answerPromptSep) !== "string")
+			settings.colors.answerPromptSep = "GH";
+		if (typeof(settings.colors.answerInput) !== "string")
+			settings.colors.answerInput = "CH";
+		if (typeof(settings.colors.userScore) !== "string")
+			settings.colors.userScore = "CH";
+		if (typeof(settings.colors.scoreSoFarText) !== "string")
+			settings.colors.scoreSoFarText = "C";
+		if (typeof(settings.colors.clueHdr) !== "string")
+			settings.colors.clueHdr = "RH";
+		if (typeof(settings.colors.clue) !== "string")
+			settings.colors.clue = "GH";
+		if (typeof(settings.colors.answerAfterIncorrect) !== "string")
+			settings.colors.answerAfterIncorrect = "G";
+		
+		// Sanity checking
+		if (settings.behavior.numQuestionsPerPlay <= 0)
+			settings.behavior.numQuestionsPerPlay = 10;
+		if (settings.behavior.numTriesPerQuestion <= 0)
+			settings.behavior.numTriesPerQuestion = 3;
+		if (settings.behavior.maxNumPlayerScoresToDisplay <= 0)
+			settings.behavior.maxNumPlayerScoresToDisplay = 10;
+
+		// No need to do this:
+		// For each color, replace any instances of specifying the control character in substWord with the actual control character
+		//for (var prop in settings.colors)
+		//	settings.colors[prop] = settings.colors[prop].replace(/\\[xX]01/g, "\x01").replace(/\\[xX]1/g, "\x01").replace(/\\1/g, "\x01");
+		
+		iniFile.close();
+	}
+	return settings;
+}
+// For configuration files, this function returns a fully-pathed filename.
+// This function first checks to see if the file exists in the sbbs/mods
+// directory, then the sbbs/ctrl directory, and if the file is not found there,
+// this function defaults to the given default path.
+//
+// Parameters:
+//  pFilename: The name of the file to look for
+//  pDefaultPath: The default directory (must have a trailing separator character)
+function genFullPathCfgFilename(pFilename, pDefaultPath)
+{
+	var fullyPathedFilename = system.mods_dir + pFilename;
+	if (!file_exists(fullyPathedFilename))
+		fullyPathedFilename = system.ctrl_dir + pFilename;
+	if (!file_exists(fullyPathedFilename))
+	{
+		if (typeof(pDefaultPath) == "string")
+		{
+			// Make sure the default path has a trailing path separator
+			var defaultPath = backslash(pDefaultPath);
+			fullyPathedFilename = defaultPath + pFilename;
+		}
+		else
+			fullyPathedFilename = pFilename;
+	}
+	return fullyPathedFilename;
+}
+
+// Displays the program logo
+//
+// Parameters:
+//  pClearScreenFirst: Boolean - Whether or not to clear the screen first
+//  pPauseAfter: Boolean - Whether or not to have a keypress pause afterward
+function displayProgramLogo(pClearScreenFirst, pPauseAfter)
+{
+	if (typeof(pClearScreenFirst) === "boolean" && pClearScreenFirst)
+		console.clear("\x01n");
+
+	console.printfile(gStartupPath + "gttrivia.asc", P_NONE, 80);
+
+	if (typeof(pPauseAfter) === "boolean" && pPauseAfter)
+		console.pause();
+}
+
+// Shows the main menu, prompts the user for a choice, and returns the user's choice as
+// one of the following values:
+// ACTION_PLAY
+// ACTION_SHOW_HIGH_SCORES
+// ACTION_SHOW_HELP_SCREEN
+// ACTION_QUIT
+function doMainMenu()
+{
+	console.print("\x01n\x01y\x01hMain Menu\x01n");
+	console.crlf();
+	console.print("\x01b");
+	for (var i = 0; i < console.screen_columns-1; ++i)
+		console.print(HORIZONTAL_DOUBLE);
+	console.crlf();
+	console.print("\x01c1\x01y\x01h) \x01bPlay \x01n");
+	console.print("\x01c2\x01y\x01h) \x01bHelp \x01n");
+	console.print("\x01c3\x01y\x01h) \x01bShow high scores \x01n");
+	if (user.is_sysop)
+		console.print("\x01c9\x01y\x01h) \x01bClear high scores \x01n"); // Option 9
+	console.print("\x01cQ\x01y\x01h)\x01buit");
+	console.crlf();
+	console.print("\x01n");
+	console.print("\x01b");
+	for (var i = 0; i < console.screen_columns-1; ++i)
+		console.print(HORIZONTAL_DOUBLE);
+	console.crlf();
+	console.print("\x01cYour choice\x01g\x01h: \x01c");
+	var menuAction = ACTION_PLAY;
+	//var userChoice = console.getnum(3);
+	var validKeys = "123qQ";
+	if (user.is_sysop)
+		validKeys += "9"; // Clear scores
+	var userChoice = console.getkeys(validKeys, -1, K_UPPER).toString();
+	console.print("\x01n");
+	if (userChoice.length == 0 || userChoice == "Q")
+		menuAction = ACTION_QUIT;
+	else if (userChoice == "1")
+		menuAction = ACTION_PLAY;
+	else if (userChoice == "2")
+		menuAction = ACTION_SHOW_HELP_SCREEN;
+	else if (userChoice == "3")
+		menuAction = ACTION_SHOW_HIGH_SCORES;
+	else if (userChoice == "9" && user.is_sysop)
+		menuAction = ACTION_SYSOP_CLEAR_SCORES;
+	return menuAction;
+}
+
+// Gets the list of the Q&A files in the qa subdirectory in the .js script's directory.
+//
+// Return value: An array of objects with the following properties:
+//               sectionName: The name of the trivia section
+//               filename: The fully-pathed filename of the file containing the questions, answers, and # points for the trivia section
+function getQACategoriesAndFilenames()
+{
+	var sectionsAndFilenames = [];
+	var QAFilenames = directory(gStartupPath + "qa/*.qa");
+	for (var i = 0; i < QAFilenames.length; ++i)
+	{
+		// Get the section name - Start by removing the .qa filename extension
+		var filenameExtension = file_getext(QAFilenames[i]);
+		var sectionName = file_getname(QAFilenames[i]);
+		var charIdx = sectionName.lastIndexOf(".");
+		if (charIdx > -1)
+			sectionName = sectionName.substring(0, charIdx);
+		// Currently, sectionName is the filename without the extension.
+		// See if there is an ARS string for this in the configuration, and if so,
+		// only add it if the ARS string passes for the user.
+		var addThisSection = true;
+		if (gSettings.category_ars.hasOwnProperty(sectionName))
+			addThisSection = bbs.compare_ars(gSettings.category_ars[sectionName]);
+		// Add this section/category, if allowed
+		if (addThisSection)
+		{
+			// Capitalize the first letters of the words in the section name, and replace underscores with spaces
+			var wordsArr = sectionName.split("_");
+			for (var wordI = 0; wordI < wordsArr.length; ++wordI)
+				wordsArr[wordI] = wordsArr[wordI].charAt(0).toUpperCase() + wordsArr[wordI].substr(1);
+			sectionName = wordsArr.join(" ");
+			sectionsAndFilenames.push({
+				sectionName: sectionName,
+				filename: QAFilenames[i]
+			});
+		}
+	}
+	return sectionsAndFilenames;
+}
+
+// Parses a Q&A filename
+//
+// Return value: An array of objects containing the following properties:
+//               question: The trivia question
+//               answer: The answer to the trivia question
+//               numPoints: The number of points to award for the correct answer
+function parseQAFilename(pQAFilenameFullPath)
+{
+	if (!file_exists(pQAFilenameFullPath))
+		return [];
+
+	// Open the file and parse it.  Each line has:
+	// question,answer,points
+	var QA_Array = [];
+	var QAFile = new File(pQAFilenameFullPath);
+	if (QAFile.open("r"))
+	{
+		var theQuestion = "";
+		var theAnswer = "";
+		var theNumPoints = -1;
+		while (!QAFile.eof)
+		{
+			var fileLine = QAFile.readln(2048);
+			// I've seen some cases where readln() doesn't return a string
+			if (typeof(fileLine) !== "string")
+				continue;
+			fileLine = fileLine.trim();
+			if (fileLine.length == 0)
+				continue;
+
+			if (theQuestion.length > 0 && theAnswer.length > 0 && theNumPoints > -1)
+			{
+				QA_Array.push(new QA(theQuestion, theAnswer, +theNumPoints));
+				theQuestion = "";
+				theAnswer = "";
+				theNumPoints = -1;
+			}
+
+			if (theQuestion.length == 0)
+				theQuestion = fileLine;
+			else if (theAnswer.length == 0)
+				theAnswer = fileLine;
+			else if (theNumPoints < 1)
+			{
+				theNumPoints = +(fileLine);
+				if (theNumPoints < 1)
+					theNumPoints = 10;
+			}
+
+			// Older: Each line in the format question,answer,numPoints
+			/*
+			// Questions might have commas in them, so we can't just blindly split on commas like this:
+			//var lineParts = fileLine.split(",");
+			// Find the first & last indexes of a comma in the line
+			var lastCommaIdx = fileLine.lastIndexOf(",");
+			var firstCommaIdx = (lastCommaIdx > -1 ? fileLine.lastIndexOf(",", lastCommaIdx-1) : -1);
+			if (firstCommaIdx > -1 && lastCommaIdx > -1)
+			{
+				QA_Array.push({
+					question: fileLine.substring(0, firstCommaIdx),
+					answer: fileLine.substring(firstCommaIdx+1, lastCommaIdx),
+					numPoints: +(fileLine.substring(lastCommaIdx+1))
+				});
+			}
+			*/
+		}
+		QAFile.close();
+		// Ensure we've added the last question & answer, if there is one
+		if (theQuestion.length > 0 && theAnswer.length > 0 && theNumPoints > -1)
+			QA_Array.push(new QA(theQuestion, theAnswer, +theNumPoints));
+	}
+	return QA_Array;
+}
+// QA object constructor
+function QA(pQuestion, pAnswer, pNumPoints)
+{
+	this.question = pQuestion;
+	this.answer = pAnswer;
+	this.numPoints = pNumPoints;
+	if (this.numPoints < 1)
+		this.numPoints = 10;
+}
+
+// Shuffles an array
+//
+// Parameters:
+//  pArray: The array to shuffle
+function shuffle(pArray)
+{
+	var currentIndex = pArray.length;
+	var randomIndex = 0;
+
+	// While there remain elements to shuffle...
+	while (currentIndex != 0)
+	{
+		// Pick a remaining element
+		randomIndex = Math.floor(Math.random() * currentIndex);
+		--currentIndex;
+
+		// And swap it with the current element
+		[pArray[currentIndex], pArray[randomIndex]] = [
+			pArray[randomIndex], pArray[currentIndex]];
+	}
+
+	return pArray;
+}
+
+// Returns whether or not a user's answer matches the answer to a question (or is close enough).
+// Match is case-insensitive.  If it's a 1-word answer, then it should match exactly.  Otherwise,
+// a Levenshtein distance is used.
+//
+// Return value: An object with the following properties:
+//               userChoseQuit: Boolean: Whether or not the user chose to quit
+//               userInputMatchedAnswer: Boolean: Whether or not the user's answer matches the given answer to the question
+function checkUserResponse(pAnswer, pUserInput)
+{
+	var retObj = {
+		userChoseQuit: false,
+		userInputMatchedAnswer: false
+	};
+
+	if (typeof(pAnswer) !== "string" || typeof(pUserInput) !== "string")
+		return retObj;
+	if (pUserInput.length == 0)
+		return retObj;
+
+	// Convert both to uppercase for case-insensitive matching
+	var answerUpper = pAnswer.toUpperCase();
+	var userInputUpper = pUserInput.toUpperCase();
+	
+	if (userInputUpper == "Q")
+	{
+		retObj.userChoseQuit = true;
+		return retObj;
+	}
+
+	// If there are spaces in the answer, then do a Levenshtein comparison.  Otherwise,
+	// do an exact match.
+	if (answerUpper.indexOf(" ") > -1)
+	{
+		var levDist = levenshteinDistance(answerUpper, userInputUpper);
+		retObj.userInputMatchedAnswer = (levDist <= MAX_LEVENSHTEIN_DISTANCE);
+	}
+	else
+	{
+		// There are no spaces in the answer.  If the answer is 12 or shorter, use an exact match;
+		// otherwise, use a Levenshtein distance.
+		if (answerUpper.length <= 12)
+			retObj.userInputMatchedAnswer = (userInputUpper == answerUpper);
+		else
+		{
+			var levDist = levenshteinDistance(answerUpper, userInputUpper);
+			retObj.userInputMatchedAnswer = (levDist <= MAX_LEVENSHTEIN_DISTANCE);
+		}
+	}
+
+	return retObj;
+}
+
+// Calculates the Levenshtein distance between 2 strings
+//
+// Parameters:
+//  pStr1: The first string to compare
+//  pStr2: The second string to compare
+//
+// Return value: The Levenshtein distance between the two strings (numeric)
+function levenshteinDistance(pStr1, pStr2)
+{
+	if (typeof(pStr1) !== "string" || typeof(pStr2) !== "string")
+		return 0;
+
+	//https://www.tutorialspoint.com/levenshtein-distance-in-javascript
+	var track = new Array(pStr2.length + 1);
+	for (var i = 0; i < pStr2.length + 1; ++i)
+	{
+		track[i] = new Array(pStr1.length + 1);
+		for (var j = 0; j < pStr1.length + 1; ++j)
+			track[i][j] = null;
+	}
+
+	for (var i = 0; i <= pStr1.length; i += 1)
+		track[0][i] = i;
+	for (var j = 0; j <= pStr2.length; j += 1)
+		track[j][0] = j;
+	for (var j = 1; j <= pStr2.length; j += 1)
+	{
+		for (var i = 1; i <= pStr1.length; i += 1)
+		{
+			var indicator = pStr1[i - 1] === pStr2[j - 1] ? 0 : 1;
+			track[j][i] = Math.min(
+				track[j][i - 1] + 1, // deletion
+				track[j - 1][i] + 1, // insertion
+				track[j - 1][i - 1] + indicator // substitution
+			);
+		}
+	}
+	return track[pStr2.length][pStr1.length];
+}
+
+// Adds/updates the user's game score in the scores file
+//
+// Parameters:
+//  pUserCurrentGameScore: The user's score for their current game
+//  pLastSectionName: The name of the last trivia section the user played
+function updateScoresFile(pUserCurrentGameScore, pLastSectionName)
+{
+	if (typeof(pUserCurrentGameScore) !== "number")
+		return false;
+
+	var lastSectionName = (typeof(pLastSectionName) === "string" ? pLastSectionName : "");
+
+	// If the semaphore file exists, then wait for it to be deleted before writing
+	// the user's score to the file
+	var semaphoreWaitCount = 0;
+	while (file_exists(SCORES_SEMAPHORE_FILENAME) && semaphoreWaitCount < 20)
+	{
+		mswait(50);
+		++semaphoreWaitCount;
+	}
+	// Write the semaphore file (to try to prevent simultaneous writes that might stomp on each other)
+	file_touch(SCORES_SEMAPHORE_FILENAME);
+
+	var scoresObj = {};
+	// Read the scores file to see if the user has an existing score in there already
+	var scoresFile = new File(SCORES_FILENAME);
+	if (file_exists(SCORES_FILENAME))
+	{
+		if (scoresFile.open("r"))
+		{
+			var scoreFileArray = scoresFile.readAll();
+			scoresFile.close();
+			var scoreFileContents = "";
+			for (var i = 0; i < scoreFileArray.length; ++i)
+				scoreFileContents += (scoreFileArray[i] + "\n");
+			try
+			{
+				scoresObj = JSON.parse(scoreFileContents);
+			}
+			catch (error)
+			{
+				log(LOG_ERR, GAME_NAME + " - Loading scores: " + error);
+				bbs.log_str(GAME_NAME + " - Loading scores: " + error);
+			}
+		}
+	}
+	if (typeof(scoresObj) !== "object")
+		scoresObj = {};
+
+	// Add/update the user's score, and save the scores file
+	try
+	{
+		// Score object example (note: last_time is a UNIX time):
+		// Username:
+		//   category_stats:
+		//     category_1:
+		//       last_time: 166000
+		//       total_score: 20
+		//     category_2:
+		//       last_time: 146000
+		//       total_score: 80
+		//  total_score: 100
+		//  last_score: 20
+		//  last_trivia_category: category_1
+		//  last_time: 166000
+		var currentTime = time();
+		var userCategoryStatsPropName = "category_stats";
+		// Ensure the score object has an object for the current user
+		if (!scoresObj.hasOwnProperty(user.alias))
+			scoresObj[user.alias] = {};
+		// Ensure the user object in the scores object has a category_total_scores object
+		if (!scoresObj[user.alias].hasOwnProperty(userCategoryStatsPropName))
+			scoresObj[user.alias][userCategoryStatsPropName] = {};
+		// Add/update the user's score for the category in their category_total_scores object
+		if (!scoresObj[user.alias][userCategoryStatsPropName].hasOwnProperty(pLastSectionName))
+			scoresObj[user.alias][userCategoryStatsPropName][pLastSectionName] = {};
+		scoresObj[user.alias][userCategoryStatsPropName][pLastSectionName].last_time = currentTime;
+		if (!scoresObj[user.alias][userCategoryStatsPropName][pLastSectionName].hasOwnProperty("total_score"))
+			scoresObj[user.alias][userCategoryStatsPropName][pLastSectionName].total_score = pUserCurrentGameScore;
+		else
+			scoresObj[user.alias][userCategoryStatsPropName][pLastSectionName].total_score += pUserCurrentGameScore;
+		// Update the user's grand total score value
+		if (scoresObj[user.alias].hasOwnProperty("total_score"))
+			scoresObj[user.alias].total_score += pUserCurrentGameScore;
+		else
+			scoresObj[user.alias].total_score = pUserCurrentGameScore;
+		scoresObj[user.alias].last_score = pUserCurrentGameScore;
+		scoresObj[user.alias].last_trivia_category = lastSectionName;
+		scoresObj[user.alias].last_time = currentTime;
+	}
+	catch (error)
+	{
+		console.print("* " + error);
+		console.crlf();
+		log(LOG_ERR, GAME_NAME + " - Updating trivia score object: " + error);
+		bbs.log_str(GAME_NAME + " - Updating trivia score object: " + error);
+	}
+	scoresFile = new File(SCORES_FILENAME);
+	if (scoresFile.open("w"))
+	{
+		scoresFile.write(JSON.stringify(scoresObj));
+		scoresFile.close();
+	}
+
+	// Delete the semaphore file
+	file_remove(SCORES_SEMAPHORE_FILENAME);
+}
+
+// Shows the saved scores
+//
+// Parameters:
+//  pPauseAtEnd: Boolean - Whether or not to pause at the end.  The default is false.
+function showScores(pPauseAtEnd)
+{
+	console.print("\x01n");
+	console.crlf();
+	var sortedScores = [];
+	// Read the scores file to see if the user has an existing score in there already
+	if (file_exists(SCORES_FILENAME))
+	{
+		var scoresFile = new File(SCORES_FILENAME);
+		if (scoresFile.open("r"))
+		{
+			var scoreFileArray = scoresFile.readAll();
+			scoresFile.close();
+			var scoreFileContents = "";
+			for (var i = 0; i < scoreFileArray.length; ++i)
+				scoreFileContents += (scoreFileArray[i] + "\n");
+			var scoresObj = JSON.parse(scoreFileContents);
+			for (var prop in scoresObj)
+			{
+				sortedScores.push({
+					name: prop,
+					total_score: scoresObj[prop].total_score,
+					last_score: scoresObj[prop].last_score,
+					last_trivia_category: scoresObj[prop].last_trivia_category,
+					last_time: scoresObj[prop].last_time
+				});
+			}
+		}
+		// Sort the array: High total score first
+		sortedScores.sort(function(objA, objB) {
+			if (objA.total_score > objB.total_score)
+				return -1;
+			else if (objA.total_score < objB.total_score)
+				return 1;
+			else
+				return 0;
+		});
+	}
+	// Print the scores if there are any
+	if (sortedScores.length > 0)
+	{
+		// Make the format string for printf()
+		var scoreWidth = 6;
+		var dateWidth = 10;
+		var categoryWidth = 15;
+		var nameWidth = 0;
+		var formatStr = "";
+		if (console.screen_columns >= 80)
+		{
+			nameWidth = console.screen_columns - dateWidth - categoryWidth - (scoreWidth * 2) - 5;
+			formatStr = "%-" + nameWidth + "s %-" + dateWidth + "s %-" + categoryWidth + "s %" + scoreWidth + "d %" + scoreWidth + "d";
+		}
+		else
+		{
+			nameWidth = console.screen_columns - (scoreWidth * 2) - 3;
+			formatStr = "%-" + nameWidth + "s %" + scoreWidth + "d %" + scoreWidth + "d";
+		}
+		// Print the scores
+		console.center("\x01g\x01hHigh Scores\x01n");
+		console.crlf();
+		if (console.screen_columns >= 80)
+		{
+			printf("\x01w\x01h%-" + nameWidth + "s %-" + dateWidth + "s %-" + categoryWidth + "s %" + scoreWidth + "s %" + scoreWidth + "s",
+			       "Player", "Last date", "Last category", "Total", "Last");
+		}
+		else
+			printf("\x01w\x01h%-" + nameWidth + "s %" + scoreWidth + "s %" + scoreWidth + "s\x01n", "Player", "Total", "Last");
+		console.crlf();
+		console.print("\x01n\x01b");
+		for (var i = 0; i < console.screen_columns-1; ++i)
+			console.print(HORIZONTAL_DOUBLE);
+		console.crlf();
+		// Print the list of high scores
+		console.print("\x01g");
+		if (console.screen_columns >= 80)
+		{
+			for (var i = 0; i < sortedScores.length && i < gSettings.behavior.maxNumPlayerScoresToDisplay; ++i)
+			{
+				var playerName = sortedScores[i].name.substr(0, nameWidth);
+				var lastDate = strftime("%Y-%m-%d", sortedScores[i].last_time);
+				var sectionName = sortedScores[i].last_trivia_category.substr(0, categoryWidth);
+				printf(formatStr, playerName, lastDate, sectionName, sortedScores[i].total_score, sortedScores[i].last_score);
+				console.crlf();
+			}
+		}
+		else
+		{
+			for (var i = 0; i < sortedScores.length && i < gSettings.behavior.maxNumPlayerScoresToDisplay; ++i)
+			{
+				printf(formatStr, sortedScores[i].name.substr(0, nameWidth), sortedScores[i].total_score, sortedScores[i].last_score);
+				console.crlf();
+			}
+		}
+		console.print("\x01n\x01b");
+		for (var i = 0; i < console.screen_columns-1; ++i)
+			console.print(HORIZONTAL_DOUBLE);
+		console.crlf();
+	}
+	else
+		console.print("\x01gThere are no saved scores yet.\x01n");
+	console.crlf();
+	if (typeof(pPauseAtEnd) === "boolean" && pPauseAtEnd)
+		console.pause();
+}
+
+// Displays the game help to the user
+function showHelpScreen()
+{
+	// Construct the header text lines only once.
+	if (typeof(showHelpScreen.headerLines) === "undefined")
+	{
+		showHelpScreen.headerLines = [];
+
+		var headerText = "\x01n\x01c" + GAME_NAME + " Help\x01n";
+		var headerTextLen = strip_ctrl(headerText).length;
+
+		// Top border
+		var headerTextStr = "\x01h\x01c" + UPPER_LEFT_SINGLE;
+		for (var i = 0; i < headerTextLen + 2; ++i)
+			headerTextStr += HORIZONTAL_SINGLE;
+		headerTextStr += UPPER_RIGHT_SINGLE;
+		showHelpScreen.headerLines.push(headerTextStr);
+
+		// Middle line: Header text string
+		headerTextStr = VERTICAL_SINGLE + "\x01n " + headerText + " \x01n\x01h\x01c" + VERTICAL_SINGLE;
+		showHelpScreen.headerLines.push(headerTextStr);
+
+		// Lower border
+		headerTextStr = LOWER_LEFT_SINGLE;
+		for (var i = 0; i < headerTextLen + 2; ++i)
+			headerTextStr += HORIZONTAL_SINGLE;
+		headerTextStr += LOWER_RIGHT_SINGLE;
+		showHelpScreen.headerLines.push(headerTextStr);
+	}
+
+	console.clear("\x01n");
+	// Print the header strings
+	for (var index in showHelpScreen.headerLines)
+		console.center(showHelpScreen.headerLines[index]);
+
+	// Show help text
+	console.center("\x01n\x01cVersion \x01h" + GAME_VERSION);
+	console.center("\x01n\x01c\x01h" + GAME_VER_DATE + "\x01n");
+	console.crlf();
+	var helpText = GAME_NAME + " is a trivia game with a freeform answer format.  The game "
+	             + "starts with a main menu, allowing you to play, show high scores, or quit.";
+	printWithWordWrap("\x01n\x01c", helpText);
+	console.crlf();
+	console.print("\x01n\x01c\x01hGameplay:");
+	console.crlf();
+	console.print("\x01n\x01g");
+	for (var i = 0; i < 9; ++i)
+		console.print(HORIZONTAL_SINGLE);
+	console.print("\x01n");
+	console.crlf();
+	helpText = "When starting a game, there can be potentially multiple trivia categories to "
+	         + "choose from.  If there is only one category, the game will automatically start with that category.";
+	printWithWordWrap("\x01n\x01c", helpText);
+	helpText = "During a game, you will be asked up to " + gSettings.behavior.numQuestionsPerPlay
+	         + " questions per play.  For each question, you are given ";
+	if (gSettings.behavior.numTriesPerQuestion > 1)
+		helpText += gSettings.behavior.numTriesPerQuestion + " chances ";
+	else
+		helpText += "1 chance ";
+	helpText += "to answer the question correctly.  At any time, you an answer Q to quit out of the "
+	         + "question set.  ";
+	if (gSettings.behavior.numTriesPerQuestion > 1)
+	{
+		helpText += "Each time you answer incorrectly, a clue will be given.  The first clue is a "
+		         + "fully-masked answer, which reveals the length of the answer; each additional "
+		         + "clue will have one character revealed in the answer.  ";
+	}
+	helpText += "When the questions have completed, your score will be shown.  When you're done playing, "
+	         + "your current play score, category, and total running score will be saved to the high scores file.";
+	printWithWordWrap("\x01n\x01c", helpText);
+	console.print("\x01n");
+	console.crlf();
+	console.pause();
+}
+
+// Returns a version of a string that is masked, possibly with some of its characters unmasked
+//
+// Parameters:
+//  pStr: A string to mask
+//  pNumLettersUncovered: The number of letters to be uncovered/unmasked
+//  pMaskChar: Optional - The mask character. Defaults to "*".
+function partiallyHiddenStr(pStr, pNumLettersUncovered, pMaskChar)
+{
+	if (typeof(pStr) !== "string")
+		return "";
+	var maskChar = (typeof(pMaskChar) === "string" && pMaskChar.length > 0 ? pMaskChar.substr(0, 1) : "*");
+	var numLetersUncovered = (typeof(pNumLettersUncovered) === "number" && pNumLettersUncovered > 0 ? pNumLettersUncovered : 0);
+	var str = "";
+	if (numLetersUncovered >= pStr.length)
+		str = pStr;
+	else
+	{
+		var i = 0;
+		for (i = 0; i < pStr.length; ++i)
+		{
+			if (i < numLetersUncovered)
+				str += pStr.charAt(i);
+			else
+				str += maskChar;
+			
+		}
+	}
+	return str;
+}
+
+// Prints a string with word wrapping for the terminal width.  Uses word_wrap() and prints a carriage return
+// so that the cursor is at the beginning of the next line.
+//
+// Parameters:
+//  pAttributes: Any attributes to be applied for the text.  Can be null or an empty string for no attributes.
+//  pStr: The string to print word-wrapped
+//  pPrintNormalAttrAfterward: Optional boolean - Whether or not to apply the normal attribute afterward.  Defaults to true.
+function printWithWordWrap(pAttributes, pStr, pPrintNormalAttrAfterward)
+{
+	if (typeof(pStr) !== "string" || pStr.length == 0)
+		return;
+	var attrs = "";
+	if (typeof(pAttributes) === "string" && pAttributes.length > 0)
+	{
+		//console.print("\x01n" + pAttributes);
+		attrs = "\x01n" + pAttributes;
+	}
+	//console.print(word_wrap(pStr, console.screen_columns-1, console.strlen(pStr), false));
+	//console.print("\r");
+	console.putmsg(attrs + pStr, P_WORDWRAP|P_NOATCODES);
+	var applyNormalAttr = (typeof(pPrintNormalAttrAfterward) === "boolean" ? pPrintNormalAttrAfterward : true);
+	if (applyNormalAttr)
+		console.print("\x01n");
+}
+
+// Given a string of attribute characters, this function inserts the control code
+// in front of each attribute character and returns the new string.
+//
+// Parameters:
+//  pAttrCodeCharStr: A string of attribute characters (i.e., "YH" for yellow high)
+//
+// Return value: A string with the control character inserted in front of the attribute characters
+function attrCodeStr(pAttrCodeCharStr)
+{
+	if (typeof(pAttrCodeCharStr) !== "string")
+		return "";
+
+	var str = "";
+	for (var i = 0; i < pAttrCodeCharStr.length; ++i)
+		str += "\x01" + pAttrCodeCharStr[i];
+	return str;
+}
\ No newline at end of file
diff --git a/xtrn/gttrivia/install-xtrn.ini b/xtrn/gttrivia/install-xtrn.ini
new file mode 100644
index 0000000000..985b73f815
--- /dev/null
+++ b/xtrn/gttrivia/install-xtrn.ini
@@ -0,0 +1,11 @@
+Name: Good Times Trivia
+Desc: A question and answer based trivia game. Supports multiple trivia categories.
+By:   Nightfox -at- digitaldistortionbbs.com (or digdist.synchro.net)
+Cats: Games
+Subs: Trivia, JavaScript
+Inst: $Id: install-xtrn.ini,v 1.1 2022/11/17 15:48:20 nightfox Exp $
+
+[prog:GTTRIVIA]
+cmd  = ?gttrivia.js
+settings = XTRN_MULTIUSER
+required = true
\ No newline at end of file
diff --git a/xtrn/gttrivia/qa/converter.js b/xtrn/gttrivia/qa/converter.js
new file mode 100644
index 0000000000..8193ffa004
--- /dev/null
+++ b/xtrn/gttrivia/qa/converter.js
@@ -0,0 +1,130 @@
+require("sbbsdefs.js", "K_NOCRLF");
+
+
+var inputFilename = "/mnt/data/SharedMedia/triviaQuestions/music_and_movies.txt";
+var outputFilename = inputFilename + "-converted.txt";
+
+print("");
+print("Converting " + inputFilename);
+print("Output: " + outputFilename);
+print("");
+
+var inFile = new File(inputFilename);
+var outFile = new File(outputFilename);
+if (inFile.open("r"))
+{
+	if (outFile.open("w"))
+	{
+		var question = "";
+		var answer = "";
+		var questionLimit = 0; // Temporary
+		var numWritten = 0; // Temporary
+		while (!inFile.eof /*&& (questionLimit > 0 && numWritten < questionLimit)*/)
+		{
+			var fileLine = inFile.readln(4096);
+			// I've seen some cases where readln() doesn't return a string
+			if (typeof(fileLine) !== "string")
+				continue;
+			fileLine = fileLine.trim();
+			if (fileLine.length == 0)
+				continue;
+
+			/*
+			//print(fileLine); // Temporary
+			if (fileLine.indexOf("Trivia Question:") == 0)
+			{
+				question = fileLine.substr(16).trim();
+				//print("- Here 1 - question:" + question + ":"); // Temporary
+			}
+			else if (fileLine.indexOf("Answer:") == 0)
+			{
+				answer = fileLine.substr(7).trim();
+				//print("- Here 2 - answer:" + answer + ":"); // Temporary
+			}
+			else // Assume it's part of the question
+			{
+				question += " " + fileLine;
+				//print("- Here 3 - question:" + question + ":"); // Temporary
+			}
+			*/
+			//print(fileLine); // Temporary
+			if (fileLine.indexOf("Answer:") == 0)
+			{
+				answer = fileLine.substr(7).trim();
+				//print("- Here 2 - answer:" + answer + ":"); // Temporary
+			}
+			else
+			{
+				question = fileLine;
+				// Search for and remove the number (and period) at the beginning of the question
+				var dotIdx = question.indexOf(".");
+				if (dotIdx >= 0)
+					question = question.substr(dotIdx+1).trim();
+				//print("- Here 3 - question:" + question + ":"); // Temporary
+			}
+
+			/*
+			// Temporary
+			print("");
+			print("Question length: " + question.length);
+			print("Answer length: " + answer.length);
+			print("");
+			// End Temporary
+			*/
+			
+			if (question.length > 0 && answer.length > 0)
+			{
+				/*
+				// Temporary
+				print("- Writing:");
+				print(question);
+				print(answer);
+				print("");
+				// End Temporary
+				*/
+				outFile.writeln(question);
+				outFile.writeln(answer);
+				outFile.writeln("10");
+				outFile.writeln("");
+				//++numWritten; // Temporary
+
+				question = "";
+				answer = "";
+				//numPoints = -1;
+			}
+
+
+			/*
+			if (question.length == 0)
+				question = fileLine;
+			else if (qnswer.length == 0)
+				qnswer = fileLine;
+			//else if (theNumPoints < 0)
+			//	theNumPoints = +(fileLine);
+			*/
+		}
+		outFile.close();
+		print("Done.");
+		print("");
+	}
+	else
+		print("* Failed to open " + outputFilename + " for writing!");
+	inFile.close();
+}
+else
+	print("* Failed to open " + inputFilename + " for reading!");
+
+
+
+
+////////////////////////////////////////////////////////////////////
+// Functions
+
+
+// QA object constructor
+function QA(pQuestion, pAnswer, pNumPoints)
+{
+	this.question = pQuestion;
+	this.answer = pAnswer;
+	this.numPoints = pNumPoints;
+}
\ No newline at end of file
diff --git a/xtrn/gttrivia/qa/dirty_minds.qa b/xtrn/gttrivia/qa/dirty_minds.qa
new file mode 100644
index 0000000000..d812a1f8d8
--- /dev/null
+++ b/xtrn/gttrivia/qa/dirty_minds.qa
@@ -0,0 +1,2423 @@
+I can be used for stroking. You hold me by my hard end. If I'm too stiff, I can make you raw.
+Hair brush
+10
+
+When I go in I might cause pain. I cause you to spit and ask you not to swallow. I can fill your hole.
+Dentist
+10
+
+A finger goes in me. You fiddle with me when you're bored. The best man always has me first.
+Wedding ring
+10
+
+I'm spread before I'm eaten. Your tongue gets me off. People sometimes lick my nuts.
+Peanut butter
+10
+
+I go in hard. I come out soft. You blow me hard.
+Chewing gum
+10
+
+All day long, it's in and out. I discharge loads from my shaft. Both men and women go down on me.
+Elevator
+10
+
+I come in many sizes. When I'm not well, I drip. When you blow me, you feel good.
+Nose
+10
+
+If I miss, I hit your bush. It's my job to stuff your box. When I come, it's news.
+Newspaper
+10
+
+I offer protection. I get the finger ten times. You use your fingers to get me off.
+Gloves
+10
+
+I assist an erection. Sometimes big balls hang from me. I'm called a big swinger.
+Crane
+10
+
+What fits neatly between your breasts, works best when tugged, and fits snugly into a hole?
+Seatbelt
+10
+
+You stick your poles inside me. You tie me down to get me up. I get wet before you do. 
+Tent
+10
+
+I'm long, hard, and powered by batteries, I give off a steady stream, and people grope for me in the dark?
+Flashlight
+10
+
+I get laid in an alley. I often end up in the middle of your split. When you slip your finger inside me, I'm ready to roll.
+Bowling ball
+10
+
+What's long and hard and squirts when you squeeze it?
+Squirt gun
+10
+
+All men have it. Some have it long, and some have it short. The pope doesn't use it. When a man gets married, the wife gets it?
+Last name
+10
+
+Playing with me long enough could make you go blind. You have to stick something in my slot before you get started. My joystick can give you a cramp?
+Video game
+10
+
+Press the right button and I'll come all over your face. I usually get spread over your hairy parts. When you wipe me off, I get white stuff on your towel?
+Shaving cream
+10
+
+I can be hard or soft and still get it off. Finger my plunger and I'll come in your hand. I always come in hotel bathrooms.
+Soap
+10
+
+You suck on me with your mouth. I can't stay hard forever. There's sometimes lipstick on my stick when you're done.
+Popsicle
+10
+
+When I go down on you, you won't be happy. When you're on me, the whole world is your oyster. Be careful: Without protection, you might catch something nasty?
+Internet
+10
+
+The hotter I am, the harder I get. I can only get laid once. The arguement is whether I came first.
+Egg
+10
+
+If you really want me, you'll have to expose yourself. If you get naked, I'll be all over you. You should use protection or else you could get a nasty disease?
+Suntan
+10
+
+You slide me in a slit to get me hot. Your gooey liquid fills my holes. You eat me in the morning.
+Waffle
+10
+
+I sometimes get  balls caught in my throat. My Box smells. I can have a little pussy.
+Cat
+10
+
+I did it with chickens. You lick your fingers after eating my meat. Big succulent breasts were my business. Who am I?
+Colnel Sanders
+10
+
+I'm the Granddaddy of all wet spots. I smell fishy. Men plunge into me.
+Ocean
+10
+
+I try to do it with sheep. I try all nigh tto get the right position. I only sleep in snatches.
+Insomniac
+10
+
+Over 1000 people went down on me. I wasn't a maiden for long. A big hard thing ripped me open.
+The Titanic
+10
+
+It's a premature evacuation. It's an alarming discharge. Some men wear rubbers during one. What is it?
+Fire drill
+10
+
+I have a stiff shaft. My tip penetrates. I come with a quiver.
+Arrow
+10
+
+I get suck with a piece of meat between the buns. When I get old, I get limp. You're never satisfied with a little head.
+Lettuce
+10
+
+I usually tickle. I sit on a man's face. I'm hairy.
+Mustache
+10
+
+I have to be up to be of service. I'm bad luck when I'm up inside. If you hold me erect, I won't drip on you.
+Umbrella
+10
+
+If you push on my head, I go in. You have to pull me out when you're done with me. I can prick you.
+Thumbtack
+10
+
+Two people grab my joint. You wish for my big piece. I'm a double boner.
+Wishbone
+10
+
+I have the right tool for your crevice. You're dirty when you grab my hose. I'm a dirt bag that sucks.
+Vacuum cleaner
+10
+
+I have an oozing hole. I shoot my rocks off. My shaft is hot and steamy.
+Volcano
+10
+
+You grope for me in the dark. You put your hand in your pocket and fiddle with me. I will only work in the right hole.
+Key
+10
+
+I'm a huge vibrator. When you're on me, the earth moves. I can give you a big crack.
+Earthquake
+10
+
+I'm mounted by experts. I'm fondled by winners. I'm an exciting climax.
+Trophy
+10
+
+I need licking before the pricking. My end slides in a very small hole. I can slip out at the wrong moment.
+Thread
+10
+
+People eat me. I'm best when I'm hot and juicy. They love my sausage.
+Pizza
+10
+
+I've got a big red protrusion. I come once a year. I get pulled by a Vixen.
+Santa Claus
+10
+
+They make passes. They dribble before they shoot. Cousey was a little one. What are they?
+Basketball players
+10
+
+I stick my nose in private places. I'm a dick. I'm sneaky when I'm on a tail.
+Detective
+10
+
+I use my tool on your body. I do it in cars. I love to play with your parts.
+Mechanic
+10
+
+I happen when you're in the hole. When you're in me, everyone knows you're flat. When you do it, you're belly up.
+Bankruptcy
+10
+
+I'm game. I end in U-C-K. I'm horny.
+Buck
+10
+
+I'm the most fun when I'm going up & down. There's a string hanging out of me. I can do tricks all day.
+Yo-Yo
+10
+
+I'm hot and steamy. I work better on something wet. I get the wrinkles out.
+Iron
+10
+
+I'm surrounded by joints. The wolf couldn't blow me. I get laid by professionals.
+Brick
+10
+
+I come in a hole. Men eat me in the morning. I can leave a glaze on your face.
+Donut
+10
+
+We get jumped repeatedly. When we're stacked, we can go either way. We can only get laid on the black ones. What are we?
+Checkers
+10
+
+I'm always very attractive. I'm always very repulsive. I'm always either pushing or pulling.
+Magnet
+10
+
+I sometimes blow a rod. Oil makes me stroke much smoother. I can be used for pumping.
+Engine
+10
+
+I'm somewhere between your cheeks. When there's pain, you take me out. When I'm strong, my root runs deep.
+Tooth
+10
+
+Peckers bang me. There's sticky stuff inside me. My root is long and gnarly.
+Tree
+10
+
+I can get stiff. I have a deep throat inside me. Men have hair growing out of me.
+Neck
+10
+
+I'm about 11 inches long. I can prove that you're a man. The doctor checks my box.
+Birth certificate
+10
+
+I make your hair sticky. I come out white and creamy. I can make your head stuff and hard.
+Mousse
+10
+
+My hands are on my Wang. I love to fondle my Apples. I can use it floppy or hard.
+Programmer
+10
+
+I've got blue balls. One ball is white and one ball is black. You get more action with a powdered tip.
+Billiards
+10
+
+I'm long and usually stiff. When I get hot, I expand. They call me a tube steak.
+Hot dog
+10
+
+I get fingered a lot. People stick things in me. I sometimes get laid on my spine.
+Book
+10
+
+Men like to lay rubber on me. People sometimes pay to ride on me. I'm slippery when wet.
+Road
+10
+
+I average about six inches in length. I'm cool. I can last for days. When I get old, I get soft.
+Cucumber
+10
+
+I get hair stuck in my teeth. I massage roots. I can be used for stroking.
+Comb
+10
+
+I sometimes have a gerbil inside of me. My opening is big enough for your hand. If you're using me, you're an animal.
+Cage
+10
+
+I'm pink and moist. My juice makes you pucker. I'm split down the middle.
+Grapefruit
+10
+
+I'm about six inches long. I have nuts. I can make a woman fat.
+Candy bar
+10
+
+I do it in the road. I know the best places to eat. I can get a new Peterbuilt.
+Truck driver
+10
+
+A man does it standing up. A woman does it sitting down. A dog does it on three legs.
+Handshake
+10
+
+They stand out in front. They're always at attention. They do it for Queens. What are they?
+Palace guards
+10
+
+I'm white and gooey. I'm sticky when I'm hot. Campers like me in their mouth.
+Marshmallow
+10
+
+One of my guys is a queen. I take hours to finish. Mating is my object.
+Chess
+10
+
+I fit in-between your legs. You make me go faster by whipping me. If you ride me too long, you walk funny.
+Horse
+10
+
+I start with a C. I end with a T. I stand for pussy. What word am I?
+Cat
+10
+
+I rise up for a big stack. I'm slippery when wet. I lay across a crevice.
+Bridge
+10
+
+You use me during a big affair. The more you eat, the tighter I get. I'm always rubbing belly buttons.
+Cummerbund
+10
+
+My balls are fuzzy. Take a good grip on my handle. One person's out of love at the end.
+Tennis
+10
+
+You stick me in your holes. My points are soft. I come in a box.
+Cotton swab
+10
+
+I usually come in big cups. I sometimes get sucked. I come out thick and creamy.
+Milkshake
+10
+
+My cavity is filled with seed. The knockers know if I am ready. When you eat me, I drip down your chin.
+Melon
+10
+
+When I'm hot, I rise. Sometimes, yeast is a problem. Your fists can make me flaccid.
+Dough
+10
+
+I give hand jobs. You're rough coming in & smooth going out. I fondle your digit.
+Manicurist
+10
+
+We sometimes have big knockers. You can ring our chimes with only one finger. We're all swingers. What are we?
+Doors
+10
+
+I get hosed regularly. Your seed goes in me. You sow your wild oats in me.
+Garden
+10
+
+I am well hung. My rod is long and round. Pull me to straighten my folds.
+Drapes
+10
+
+I'm usually over 10 inches. Battery operated gadgets turn me on. You can play with my knobs.
+Television
+10
+
+As I get heated up, I start to drip. You can tell when I'm almost ready by smelling me. When I'm done, it comes out of my spout.
+Coffee pot
+10
+
+I get smaller by the time I'm done. I'm sometimes a quickie. You love me stuffed between your buns.
+Hamburger
+10
+
+I'm a good place to hide your salami. I'm better when I'm frigid. You should stick your meat in my drawers.
+Refrigerator
+10
+
+I'm red and messy. I am soaked up by a napkin. I am sometimes wiped off a wiener.
+Ketchup
+10
+
+I usually take it in the rear. You can smell it on your hands when you're done. It takes a long hose to fill me.
+Gas tank
+10
+
+I last a long time when conditions are right. You never know how many inches you'll get. You never know when I'm going to come.
+Snowstorm
+10
+
+My business is in my briefs. I am a cunning linguist. I plead for it.
+Lawyer
+10
+
+I'm in your pants. A whole hand fits inside of me. I hold your wrinkled ones.
+Pocket
+10
+
+If I drip, something is wrong with me. When I'm turned on, I start to flow. You grab my handle to make me squirt.
+Faucet
+10
+
+I spend the whole day banging. I know how to work a stud. I pound away until the head is in.
+Carpenter
+10
+
+I can cruise on the right piece of tail. I get farthest when I'm blown. If you pull too hard, you can jerk me off.
+Kite
+10
+
+I keep my privates at attention. Men get stiff at the sight of me. I can order your invasion.
+General
+10
+
+I have a big butt. People suck on me. I come in a box.
+Cigar
+10
+
+All day long, it's in and out. I get it up twice a day. I'm always coming on the beach.
+Tide
+10
+
+I make some guys shoot into the air. I've usually got a little pecker. I'm better in your hand than your bush.
+Bird
+10
+
+You're stiff when you bite me. Feathers help to get me off. To get me off fast, you blow me.
+Dust
+10
+
+The more you bang me, the looser I get. You have to screw me to get me up. If I'm well hung, I swing.
+Screen door
+10
+
+I'm often horny. I love to tongue a fly. I change pads regularly.
+Toad
+10
+
+You rube me on my box to get me started. I come in a book. After you've blown me, I'm still hot.
+Match
+10
+
+I do it in satin. I'm little, but I have a big thing between my legs. I come out of the post.
+Jockey
+10
+
+You grunt a lot when you do me. Getting too much of me makes you sore. I can make your muscle bulge.
+Weight lifting
+10
+
+I keep falling out. I get off after I stuff my chute. Join me in a jump any time.
+Sky diver
+10
+
+I do it with class. My tests are positive. I pound it into you every day.
+Teacher
+10
+
+I don't last long if you're too rough. People are always playing with me. I get laid under the Christmas tree.
+Toy
+10
+
+I get turned on by people in heat. Blowing is my specialty. Sticking your finger in me is dangerous.
+Fan
+10
+
+I sometimes go down on you. My bytes don't bruise. I can drive it floppy or hard.
+Computer
+10
+
+I make you breathe heavy. You do me in many different positions. I can make your muscle hard.
+Exercise
+10
+
+Prolong makes me last. My balls are shiny. You get me up once a year.
+Christmas tree
+10
+
+I have a ripe juicy cherry. My mounds are luscious. One of my parts is slit down the middle.
+Banana split
+10
+
+In the Spring, I come in several colors. I have to be hard for you to use me. I get laid in the grass.
+Easter egg
+10
+
+Pulling on my ears gets me off. A little oil gets me heated up. It's hard to eat me without teeth.
+Corn
+10
+
+I am stacked. Sticky goo drips off me. Butter is rubbed on me before I'm eaten.
+Pancakes
+10
+
+I have big white balls. I drip when I heat up. People stick a carrot in me.
+Snowman
+10
+
+When I get old, I sag. There can be two of me under your tongue. Sometimes, it's hard to keep me up.
+Chin
+10
+
+The closer you get to discharge, the better you feel. Members stand at attention. One man drills the others.
+Army
+10
+
+I can be a roll with your honey. I can be a hot sausage. I can be ripe juicy melons.
+Breakfast
+10
+
+If you're tired, you can stop me. When you stuff my slot, I perform. When I do it, people watch.
+VCR
+10
+
+I licked all the other girls. I'm a queen. I do it in high heels.
+Miss America
+10
+
+Your hands move me into the right position. I stick up between two people. If I'm in a small one, I rub against your leg.
+Gear shifter
+10
+
+My balls get shot off. A stiff rod gets me ready. I sometimes have a man inside me.
+Cannon
+10
+
+You love to lick me. After your mouth works on me, I get sticky. The climax comes when you chew my stick.
+Lollipop
+10
+
+I'm full of seamen. I can go down for long periods. I'm a deep plunger.
+Submarine
+10
+
+It's hard to get me off. The rear is where I usually get stuck. I drive home your point.
+Bumper sticker
+10
+
+You get eaten three times for a quarter. Blinky & Speedy move inside of me. You get excited playing with my knobs.
+Pac Man
+10
+
+Use me carefully or my tip will break off. The longer I go, the smaller I get. I usually have a rubber.
+Pencil
+10
+
+I can go both ways. I'm a much better ride if you push. I'm safe when I'm well hung.
+Swing
+10
+
+If I miss a period, it's my mistake. I usually need a pad. I sometimes do it in a pool.
+Secretary
+10
+
+Hans stuck his finger in me. Dam it? I do it. Get ner my crack or I'll leak all over you.
+Dike
+10
+
+I get a rise from your pole. If I'm not getting blown, I go limp. I'm prominently hung.
+Flag
+10
+
+I'm designed to pierce women. I dangle from your appendage. Losing me leaves you with an empty hole.
+Earring
+10
+
+When I'm pulled out, I get made. I involve cushion and pushin'. You tuck me away and sit on me.
+Sofa bed
+10
+
+I come out of the closet. A pole grows out of my bristles. When you're done, you shake me off.
+Broom
+10
+
+I was made to bang skin. I can be a beat off. I use rhythm.
+Drum stick
+10
+
+I have to roll up my hose when I'm done. I wear rubber for protection. I come down a pole when you need me.
+Fireman
+10
+
+I'm humped. When people ride me, they sweat. I can go for hours without a wet spot.
+Camel
+10
+
+I'm not supposed to expose myself. In the dark, I get stuck in the can. I curl around your spool.
+Film
+10
+
+Everyone wants my big box. If I get too hot, I drip on you. The more you use me, the smaller I get.
+Crayon
+10
+
+You can screw my mouth. I keep hot things inside of me. I'm long, hard, and fit in a box.
+Thermos
+10
+
+I'm caught in the act. I swing for a living. When I do it, I'm high.
+Trapeze artist
+10
+
+I'm a good spot to eat out. You lay your tip down in me. My tasty little morsels can make your mouth water.
+Restaurant
+10
+
+My balls hang out in front. Everything inside me is used. I pay you for your old thing.
+Pawn shop
+10
+
+After me, some people light a cigarette. I require being eaten. I'm the last thing some people do at night.
+Supper
+10
+
+Men get paid to work on my shaft. My tunnel sees plenty of action. It takes tools to get my rocks off.
+Mine
+10
+
+People love to taste my slice. You have to prick me to see if I'm ready. I'm easy.
+Pie
+10
+
+It takes at least two positions to make me. Everyone tries to drive home their point. I'm an oral exercise.
+Debate
+10
+
+Sometimes I'm a queen. I can have several spades on me at once. Having one big one is usually the best.
+Playing card
+10
+
+I put my head on a hairy opening. I do it with animals. It's easier when I use a whip.
+Lion tamer
+10
+
+When I'm in your head, you start blowing. Sometimes you have to go to bed with me. I can really get into your chest.
+Cold
+10
+
+I'm made to clean out your crevice. You stick me in-between. Pulling my string gets rid of debris.
+Dental floss
+10
+
+I am a novel lover. I have Dewey digits. Dirty books are part of my job.
+Librarian
+10
+
+I vibrate to get your rocks off. You have to hold me tight and press me against your belly. I do it so loudly, everyone can hear.
+Jackhammer
+10
+
+You eat me, even though I'm not completely hard. When you stick something in me, I jiggle. You have to get me wet and hot to make me.
+Jello
+10
+
+My opening can hold a whole cucumber. I can handle a couple of carrots at one time. It's painful to stick your finger in too far.
+Food processor
+10
+
+The more you play with me, the harder I get. I come in several colors. You can get me in a million positions.
+Rubik's cube
+10
+
+I eventually come out of the closet. My snatch was world famous. I was picked up by the fuzz.
+Patty hearst
+10
+
+Men come to me when they need a little trim. My pole stands out in front. I'll take care of your head.
+Barber
+10
+
+I get paid to play with my plunger. I rod out your hole. My mind is in the sewer.
+Plumber
+10
+
+The harder my log, the longer I go. I get my ashes hauled. The more you poke me, the hotter I get.
+Fireplace
+10
+
+I've got a big crack. My dong was revolutionary. People stand in line to see my slit.
+Liberty bell
+10
+
+I'm better with a little head. If you go too fast, I dribble down your chin. You have to open your throat to get me down.
+Beer
+10
+
+You sometimes get a little on the side. Using me too much can make yours lip. I come in a bottle.
+Salad dressing
+10
+
+I am constantly knocking off a piece. I stop pounding when I'm satisfied. I'm a bust man.
+Sculptor
+10
+
+I rise for the occasion. People love to lick my topping. A loud noise can make me go limp.
+Cake
+10
+
+I'm one way to save a beaver. I'm cheap. You don't know I'm faking it.
+Fun fur
+10
+
+I sometimes feature a little head. Licking my backside does the trick. To work well, I must be wet & sticky.
+Stamp
+10
+
+One prick and it's all over. When you blow in my hole, I get bigger. Suck on me and your voice gets higher.
+Balloon
+10
+
+I'm not a hunt-and-pecker. I never miss a period. I can hit 'u' and 'p' at the right time.
+Typist
+10
+
+You have to pull out carefully. It's easy to get banged. You're supposed to fit into one tight slot.
+Parking lot
+10
+
+I whistel while my nuts are burning. I peddle it on street corners. You pay to eat my nuts.
+Peanut vendor
+10
+
+I do it with boots and a whip. The bad ones are usually hung. When I'm mounted, I'm working.
+Cowboy
+10
+
+Sailors like to make me. I can be a wild ride. I'm white, foamy and come on shore.
+Wave
+10
+
+I'm no big thing unless you're not getting any. I get sucked. I make breasts rise and fall.
+Air
+10
+
+To most people, I'm a wet dream. I sometimes have a little dinghy. I usually have several mates.
+Yacht
+10
+
+I'm a four letter word. I mean woman. I end in UNT.
+Aunt
+10
+
+I can only poke you once. Penetration is my thing. You feel better when I'm done.
+Hypodermic
+10
+
+My bag is big and heavy. I come in all kinds of weather. I fill your box.
+Mailman
+10
+
+Many men enter me. Everyone tries to stick it out. None of them can finish too soon.
+Marahon
+10
+
+The men in me should wear two rubbers. I can make you drip. When I fall, I make a wet spot.
+Rain
+10
+
+I'm wet but frigid. My tip points up. You have to go down to see the most of me.
+Iceberg
+10
+
+One of my slots takes bigger ones. One of my slots takes smaller ones. I won't let you use your mouth until you pay me.
+Pay phone
+10
+
+I'm a safe place for sailors to come. When you're in me, you drop off your load. I can protect you from a blow.
+Harbor
+10
+
+Sometimes people shoot me. Sometimes I get bitten. I get stuck in your chamber.
+Bullet
+10
+
+I can give you head. I can give you tail. I'm hard and you can play with me in your pocket.
+Coin
+10
+
+If I'm face down, I'm in the hole. I can only have one big club. I can be used to beat a queen.
+Ace
+10
+
+When I come, the night's all over. I can't do it in the dark. I always get it up in the morning.
+Dawn
+10
+
+You have to worry to eat me out. I'm only good for pumping. The liquid in me comes in spurts.
+Heart
+10
+
+Pump my crank to get a rise out of me. When you're flat, you need me. You have to get me up to get your nuts off.
+Jack
+10
+
+I can't come too often. I usually come only once a week. I help you with your deposit.
+Payday
+10
+
+It's my job to make a crack. I'm supposed to tickle your bone. Sometimes, I make you groan.
+Comedian'
+10
+
+You are usually naked when you come inside me. I am hot and moist. You wipe up with a towel when you're done.
+Steam room
+10
+
+After withdrawal, you lose interest. I get bigger after your deposit. Open me up and see how I grow.
+Bank account
+10
+
+I come in the mail. I'm sometimes made of rubber. You have to enter me to keep your balance.
+Check
+10
+
+I've got two lips in the middle. I've got a cheek on either side. A tongue is stuck in one of my holes.
+Face
+10
+
+I sometimes cut the cheese. You could call me gay. I can be used to stick you.
+Blade
+10
+
+You fill my chamber before you shoot. You have to swab my dirty barrel. I explode when you hammer me.
+Gun
+10
+
+I can be popped on you at any time. Sometimes I'm oral. You can't score unless you're responsive.
+Quiz
+10
+
+I stick carrots in my hole. I'm always jumping from hole to hole. People have a fetish for my feet.
+Rabbit
+10
+
+If I'm doing 69, I'm breaking the law. Sometimes, I have to get jumped. I can take more than one person inside of me.
+Car
+10
+
+I come in several colors. When I come out, it's wet. I'm long, narrow, and bent.
+Rainbow
+10
+
+If you squeeze me, I spurt. I'm the first thing you put in your mouth in the morning. I'm usually spit, not swallowed.
+Toothpaste
+10
+
+I'm horny. I'm covered with kinky hair. I specialize in the butt.
+Ram
+10
+
+If you're not hairy, you don't need me. I can give you a big gash. When I'm sharp, I can penetrate anyone.
+Razor
+10
+
+I get blown regularly. To do me, you have to put your lips to gether. I get grabbed when you're out of bounds.
+Whistle
+10
+
+I discharge into a larger body. You can get a good ride on me. My rocks are wet.
+River
+10
+
+I'm always on top, unless I get blown. You have to be careful when you get off me. I get wet first.
+Roof
+10
+
+You must fold me in half to get me in. I come in a box. Licking my container really sends me.
+Letter
+10
+
+I usually make a big wet spot. I get screwed on your spout. I get laid on your lawn.
+Garden hose
+10
+
+I'm a cheap piece. It takes for of me to make George. I often get stuffed in a slot.
+Quarter
+10
+
+I have designs on your body. After I'm done, there are always stains. You pay me to poke you, but it hurts.
+Tattoo artist
+10
+
+I contain a log. I work better when I'm tied up. You can only ride me in water.
+Raft
+10
+
+When you need it most, you can't get it. When you use it too much, it gets cut off. Its period ends once a month. What is it?
+Credit
+10
+
+I'm into leather and handcuffs. My big stick hangs from my waist. I can pull out when you least expect it.
+Policeman
+10
+
+You've had me in the great outdoors. You usually lay me on a blanket. I sometimes come in a basket.
+Picnic
+10
+
+I go to bed with you. All I ever get is head. Pounding me can make me soft.
+Pillow
+10
+
+My tip pokes into your can. When I'm finished, you can start sucking. You have to use the rim to penetrate.
+Can opener
+10
+
+Using my throat is my business. I know how to use my diaphragm. I perform orally.
+Singer
+10
+
+Nerves can drive you up me. I can have several cracks. It takes several studs to make me.
+Wall
+10
+
+I am covered with dense growth. I am hot, moist, and dark inside. It's dangerous to be inside me without protection.
+Jungle
+10
+
+Someone with a big mouth can bend me. My hole is always vibrating. There is sometimes hair growing out of me.
+Ear
+10
+
+During me, one person is on his knees. I could be called popping. A woman has to say yes for me to work.
+Proposal
+10
+
+Grandmas are usually wrinkled and drooping. You stick your appendage inside of me. When I'm old, I'm too stretched out to be useful.
+Stockings
+10
+
+To your snake, I'm just a piece of tail. Your little one loves to play with me. You can make me by sticking rocks in your can and shaking.
+Rattle
+10
+
+Squeeze me right and I'll erupt on you. You use cream to fill my crater. When you're oily, you make it easier for me to come.
+Pimple
+10
+
+A couple of good yanks will get me off. Wiggle me too much and I'll pop. I'm made to be stuffed down a throat.
+Cork
+10
+
+I get turned on by men in charge. You're always finished before I am. Sitting on me can make your body writhe.
+Electric chair
+10
+
+My stem is long and stiff. Little pricks are usually foudn in my bush. I get limp when I get old.
+Rose
+10
+
+My nuts get eaten and my fruits get licked. When you're in this state, you can feel the earth move, I have a large crack.
+California
+10
+
+I'm good at faking it. I get spread before I'm eaten. I sometimes come in a tub.
+Margarine
+10
+
+My discharges are electrifying. After me, you get the clap. Your rod attracts me.
+Lightening
+10
+
+Athletic men are always on my box. I get limp if I sit around too long. I am usually eaten in the morning.
+Wheaties
+10
+
+Sydney is gay. My bush is thick. You have to go down to find me.
+Australia
+10
+
+If I'm Greek, I'm wrinkled. Sometimes, my hole gets stuffed. After one martini, you can eat me.
+Olive
+10
+
+I'm hard and round. I have a hole in the middle. You can suck on me for a long time.
+Life Saver
+10
+
+I rest between periods. I'm sometimes in the box. I score in the crease.
+Hockey player
+10
+
+You play with yourself. One woman lies between two men. The queen goes down on the king.
+Solitaire
+10
+
+You hve to loosen your grip to get off. You can get it up many times a day. You always start on the bottom.
+Ladder
+10
+
+I have three Johns. I have two Peters. My opening is a religious experience.
+The Bible
+10
+
+A stiff one is inside of me. Getting laid with me is the last thing you'll do. I plunge into a dark hole.
+Coffin
+10
+
+I don't work well unless you swallow. You gently place me in your mouth. I can make you gag.
+Pill
+10
+
+You have to get up before you can go down on me. You have to climb on me before you can do it. I have to be slippery to be fun.
+Slide
+10
+
+I'm a rubber that keeps you up. You blow me until I can't take any more. You squeeze into my hole.
+Inner tube
+10
+
+I can be a pain in your joint. The more active I am, the stiffer you get. I can make you bend over.
+Arthritis
+10
+
+I vibrate. I'm a lot of fun between your legs. I can handle two at a time.
+Motorcycle
+10
+
+I'm going through the change. Everyone wants into my drawers. The old ones inside of me are usually wrinkled.
+Cash register
+10
+
+I start with an 'F'. I end with a 'K'. If you can't get me, you have to use your hands.
+Fork
+10
+
+I'll beat my meat for you. You could call me a butt peddler. I can choke your chicken.
+Butcher
+10
+
+I'm long, hard, and my tip points up. A monkey sometimes rides me. At just the right moment, I shoot off.
+Rocket
+10
+
+I sometimes get licked. Quick blows are my specialty. I'm always ready to swing.
+Boxer
+10
+
+I'm six to twelve inches long. If I'm bent, I don't measure up. If you turn me over, I'm just as good.
+Ruler
+10
+
+My balls are kind of small. I'm a real swinger. The action is in the head of my stick.
+Golfer
+10
+
+I only get eaten on special occasions. My breasts are big and juicy. You have to pull my legs apart to stuff me.
+Turkey
+10
+
+I hardly ever pull out in time. I penetrate dark tunnels. When I'm coming, I blow.
+Train
+10
+
+I was made for rubbing. You can use me to get it off. The rougher I am, the more you use me.
+Sandpaper
+10
+
+I wrap around your ears. When I sit on your face, things get bigger. Your protrusion holds me up.
+Glasses
+10
+
+I can make you kinky. I have a hot barrel. There's sometimes hair left on my rod.
+Curling iron
+10
+
+I have an expanding rod. You fiddle with my knobs. Sometimes, a new position gets me in better.
+Radio
+10
+
+I throb when I'm excited. A massage brings me back to life. Pumping is my business.
+Heart
+10
+
+I'm hard to eat. My slice will make you pucker. If you squeeze me wrong, I squirt in your eye.
+Lemon
+10
+
+I can do it upstairs or down. I usually come in the rear. I sometimes make my living on my knees.
+Maid
+10
+
+When I get hot, I drip. I'm long and hard until I'm overheated. A total stranger dips my wick.
+Candle
+10
+
+Your legs wrap tight around my pole. You go up and down on me. Both your hands grip my handle.
+Pogo stick
+10
+
+You grab my horn and get on me. When you're in me, you're riding. When you're in the stirrups, you've got me cinched.
+Saddle
+10
+
+I can be soft or hard. I cover your nuts. You have to remove me to eat.
+Shell
+10
+
+I get blown by criminals. I'm a strong receptacle for the family jewels. You fiddle with my knobs to get to my opening.
+Safe
+10
+
+Too much of me can make you dry. Turn me over and I'll sprinkle. I come from rocks.
+Salt
+10
+
+To use me, you have to make me move up and down. I work better with someone at each end. You hve to be seated to go down on me.
+See-saw
+10
+
+I've got a deep dark hole. Fluid gets pulled out of me. Men drill me.
+Well
+10
+
+We stick out of your cheeks. Your face lies between us. We're the kinky growth next to your holes. What are we?
+Sideburns
+10
+
+You have to be brave to ride me. I can pound it day and night. I swell before I come.
+Surf
+10
+
+I'm long, hard, and pointed. You try to stay up when you go down on me. I make better sport when I'm slippery.
+Ski
+10
+
+You have to move your lips to do me. I'm an upward extension of your fleshy parts. When I come, I slide across your teeth.
+Smile
+10
+
+I'm long and round with a hole in my middle. People sometimes suck on me. If you blow me, I can shoot.
+Straw
+10
+
+I'm a form of oral intercourse. Some people do me with their hands. Some do me to themselves.
+Talking
+10
+
+Liquid comes up my tube. When I get hot, I start to rise. At night, I'll usually go down on you.
+Thermometer
+10
+
+It takes me 3 minutes to get hard. I come in a box with 11 others. My own mother sits on me.
+Egg
+10
+
+You can't get me without vibration. Banging is one. Sticking something in your hole makes me soft.
+Noise
+10
+
+If you're hung, you've used me. I don't have to be big to make you choke. I get tighter before you're finished.
+Noose
+10
+
+If you follow me, you'll find my pole. I always point up. I find your pointer very attractive.
+North
+10
+
+I'm a 4-letter word. I end in UCK. If you've got me, you score.
+Luck
+10
+
+I have to be half-naked for you to eat me. I can be foudn in one bed or another. When I get old, I smell like fish.
+Oyster
+10
+
+I do it in the shade. I get turned on at night. You have to screw my socket to turn me on.
+Lamp
+10
+
+You spread your legs to do me. You bend over and get jumped from behind. Several people can do me at once.
+Leap frog
+10
+
+I'm a strong stroker. I watch the wet spot. If you go down on me 3 times, you could die.
+Life guard
+10
+
+I get on top of you in bed. Housewives spread me in the morning. Women sometimes do me by hand.
+Quilt
+10
+
+When I'm erect, I'm dangerous. After penetration, your end comes up quickly. Playing with your flute gets me up.
+Cobra
+10
+
+Sometimes, you take me to bed with you. It's hard to stop my pounding. When I come in your head, you're miserable.
+Headache
+10
+
+You can take me in a bathtum. You can blow me. One prick and it's all over.
+Bubble
+10
+
+I'm made to be squeezed into a tight hole. You can yank me off. A couple of stitches can tighten me up.
+Button
+10
+
+I can fit inside a pup. The rougher it is, the better I like it. I come into a bag, then fall asleep.
+Camper
+10
+
+I'm sometimes a tight fit. People put their tools in me. I have to be open for you to park it in me.
+Garage
+10
+
+I've got a lot of dongs in me. I have to be hung to work well. I can get you up in the morning.
+Bell
+10
+
+I'm a 4-letter word. I end in UCK. I describe a sudden plunging under the covers.
+Duck
+10
+
+You do me with your tongue. When I'm bad, you spit. When I'm good, you swallow.
+Taste
+10
+
+Once I'm mounted, I have to get wet to work. You have to get me off to put me away. Pulling my handle turns me on.
+Outboard motor
+10
+
+I happen when you itch inside. I'm a sudden ejaculation. You know when I'm ready to come.
+Sneeze
+10
+
+I hang out on top of rocks. People want to stick themselves in my fur. Men use their clubs on me.
+Seal
+10
+
+When you're on top of me, you're eating. When I'm long, I hang down and touch your knees. When I'm wrinkled, no one wants to spread me.
+Tablecloth
+10
+
+69 is one. The Romans used an 'I' to make me. You use me to multiply.
+Number
+10
+
+You have to get two pieces to make me. When I'm in your pants, I run down both legs. You join me by sticking me with your point.
+Seam
+10
+
+Without me, you'd always be soft. Parts of me are long, round, and hard. I'm stuck between your fleshy parts.
+Skeleton
+10
+
+I'm a 4-letter word that ends in IT. The more you do me, the smaller your balls get. It goes in and has to come out.
+Knit
+10
+
+Men come to me to blow their wads. The hotter I get, the drier I am. I've been the site of many explosions.
+Nevada
+10
+
+I can be found in the rotch between two limbs. Beasts come inside me. Soldiers place their big guns in me.
+Nest
+10
+
+I'm discharged by professionals. I'm needed when you get too hot. I sometimes squirt in the street.
+Hydrant
+10
+
+I'm long and hard even when I'm cold. After you screw me, I can take a load. You have to use me to achieve an erection.
+Girder
+10
+
+When I penetrate, I'm boring. You could use me to polish your knob. I get stuck in your cavity.
+Drill
+10
+
+If you squeeze me the right way, I'll pop. If you play with me, you'll get a lot more. Putting the wrong things inside of you can cause my eruption.
+Pimple
+10
+
+I must be tied tight to be blown properly. You have to get me up to use me. If the wrinkles aren't out, I'm not working.
+Sail
+10
+
+When I'm half naked, you eat me. When you get me steamed up, I get hard. Stabbing at my slit opens me up.
+Clam
+10
+
+I'm wrinkled and kept in your pants. After you blow your wad, I'm gone. Without me, you're flat.
+Money
+10
+
+After you screw me, I'm ready to swing. I can't work without a rod inside of me. Grease me up and it's easier to slam me.
+Hinge
+10
+
+I'm long and plump. I'm loaded with cream. Sticking me inside of you can make you fat.
+Eclair
+10
+
+You have to get me hot before you eat me. You have to finger me to get a rise out of me. After I rise, you can put me in your hot cavity.
+Dough
+10
+
+I'm a 4-letter word that ends in UNT. I get off on feet. People are desperate to get me off.
+Punt
+10
+
+I can do it again and again and again. You sometimes use your mouth to get me started. Toward the end, I always get softer.
+Echo
+10
+
+When I'm pointing up, I could explode. When I'm pointing down, you're empty. The right pressure can make me point.
+Gage
+10
+
+You can find me at the Y. A lot of people A lot of people come in me. I'm deep, warm, and wet.
+Swimming pool
+10
+
+I tell you when to come. I tell you where to come. You have to show me to get in.
+Invitation
+10
+
+I am usually well hung. Sometimes my balls are shiny. To stay up, I have to be hooking.
+Ornament
+10
+
+Sometimes I've got balls. Greasing me up makes me last longer. I'm build to take a load.
+Bearing
+10
+
+I've got a big rod inside of me. Personal objects get stuck in me. You hide your ugly thing inside me.
+Closet
+10
+
+I'm usually long, round, and black. If you lick me, I can stain your tongue. I'm the juice of a root.
+Licorice
+10
+
+I'm a 4-letter word ending in UNT. A mother will sometimes eat me. I'm the smallest one around.
+Runt
+10
+
+I'm sometimes referred to as VD. During my time, everyone has a heart on. Today, you could eat from a sweet tasting box.
+Valentine's day
+10
+
+Sometimes I'm a flasher. After my bottom glows, you can go. If my top gets red, you'll have to stay.
+Traffic light
+10
+
+You see sparks when I touch your pole. If you touch me, you can feel my juice. When we connect, I start to flow.
+Jumper cables
+10
+
+I do it with dollies. I use my big rig to get your load off. I put my hands all over your box.
+Mover
+10
+
+No matter how long I am, I'm still too short. If I'm taken from you, you get stiff. When you stop pounding, I'm done.
+Life
+10
+
+I come with a large pair. Part of me is always hard. I'm an expensive piece of tail.
+Lobster
+10
+
+My balls are high. I can be a Sloe Screw. I can be a banger.
+Cocktail
+10
+
+I'm a 4-letter word. I end in ISS. I accompany a leak.
+Hiss
+10
+
+You stick your head inside my rim. I get used by dirty, sweating men. When you use me, you're wearing protection.
+Hard hat
+10
+
+I only go down on you at night. My going down on you can leave you cold. When I beat on you, I make you hot.
+Sun
+10
+
+I live inside your slit. Hair grows all around me. Strong feelings make me wet.
+Eye
+10
+
+You can get me if you squeeze your melons. Plugging a socket can make me flow. I come in almost every fruit.
+Juice
+10
+
+Anybody can get into my drawers. I can help you keep things in P. You may have to slide me open to find my Y slot.
+Filing cabinet
+10
+
+People come for miles to fill my slit. Some women fondle my handle for hours. Many U.S. presidents have slid down my throat.
+Slot machine
+10
+
+Some people take me in the rear. I usually come in the front. You get me from a carrier.
+Delivery
+10
+
+I'm long, hard, and pointed. You can use me no matter which way I'm facing. After I'm done, you'll have a bigger hole.
+Pick
+10
+
+Only sharp people get on me. It's a disadvantage for you to hold my short end. I have to beat skin to bang.
+Stick
+10
+
+I'm a happy hooker. I'm a master baiter. I'm happy when I'm sitting on the wet spot.
+Fisherman
+10
+
+You're obligated to do me. Sometimes you have to pay me to get in. If you're on me, you're standing at attention.
+Duty
+10
+
+I'm a spasmodic contraction. You feel me deep in your throat. I can sometimes make you quiver for hours.
+Hiccup
+10
+
+I can get your rocks off. I carry quite a load in front. I dig your hole.
+Bulldozer
+10
+
+The more you suck on me, the hotter I get. You stick my stem in your mouth to suck me. You have to stuff me before you can use me.
+Pipe
+10
+
+You place your hot piece on me to get pounded. You're usually sweating when you hammer me. I usually get screwed on a bench.
+Anvil
+10
+
+I'm a 4-letter word ending in UNT. You do me when you lose your balls. When you're on me, you hope you're not shooting blanks.
+Hunt
+10
+
+I hang between your chest and knes. The older I am, the bigger I get. There's hair growing on my hole.
+Belly
+10
+
+I get picked up on the street. My can usually smells. People treat me like trash.
+Garbage
+10
+
+Insertion makes me open up. Bad guys try to shoot me off. Stick the right thing in me and I'll give you a tumble.
+Lock
+10
+
+The more you pull me, the faster you go. You have to get me wet for me to work. Long even strokes work the best.
+Oar
+10
+
+If you're wrong, you might have to eat me. When I get blown, you better grab me. I go well with a little head.
+Hat
+10
+
+I can hide under your bush. I can surprise you when you get your rocks off. I'm long, narrow, and slip into holes.
+Snake
+10
+
+When you're stuck in me, you're not moving. To get out of me, you have to move your knob. I'm the slot in the middle.
+Neutral
+10
+
+I'm the result of a boner. I can get you in a box. I can mean extra strokes.
+Penalty
+10
+
+I'm a 4-letter word ending in ICK. I can make you hot. When you feel me, you go to bed.
+Sick
+10
+
+I get laid in the beginning. I'm only good for one date. I'm usually on the bottom.
+Cornerstone
+10
+
+When I get bent, it's an accident. Banging me in the right spot can straighten me out. I cover your rubber.
+Fender
+10
+
+It takes two to do me. They have to use their mouths. They have to use rhythm.
+Duet
+10
+
+You have to play with my stick to get me up. Blowing up my tail gets me to go faster. Coming inside me will get you nowhere.
+Airplane
+10
+
+You get a charge out of my pole. I get stuck in your chamber. When you use me, I discharge my juice.
+Battery
+10
+
+When you're in me, you're in heat. It helps to get my rocks wet. Coming inside me makes you sweat.
+Sauna
+10
+
+I shoot on schedule. If you're on the wrong side, I can get yo uwet. Barefoot people come in me.
+Fountain
+10
+
+I can fill your crack. I drip before I get hard. Rub me the wrong way and I'll streak.
+Plaster
+10
+
+You squirt me out of your tube. I come on top and can make you flat. I can come in many colors.
+Icing
+10
+
+I'm a 4-letter word ending in OCK. I'm a wet erection. I stick into the wet spot.
+Dock
+10
+
+I'm long, round, and black. You need to be taught to blow me. You use your fingers to play with me.
+Clarinet
+10
+
+Blowing is required to use me. I can be a flaming fag. If you laugh when you suck me, you could choke.
+Cigarette
+10
+
+I'm a 4-letter word ending in RAP. Sometimes, hair gets caught in my opening. I sometimes get stuck in toilets.
+Trap
+10
+
+You have to spread me to eat me. I can grease your slice. You need cream to make me.
+Butter
+10
+
+You want to sleep with me. I can be hard or soft. You have to be on top to use me.
+Mattress
+10
+
+I'm supposed to be straight. I'm usually hung. You slide things up my backside.
+Frame
+10
+
+I'm a 4-letter word ending in RAP. I go around your box. There's a big surprise inside me.
+Wrap
+10
+
+It takes more than one man to lay me. I sometimes get nailed on the stairs. When you suck me, I come clean.
+Rug
+10
+
+Most women don't like me in their mouth. You pinch me with your fingers to get me in. You have to spit, not swallow.
+Chewing tobacco
+10
+
+A white milky liquid can be sucked from me. I'm almost round and always hairy. I can grow in your palm.
+Coconut
+10
+
+If I get laid too long, I dry up. Licking my tip gets me going again. I can come in many sizes and colors.
+Felt tip marker
+10
+
+If you wait too long, it's hard to get me off. When I come out, I'm white and gooey. I'm the sticky stuff that shoots out of your tube.
+Glue
+10
+
+The hotter I am, the sooner I get done. What you stick in me is wet. Sometimes it's wrinkled when you pull it out of me.
+Clothes dryer
+10
+
+When you push yourself in me, you mean business. You pound me to make a point. You stick your important thing in me.
+Desk
+10
+
+Chicks get laid here. I usually contain more than one pecker. A cock wants to come inside me.
+Henhouse
+10
+
+I use my fingers to knock off a piece. I have to pick the right time before I can beat it. In the old days, I did it with a feather.
+Composer
+10
+
+You get it on in the bedroom. If it's stiff, you might be uncomfortable. If it's too short, it could leave you cold.
+Nightgown
+10
+
+You pay me with your rocks. Sometimes, I have to measure your joint. I'm an expert at mounting.
+Jewler
+10
+
+Cher doesn't have one. Letterman has a long one. Leno has a short one.
+Last name
+10
+
+My sausage hangs out in front. You can take it out of me any time. You come in & out very quickly.
+Delicatessen
+10
+
+If you can't wipe me off, blow me. You try to get me on the rag. Feathers really get me off.
+Dust
+10
+
+You have to stretch my skin to beat me. You've got to use your stick to bang me. The harder you bang me, the louder I get.
+Drum
+10
+
+You use me once and then throw me away. One quick pull gets me off. Using me a second time would be sloppy.
+Paper towel
+10
+
+You have to push on me to get me inserted. You go to bed with me. You pound me before you bury your face in me.
+Pillow
+10
+
+I can hold your meat. If what you put inside me is too small, it could slip out. Sometimes, a baby comes out of me.
+Shopping cart
+10
+
+If my teeth are in the way, they could be dangerous. It's hard to get me up in the rear. You have to grab my little thing to get me up.
+Zipper
+10
+
+I always get laid outdoors. You have to wait until I'm hard to use me. Sometimes I'm used for a rear entrance.
+Sidewalk
+10
+
+I usually come at night. I want to grab your family jewels. I'm a pro at handling a snatch.
+Burglar
+10
+
+You can use me when you're moving in and out. We have to be hitched for you to get me off. You have to pull me to deliver my load.
+Trailer
+10
+
+Both men and women put their hands on me. I get knocked up. You have to rotate to get in another position.
+Volleyball
+10
+
+Using your hands can get the wrinkles out of me. I have to be on top of you to be useful. If I'm too thick, I can make you sweat.
+Blanket
+10
+
+I can heat up your slice. When I'm hot enough, I pop up. You have to stick it in me to get it hot.
+Toaster
+10
+
+You come in my rear. It costs you to come inside of me. When you're in me, you're going places.
+Taxi
+10
+
+If you handle me too much, I'll pop all over you. I get popped on your wedding night. I can tickle your nose while I'm going down your throat.
+Champagne
+10
+
+I have to be between your legs for you to go down on me. People who go down on me usually wear rubbers. When I get used, it's an alarming situation.
+Fire pole
+10
+
+I force myself into your cracks. When you turn me on, I start to spurt. When I'm done, you have to spit.
+Water pick
+10
+
+The deeper I penetrate, the more it hurts. You have to squeeze me to get me out. If I'm too big, I can cause bleeding.
+Sliver
+10
+
+If it gets too hot, I start to drip. I'm long, hard, and pointed. If I go down on you, you could be unconscious.
+Icicle
+10
+
+You turn me on with your fingers. You can use me to whip it. You can get me to do it fast or slow.
+Blender
+10
+
+You can smell me on your breath when you're done with me. I get spit instead of swallowed. It's usually morning when I come in your mouth.
+Mouthwash
+10
+
+After I'm done, I still drip a little. After you've been inside me, you should wipe yourself. I have to get you wet to accomplish something.
+Shower
+10
+
+You have to be on top of me to use me. If I feel wet, you have to find my hole. I get laid in bedrooms.
+Waterbed
+10
+
+I have to be erect to deliver my load. After you fill me up, it comes out my rear. You can use me to get your ashes hauled.
+Dump truck
+10
+
+I used Betsy to shoot my load. I usually have my head in a piece of tail. I was the best at shooting a beaver.
+Davy Crockett
+10
+
+It's easy to make me. If I'm frigid, you can't eat me. When I'm ready, there's hot meat inside of me.
+Frozen dinner
+10
+
+I'm long, hard, and point up. I have to be slippery for you to go down on me. You put your hands on me, then go up and down.
+Banister
+10
+
+I know when you're doing 69. You have to use your foot to get me up. Even gentle pressure can make me point up.
+Speedometer
+10
+
+You spread my legs to use me. To use me, you have to be on top. You can sit on me and get a load off.
+Folding chair
+10
+
+I'm limp and wrinkled when not in use. It's sometimes a tight squeeze to get inside of me. My zipper has to be drawn to get me off.
+Blue jeans
+10
+
+I get banged after school. When you're done, there's white stuff all over me. I wipe off your boner.
+Eraser
+10
+
+When I go down on you, you have a clean slice. When I'm done, I leave you spurting. GIving me head is the last thing you'll do.
+Guillotine
+10
+
+Sometimes you can eat my nuts. I can have hooters on top of me. Sometimes there's a pecker between my limbs.
+Tree
+10
+
+Too much p can make me pop. You have to stick my prong in the right hole to make me work. Your hot breath can make me wet.
+Microphone
+10
+
+You could stuff yoru 12 inch thing inside of me. You should use your tongue before you stuff me in a box. You have to spend some money to get me to come.
+Envelope
+10
+
+I can be used for suction. I can help you squirt. I can inflate your tube.
+Pump
+10
+
+After I'm up, my head is explosive. Sometimes, when I shoot off, it's offensive. When I shoot off, I leave a trail.
+Missile
+10
+
+There's hair growing out of my hole. Sometimes, when I suck, something smells funny. When you're coming, I get there first.
+Nose
+10
+
+When you're mad, you could blow me. When you get lucky, I get bigger. When my hole gets used, it's usually exhausting.
+Stack
+10
+
+I hang below your waist. I almost always have a slit in the middle. Sometimes, when you get me off, I drop to the floor.
+Skirt
+10
+
+When you enter me, you're going Greek. Young men rush to get inside me. I help men come together.
+Fraternity
+10
+
+Touching me in the wrong place will turn me off. Your mother said if you abuse me, you'll go blind. I can get turned on in any room of the house.
+Television
+10
+
+Eating my hard part coudl make you choke. You sometimes lick my fuzz. When I'm ready, my juice is sweet.
+Peach
+10
+
+When I come, I'm very noisy. You want me to come quickly. No one wants to come inside me.
+Ambulance
+10
+
+You should get me wet before you turn me on. When I grind your meat, I'm noisy. Sticking your fingers inside me could be dangerous.
+Garbage disposal
+10
+
+I lubricate your joint. If I'm on the rag, you don't use it. It's sometimes hard to get me off.
+Grease
+10
+
+I come in a can. When I'm too hot, you blow me. Putting me inside you can warm you up.
+Soup
+10
+
+I can be a butt peddler. You have to stick it in my slot to get something. You have to pay me to taste my juice.
+Vending machine
+10
+
+My balls are blue. You need balls to score. Up to four people can play with my balls.
+Racquetball
+10
+
+If you're on me, you're hung. I can make you stiff. WHen I'm done with you, you're a swinger.
+Gallows
+10
+
+I press my hard evidence against you. I want to punish you for your boner. I can make you swear.
+Prosecutor
+10
+
+If I get too kinky, you no longer want me. If I'm too tight, I could cut off the circulation to the head. You sometimes need help to get me off.
+Necklace
+10
+
+When you're doing down, I pull out. When I'm stroking, it's a matter of life and death. You scream when you want me to come.
+Lifeguard
+10
+
+I've been inside Betty Ford. People pay to see me in the act. One Dick got me twice.
+Elizabeth Taylor
+10
+
+The rougher I am, the faster I get it off. Rubbing me the right way will make me hot. If you use me too long, I get dull.
+Sandpaper
+10
+
+Once you're inside me, you fall asleep. I can take all of you inside me. You usually lay me before you come inside of me.
+Sleeping bag
+10
+
+When you stick me in your pants, I get wrinkled. I've got a big one on me. It takes four quarters to equal me.
+Dollar bill
+10
+
+You can see my balls on television. My balls can make you rich. My balls can make you scream with delight.
+Lottery
+10
+
+When I go down, you feel better. It's just a matter of time until I go down on you. By feeling the head, you can tell if I'm up.
+Fever
+10
+
+Coming inside me will keep you off the street. When you pull out, it's time to pay me. I'm a good place to put your rod.
+Parking garage
+10
+
+I sometimes have a little head inside of me. Sticking your finger in my crack opens me up. If I'm not well hung, I could get lost.
+Locket
+10
+
+You hold on to my stiff pole when you ride me. When you're on me, you're going up and down. After you horse around on me, you get off.
+Carousel
+10
+
+My stick comes in a box. When you use me, the white stuff gets on your hands. Pressing too hard on my tip can make me squeak.
+Chalk
+10
+
+Pulling on my knob gets my balls off. You use me to score in bars. Banging me too hard turns me off.
+Pinball machine
+10
+
+I'm a swinger. If I go down on you, you can count me out. If you go down on me, I win.
+Boxer
+10
+
+If you have a big load, you have to jam me. You sometimes have to sit on me before you take me. When you put it in me, you're going places.
+Luggage
+10
+
+You dig my hole. When you're inside me, you're always on the bottom. You'll end up deep inside me.
+Grave
+10
+
+First you stick something in me and then pound away. My touching in three spots, you can get SEX. If you use me, you might miss a period.
+Typewriter
+10
+
+Sometimes, you have to pump me to get me flowing. When I dry up, you have to use another hole. If I'm dry, you haven't drilled me deep enough.
+Well
+10
+
+Everyone tries to claim they have a bigger one. As I go up and down, I make you scream. When I go down on you, you're scared to death.
+Roller coaster
+10
+
+I can be kinky. The stuff in your can makes me stiff. Teasing me the right way will make me stand up.
+Hair
+10
+
+You have to deal with me once a month. When I'm overdue, you get worried. Since you have a pad, you've got me.
+Rent
+10
+
+I'm hooked on a good stiff one. I suck it down until I pass out. I get it down my throat too easily.
+Alcoholic
+10
+
+You wipe it off when the fun is over. Some girls get it on the first time in junior high. The first time you do it, you are usually sloppy.
+Makeup
+10
+
+Some people find me hard to swallow. When I fill you up, you feel like bursting. I can make your head swell.
+Pride
+10
+
+Having fun sometimes depends on the position of Uranus. A different position can put you in the mood. When you do me, you see stars.
+Horoscope
+10
+
+I am 6 inches long. Ben Franklin sits on my face. I'm worth a hundred of your little ones.
+100 dollar bill
+10
+
+After a few strokes, I can get them to go down on you. My strokes widen your gash. When there's a jack off, I have to work harder.
+Lumberjack
+10
+
+If you blow me too long, your mouth gets tired. You use your lips on my piece. When I sit on your lap, you blow me.
+Tuba
+10
+
+When I give it to you straight up, it's neat. If you don't give me your tip, I'm disappointed. I can make you a virgin.
+Bartender
+10
+
+You try to take the rubber. Honeymoon means you play with only one person. To make it, you have to turn tricks.
+Bridge
+10
+
+Putting your hand inside of me makes me move. When you use me, you're faking it. I usually sit on your lap to do the act.
+Dummy
+10
+
+I always come after U. My crotch comes to a point. You need me to make a virgin.
+V
+10
+
+The first time you try to use me, it keeps falling out. GIs picked me up in Vietnam. You have to use your fingers to stick me in your mouth.
+Chopsticks
+10
+
+Everyone sticks their meat in me. Sticking it inside of me can leave cheese on your piece. You could use Mazola to get your meat hot.
+Fondue
+10
+
+If I go down on you too much, you could get arrested. When I'm plunging, I'm usually sexy. When I'm too high, I don't turn anyone on.
+Neckline
+10
+
+I tried to cover up my boner. Gerald Ford got me off. I got in during '69.
+Richard Nixon
+10
+
+When I stick out in front, you come easier. Coming depends on the zip at the end. Sometimes I'm on your box.
+Address
+10
+
+You stuff your dirty thing inside me. After your thing has been in me a while, it's wrinkled. What comes out of me is usually smelly.
+Laundry bag
+10
+
+It's safer when you put your fingers inside me. If you stay in me too long, your skin gets wrinkled. You have to pull on me to get me off.
+Rubber glove
+10
+
+When I go up and down, I make noise. You use rhythm when you do me. When you grab my handle, you make me shake.
+Maracas
+10
+
+I have to score to get in. I have to carry a full load in order to finish. When I bone up, I'm near the end.
+College student
+10
+
+Fruits come inside me. If there's a hole min me, there's a mess to clean up. I hold your meat.
+Grocery bag
+10
+
+After you get on top of me, you need a rest. If I'm too short, I leave you hanging. If I'm too soft, I'm useless.
+Bed
+10
+
+Sometimes I come in jugs. People sometimes admire my body. After I come in your mouth, some spit and some swallow.
+Wine
+10
+
+You lift up my top before you start to play with me. Sometimes people tinkle on me. When I'm flat, you don't want to play with me.
+Piano
+10
+
+You should eat me when I'm still hot. Some people eat me out. I usually taste salty when I come in your mouth.
+French fries
+10
+
+I can come only once a year. I can come only once a month. When you make me, you're supposed to come on time.
+Date
+10
+
+If you get me when I'm naked, you have to finish me. You have to strip me to get me naked. It's hard to get the stain out of my crack.
+Furniture
+10
+
+You can't come unless you play wit ha member. Prominent members come here to shoot. Men try to put it in my holes.
+Country club
+10
+
+I usually do it first thing in the morning. When I'm doing it, I'm breathing hard. When I do it alone, I usually do it to music.
+Jogger
+10
+
+You stick me in your valley to help you stop the flow. The flow through my hole can give you a real charge. A cute beaver can get me up in no time.
+Dam
+10
+
+You usually do me at noon. If you skip eating me, you have to make up for it later. I can come in a box.
+Dinner
+10
+
+I end in UCK. When I come, I deliver a big load. You have to touch my stick to get me going.
+Truck
+10
+
+I'm a 4-letter word starting with 'C' and ending with 'T'. Roosevelt used to do me by the fire. You can have me by using your mouth.
+Chat
+10
+
+If you stick it in your mouth, you're cheating. I can make your thighs go up and down. The bigger you are, the harder I am.
+Diet
+10
+
+I'm there to help you get it on. I can send you home with a better pair. I have to get on my knees to service you.
+Shoe salesman
+10
+
+I can come with a little pot. When I'm almost ready, I start to drip. I can keep you erect all night.
+Coffee
+10
+
+The best position is belly to belly. Most use rhythm to do me. After you do me for a while, I leave you breathing heavy.
+Dancing
+10
+
+A little sucking and I can start your flow. Sometimes, when you use me, you have hair in your throat. You have to pull my stick to get it to come up.
+Plunger
+10
+
+You need a ring to pick me up. I can help you have intercourse in your car. You have to place your mouth on my piece to use me.
+Telephone
+10
+
+I'm a 4-letter word. I start with 'D' and end with 'K'. Some people think you can't beat my meat.
+Dark
+10
+
+You get on top of me and go up and down. Going down on me the wrong way could be dangerous. You can use me to turn tricks.
+Trampoline
+10
+
+The first time you turn me on, I smell funny. If I'm built right, I can be a blast. When you're cold, you turn me on.
+Furnace
+10
+
+I can swing both ways. If you don't band me enough, I can get rusty. If I'm wide open, your pussy can slip out.
+Gate
+10
+
+Sometimes you leave m ewith my tongue hanging out. If I'm too tight, you can't get inside me. If you're inside me too long, you could get blisters.
+Shoe
+10
+
+I make my living by going down and being dirty. I go deep in your tunnel to get my rocks off. You need a union card to use my shaft.
+Coal miner
+10
+
+When I climax, I can make you cry. After the final act, you go home. People stand in line to get in my opening.
+Play
+10
+
+Today, almost everyone has relations. You have to do it with some turkey. You give everyone the bird.
+Thanksgiving
+10
+
+My balls can come in many colors. My stick has a large head on it. My balls can knock you out.
+Croquet
+10
+
+Riding me too hard can make the floor creak. You wrap your legs around me for a good ride. If you're too small, you need help to get off.
+Rocking horse
+10
+
+You can put me on your wiener. You can stick me between your buns. I can come in a jar.
+Relish
+10
+
+I only can last a short time. Women sometimes fight over my item. People stand in line to take advantage of me.
+Sale
+10
+
+I can have a little cavity. It takes a professional to fill my hole. My root is in your mouth.
+Tooth
+10
+
+I like to stick it in my honey. I live with a queen. When I stick it inside you, it hurts.
+Bee
+10
+
+I can make your slice. If I penetrate you, I can make you bleed. You stick me in when you want to get a piece.
+Knife
+10
+
+I was Harry for a while. I used to be a Dick. You used to see my Bush.
+President
+10
+
+I come on shore in the dark. WHen I deliver my load, it's illegal. I have to sneak up on you to get it in.
+Smuggler
+10
+
+When you're bleeding, I cover your gash. When you get me off, it hurts. I come in a can.
+Bandage
+10
+
+You come in my tunnel. You can ride me as long as you want. You get off at just the right time.
+Subway
+10
+
+I can fit up to 12 members in my box. I can be hung. I can get you off.
+Jury
+10
+
+I dreamed of grabbing a big white Dick. I wouldn't settle for just a little Sperm. I didn't want to go down on him.
+Captain Ahab
+10
+
+I can put a bun in your oven. Until it rises, I can't finish the job. I want you to eat my hot loaf.
+Baker
+10
+
+I'm a horny stallion. You can only fantasize about riding me. No one has ever seen me come.
+Unicorn
+10
+
+I can see Uranus. I can help you to shoot a moon. You can only stick me out at night.
+Telescope
+10
+
+I can whip a big pussy. I can stick my head in a pussy. I let people watch me in the act.
+Lion tamer
+10
+
+Trum phas a long one. Most people are dressed when they come inside of me. After you're in me, you can watch TV.
+Limousine
+10
+
+If you see me in bed, you whack me off. The bigger I am, the more you scream. Seeing what's between my hairy legs can make your skin crawl.
+Spider
+10
+
+When I come, I can be white or yellow. You can find the Grand Canyon in my G spot. I can help you find your Johnson.
+Phone book
+10
+
+You can rent my box for a price. When you pay to come inside me, it's an event. You can see Hair inside of me.
+Theater
+10
+
+If I expose the bulge under my coat, you're in trouble. I'm a dick for hire. When you're having intercourse, I bug you.
+Private detective
+10
+
+If you're single, there's a chance you could catch it. The bride gives it up on her wedding night. Men sometimes give it to women.
+Boquet
+10
+
+I'm stuck between your cheeks. Occasionally, unwanted noise comes out of me. After I get used, you have to wipe me.
+Mouth
+10
+
+I do it with sheep. I use my staff for poking. My business is ram 'n ewe.
+Shepherd
+10
+
+I am a 4-letter word starting with 'F'. Once I'm stuck in you, I eject a milky fluid. I grow in your mouth.
+Fang
+10
+
+You need rest after you've had a long one. I come every night at midnight. You have to ask your boss for permission to get one off.
+Day
+10
+
+Sometimes, I have a ball. If my fluid comes out too fast, I make a mess. I can leave a stain in your pants.
+Pen
+10
+
+I'm full of seamen. You have to take an oath to get inside me. My biggest part is always on the wet spot.
+Navy
+10
+
+When I have 69, it counts. When you're on me, you're playing a round. I let you know when your period is over.
+Scoreboard
+10
+
+Blowing me can get you up. After I get blown, it's time to eat. When I get blown, it's bed time.
+Bugle
+10
+
+We stuck our Bush out in public. We want all our members to get in. The last time we got our Dick in was 1972.
+Republicans
+10
+
+When my head pokes through a crack, I'm going to come soon. I'm born with a hard pecker. You have to sit on me to make me come.
+Baby chick
+10
+
+Rubbing me can't get me off. You can get me in the rear. I sit on a fair maiden's face.
+Freckles
+10
+
+Poking me leaves you in stitches. You stick something in my hole. You have to stick my tip in to use me.
+Needle
+10
+
+When I get in your pants, you're nervous. If I come in your kitchen, you get mad. I can come through the crack in your back door.
+Ants
+10
+
+If it comes in your mouth, it will end up inside me. If you stick too much in me, I ache. If your pants are tight, I can stick out.
+Stomach
+10
+
+I have to penetrate deep to keep it up. Your fingernails get me off. If you don't push me in all the way, I could fall out.
+Tack
+10
+
+You could call me Woody. I pound away between the limbs. When my pecker's at a hole, it's time to eat.
+Woodpecker
+10
+
+You stick your finger in me. If you're wearing me, it won't hurt when you push it in. I protect you from getting poked.
+Thimble
+10
+
+After I'm hot, you stick your wiener in me. If I'm flaming, you don't want to touch me. Poking me can keep me going for a long time.
+Campfire
+10
+
+Some people get pleasure from exploring my hole. Penetrating deep inside me can be exciting. If my rocks are dripping, they start to get bigger.
+Cave
+10
+
+I have to be taught to come. Your bone makes me pant. I like to chase a little pussy.
+Dog
+10
+
+I'm a 4-letter word ending with 'T'. I can be taken orally. WHen I'm hard, I take too long.
+Test
+10
+
+I cling to your balls. The first time you put me in is usually exciting. You shoudl clean me between insertions.
+Contact lenses
+10
+
+You're not done with me until you're chewing on my bone. You could be eating chuck. You would enjoy a piece of my butt.
+Steak
+10
+
+My tip has a hole in it. Shoving me in too fast can hurt. If you wait too long, I can drip on your hand.
+Ice cream cone
+10
+
+You get me wet before you stick your stem in me. If you leave it in me too long, it goes limp. You can stick your tulips in my opening.
+Vase
+10
+
+You can find Greeks in my G spot. You can look inside me and find 'P'. Looking at me can show you the real meaning of Hung.
+Dictionary
+10
+
+Using me helps yo ustick it out a little longer. I can handle 3 males at once. You have to stick your male end in me to get my juice.
+Extension cord
+10
+
+To have me, everyone has to come together. You can't do me without your old friends being present. I usually come once every 10 years.
+Reunion
+10
+
+You can eat my split. My stools are hard and round. I can get too busy with a jerk off.
+Soda fountain
+10
+
+If I'm too tight, it's hard to get me off. If I'm in your panties, I can leave a mark. Sometimes you have to spread me to get in me.
+Elastic
+10
+
+I'm a 4-letter word that starts and ends with 'B'. I cause yoru root to grow. You turn me on at night.
+Bulb
+10
+
+I can come by the gallon. Get me hot and I'll make a puddle. I'm made to be licked.
+Ice cream
+10
+
+I get wrinkled ones inside me. When you want to use me, you take me out of your pants. When I'm empty, you've shot your wad.
+Wallet
+10
+
+I can be felt. You have to use my balls to score. You have to call it before you stick it in my hole.
+Pool table
+10
+
+I can suck you in until you're blue in the face. Some women want to get me between their legs. You need me to suck it for you.
+Liposuction
+10
+
+I'm loaded with pricks. If you get inside me, I can be full of juice. If I stick you, I can make you bleed.
+Cactus
+10
+
+It's better to get lots while you're young. To get me, you have to do the deed. I could have a temporray erection.
+Real estate
+10
+
+I can make your organ swell. When I go below your belt, it's dirty. When I'm a sucker, you're surprised.
+Punch
+10
+
+After you come inside me, you start to sweat. Pumping is why you come. If you're not breathing heavy, being inside me is a waste.
+Gym
+10
+
+You can't lay me until you find the right spot. I have to be face up to get laid. I can only be laid by my mate.
+Domino
+10
+
+My slit is a good place to point your gun. When soldiers come in me, there's action. Burying yourself deep inside me could save your life.
+Trench
+10
+
+You stick your finger in my hole. If your joint is too big, you can't get it in me. After you're married, I'll sit on your finger.
+Ring
+10
+
+You can use me to arouse yourself. AFter you turn me on, you go to bed. When you fondle me in the morning, it turns me off.
+Alarm clock
+10
+
+If you want to bang, you can't have me. I can go with a little peace. I end very quickly with an explosion.
+Quiet
+10
+
+When I'm on top, you're faking it. It will cost you more money for a long one. Dolly Parton has some big ones.
+Wig
+10
+
+You can plug my box in any room of the house. You have to connect your male part to my female part. You have to put me in before you get turned on.
+Cable TV
+10
+
+I've got a Hershey highway in me. When you enter me, you've crossed the line. I've been united with 49 other partners.
+Pennsylvania
+10
+
+Putting your foot down can stop you from going all the way. Slamming me can make me squeal. If you stand on me, you could take it in the rear end.
+Brakes
+10
+
+I'm a 4-letter word ending in 'T'. Blowing makes me come. When I come out of your stack, it relieves some pressure.
+Toot
+10
+
+It takes some stiff poles to keep me in business. Some of my employees turn tricks for money. Some of my employees will do it with whips and a trapeze.
+Circus
+10
+
+I'm long and hard and get stuck in your hair. You use your fingers to get me in. I can hold a thick one if you spread me.
+Hairpin
+10
+
+If you're geting enough, your skin will clear up. You have to rub it to get it on. After you squeeze it, it comes on your face.
+Acne medicine
+10
+
+I can be a big woody. You lay my back down and stick things in my rear. I can come with 9 people at once.
+Station wagon
+10
+
+If I'm pointing up, the answer is Yes. If I'm pointing down, the answer is No. If you hammer me, I throb.
+Thumb
+10
+
+If you stick your meat inside me, it lasts longer. If my piece isn't long enough, you'll want another. You use my box when you need a piece.
+Aluminum foil
+10
+
+Even an amateur can get me up. Seeing my crack can make you climb the walls. Sometimes, you have to hire a stripper to get me off.
+Wallpaper
+10
+
+It takes a thousand men to lay me. Pumping gets me to flow. If you see my crack, you're carrying a torch for me.
+Pipeline
+10
+
+When you use me properly, you make me go up and down. When you're done with me, you spit. Without me, you have to use your finger.
+Toothbrush
+10
+
+Two brothers put their heads on my box. Sucking on me can make you feel better. If you don't like lemon, you can pop my cherry.
+Cough drop
+10
+
+I have your prize inside my box. You like to put my nuts in your mouth. Your fingers get sticky when you're eating me.
+Cracker Jacks
+10
+
+Every year, I'm the first one to come. I only come once a year. If you're hung, it's hard to get up.
+New Year's Day
+10
+
+An old pair can get thin and droopy. When you get me off, I come down your leg. When you're not using me, I'm stuck in your drawers.
+Stockings
+10
+
+If you turn me on, I'll blow you. You can feel me blowing on your head. If I'm poorly hung, I'll go down on you.
+Ceiling fan
+10
+
+I've got too much meat to fit well betweeen the buns. I'm too big to fit in your mouth. You have to use both hands to eat me.
+Whopper
+10
+
+Sticking me in your mouth can build a strong bone. Eating me once a day can make you feel better. I usually come in a bottle.
+Vitamin
+10
+
+You can eat my cherry. When I get hot, I get juicy and start to drip. I can come in a cup.
+Ice cream sundae
+10
+
+When you stick it in, you make a bigger opening. It's long, hard, and pointed. After you use it, it's easier to get inside.
+Letter opener
+10
+
+Hold my gun close to the sheets or I'll shoot real far. If you don't stick me in right, I get bent. I penetrate two holes at the same time.
+Staple
+10
+
+You usually turn me on at night to use me. Oral intercourse is my business. If you don't do it with me, you need a machine.
+Answering service
+10
diff --git a/xtrn/gttrivia/qa/general.qa b/xtrn/gttrivia/qa/general.qa
new file mode 100644
index 0000000000..db0ae85e19
--- /dev/null
+++ b/xtrn/gttrivia/qa/general.qa
@@ -0,0 +1,1855 @@
+What is the rarest M&M color?
+Brown
+10
+
+In a website browser address bar, what does "www" stand for?
+World Wide Web
+5
+
+In what year were the first Air Jordan sneakers released?
+1984
+10
+
+In a game of bingo, which number is represented by the phrase "two little ducks"?
+22
+10
+
+According to Greek mythology who was the first woman on earth?
+Pandora
+10
+
+Samuel Tilden, Grover Cleveland, Al Gore and Hillary Clinton share what distinction among U.S. presidential candidates?
+Won the popular vote but lost the electoral college vote
+20
+
+Which African country was formerly known as Abyssinia?
+Ethiopia
+10
+
+Tennis star Serena Williams won which major tournament while pregnant with her first child?
+The Australian Open
+10
+
+In which European city would you find Orly airport?
+Paris
+10
+
+The only known monotremes in the animal kingdom are the echidna and which other creature?
+Platypus
+10
+
+Kingston, Zuma, and Apollo are the sons of which American female pop star?
+Gwen Stefani
+10
+
+Fissures, vents and plugs are all associated with which geological feature?
+Volcano
+10
+
+Which author wrote the 'Winnie-the-Pooh' books?
+A. A. Milne
+10
+
+Which Dutch artist painted "Girl with a Pearl Earring"?
+Vermeer
+10
+
+Where were the Declaration of Independence, the Constitution, and the Bill of Rights stored during World War II?
+Fort Knox
+10
+
+Which country consumes the most chocolate per capita?
+Switzerland
+10
+
+Which two U.S. states don't observe Daylight Saving Time?
+Arizona, Hawaii
+10
+
+What is the loudest animal on Earth?
+Sperm whale
+10
+
+What was the first toy to be advertised on television?
+Mr. Potato Head
+10
+
+What is the tiny piece at the end of a shoelace called?
+Aglet
+10
+
+In the United Kingdom, what is the day after Christmas known as?
+Boxing Day
+10
+
+Which of Shakespeare's plays is the longest?
+Hamlet
+10
+
+Outside which New York building was John Lennon killed?
+Dakota Building
+10
+
+How many of Snow White's seven dwarfs have names ending in the letter Y?
+Five
+10
+
+"I Know Why the Caged Bird Sings" is the autobiography about the early years of what inspirational African-American writer and poet?
+Maya Angelou
+10
+
+What is the tallest breed of dog in the world?
+The Great Dane
+10
+
+What is the softest mineral in the world?
+Talc
+10
+
+Lateral Epicondylitis is a condition commonly known by what name?
+Tennis Elbow
+10
+
+Who was the first female Prime Minister of Great Britain?
+Margaret Thatcher
+10
+
+How many ribs are in a human body?
+24
+10
+
+What is the world's biggest island?
+Greenland
+10
+
+Which country is known as the Land of White Elephant?
+Thailand
+10
+
+What is the smallest ocean in the world?
+The Arctic
+10
+
+What color eyes do most humans have?
+Brown
+10
+
+In which city was Anne Frank's hiding place?
+Amsterdam
+10
+
+What is the largest type of deer?
+The moose
+10
+
+Which Disney film features the song "When You Wish Upon a Star"?
+Pinocchio
+10
+
+What is the lowest army rank of a US soldier?
+Private
+10
+
+Before the Beatles were formed, John Lennon, Paul McCartney and George Harrison were originally members of which group?
+The Quarrymen
+10
+
+What is the name of the Earth's largest ocean?
+Pacific Ocean
+10
+
+When Michael Jordan played for the Chicago Bulls, how many NBA Championships did he win?
+Six
+10
+
+What country won the very first FIFA World Cup in 1930?
+Uruguay
+10
+
+In what year was the first ever Wimbledon Championship held?
+1877
+10
+
+What is often seen as the smallest unit of memory?
+Kilobyte
+10
+
+Which planet is the hottest in the solar system?
+Venus
+10
+
+Which country produces the most coffee in the world?
+Brazil
+10
+
+What is the common name for dried plums?
+Prunes
+10
+
+What does BMW stand for (in English)?
+Bavarian Motor Works
+10
+
+Which two countries share the longest international border?
+Canada, USA
+10
+
+What is the smallest country in the world?
+Vatican City
+10
+
+Which bone are babies born without?
+Knee cap
+10
+
+Which name is rapper Sean Combs better known by?
+P. Diddy
+10
+
+Which British girl group had a member by the name of Mel B?
+Spice Girls
+10
+
+How many hearts does an octopus have?
+Three
+10
+
+How many eyes does a bee have?
+Five
+10
+
+What was the name of the rock band formed by Jimmy Page?
+Led Zeppelin
+10
+
+Who was the first woman to win a Nobel Prize (1903)?
+Marie Curie
+10
+
+Which mammal has no vocal cords?
+Giraffe
+10
+
+Power outages in the US are mostly caused by what?
+Squirrels
+10
+
+What celebrity has their dog cloned twice?
+Barbara Streisand
+10
+
+What was the first U.S. state?
+Delaware
+10
+
+What is the painting 'La Gioconda' more usually known as?
+Mona Lisa
+10
+
+Ludwig Van Beethoven was born in 1770 in which city?
+Berlin
+10
+
+Water as a pH level of around?
+7
+10
+
+What's the most expensive home in the world?
+Buckingham Palace
+10
+
+What did the Crocodile swallow in Peter Pan?
+An alarm clock
+10
+
+What's the hardest rock?
+A diamond
+10
+
+What is the national dish of Spain?
+Paella
+10
+
+Which horoscope sign has a crab?
+Cancer
+10
+
+What color is Absinthe?
+Green
+10
+
+The Statue of Liberty was given to the US by which country?
+France
+10
+
+Which US city is known as the City of Brotherly Love?
+Philadelphia
+10
+
+What substance are nails made out of?
+Keratin
+10
+
+How many children does Oprah Winfrey have?
+Zero
+10
+
+Where is the Sea of Tranquility located?
+The moon
+10
+
+What country has the world's most ancient forest?
+Australia
+10
+
+Which kind of bulbs were once exchanged as a form of currency?
+Tulips
+10
+
+What color jersey is worn by the winners of each stage of the Tour De France?
+Yellow
+10
+
+Which chess piece can only move diagonally?
+A bishop
+10
+
+When did the Cold War end?
+1989
+10
+
+What is allspice alternatively known as?
+Pimento
+10
+
+Who invented scissors?
+Leonardo da Vinci
+10
+
+Which country was the Caesar salad invented in?
+Mexico
+10
+
+On which ship did Charles Darwin make his famous expedition, which led to his theory of evolution?
+HMS Beagle
+10
+
+In which film did father and son actors Will and Jaden Smith first appear together?
+The Pursuit of Happiness
+10
+
+Which NFL team holds the record for the most Super Bowl appearances?
+New England Patriots
+10
+
+In which city is Jim Morrison buried?
+Paris
+10
+
+Which actress keeps her Oscar in her bathroom so guests can hold it and make speeches in the mirror shame-free?
+Kate Winslet
+10
+
+In medieval England, what was used as currency, specifically for rental agreements?
+Eels
+10
+
+What famous horse won the Triple Crown in 1973?
+Secretariat
+10
+
+What is the most common letter in the English alphabet?
+E
+10
+
+Chimpanzees and gorillas have human-like fingerprints and so do what other non-human animal?
+Koalas
+10
+
+A tick bite can make you allergic to what food?
+Red meat
+10
+
+What animal is constitutionally protected in Florida?
+Pigs
+10
+
+What planets literally rain diamonds?
+Saturn and Jupiter
+10
+
+Saudi Arabia imports camels from what country?
+Australia
+10
+
+Who is is the youngest person ever to appear on a Billboard chart?
+Blue Ivy Carter
+10
+
+What is the only state that borders just one other state?
+Maine
+10
+
+What is the Twitter bird's official?
+Larry
+10
+
+What is a community of ants called?
+A colony
+10
+
+Who was said to "float like a butterfly and sting like a bee"?
+Muhammed Ali
+10
+
+Where did Heineken beer originate?
+The Netherlands
+10
+
+Cirque du Soleil started in what country?
+Canada
+10
+
+How many signs are there in the Zodiac?
+12
+10
+
+What are the two fruit juices in a cosmopolitan?
+Cranberry and lime
+10
+
+What object is said to bring bad luck if it is broken?
+A mirror
+10
+
+Which country did bagels originate from?
+Poland
+10
+
+What is the name for the group of men who elect a Pope?
+College of Cardinals
+10
+
+An Apgar score is given to what?
+Health of newborns
+10
+
+The Candlestick, Lead Pipe, Knife, Revolver, Rope, and what else are the six weapons in a standard game of Clue?
+Wrench
+10
+
+What city did Starbucks open its first store in 1971?
+Seattle
+10
+
+What do you call filo pastry stuffed with chopped nuts and honey, or syrup?
+Baklava
+10
+
+What is the Jewish New Year called?
+Rosh Hashanah
+10
+
+What book starts with the line "Call me Ishmael."?
+Moby Dick
+10
+
+What is the first element on the Periodic Table?
+Hydrogen
+10
+
+What object did Ben Franklin attach to the end of a kite string to prove that lightning is electricity?
+Metal key
+10
+
+What does a Scoville unit measure?
+Spiciness
+10
+
+What US president put a Twinkie in the country's millennium time capsule?
+Bill Clinton
+10
+
+What is an ice hockey puck made from?
+Rubber
+10
+
+Apple's former CEO Steve Jobs was known for wearing what color turtleneck?
+Black
+10
+
+How many red stripes are there on the American flag?
+Seven
+10
+
+What 3 word phrase is written on Martin Luther King's gravestone?
+Free At Last
+10
+
+What is Japanese sake made from?
+Rice
+10
+
+What American beer has been long promoted as the "King of Beers"?
+Budweiser
+10
+
+Which fashion designer was shot dead in the summer of 1997?
+Gianni Versace
+10
+
+As what type of beans are chickpeas also known as?
+Garbanzo
+10
+
+Galileo was the citizen of which country?
+Italy
+10
+
+Which country is the largest producer of vanilla?
+Madagascar
+10
+
+Who performs the character of Mark Zuckerberg in the movie "The Social Network"?
+Jesse Eisenberg
+10
+
+What is the only fruit that has its seeds on the outside?
+Strawberry
+10
+
+What is the only metal that is a liquid at normal atmospheric pressure and temperature?
+Mercury
+10
+
+Who was the only US President to resign?
+Richard Nixon
+10
+
+In which city did Hitler commit suicide?
+Berlin
+10
+
+In ancient Greece, throwing an apple at someone was a declaration of what?
+Love
+10
+
+Who wrote songs for The Lion King?
+Elton John
+10
+
+What U.S. newspaper is nicknamed "the Gray Lady"?
+The New York Times
+10
+
+What is the real first name of Marilyn Monroe?
+Norma Jeane
+10
+
+What country has the most vending machines per capita?
+Japan
+10
+
+What's the most populous city in the United States?
+New York City
+10
+
+Which fruit floats because 25% of its volume is air?
+Apple
+10
+
+What's the brightest star in the sky?
+Sirius
+10
+
+The Eiffel Tower was originally intended for what city?
+Barcelona
+10
+
+In which of Britney Spears' videos does she appear as a stewardess?
+Toxic
+10
+
+Carrots are a good source of which vitamin?
+Vitamin A
+10
+
+What is the name of the prehistoric town in which The Flinstones live?
+Bedrock
+10
+
+What is the driest continent?
+Antartica
+10
+
+Which US state has the longest cave system in the world?
+Kentucky
+10
+
+What blood type qualifies as a universal donor?
+O negative
+10
+
+What is the most abundant metal in the Earth's crust?
+Aluminium
+10
+
+What is the most abundant element in the universe?
+Hydrogen
+10
+
+What was Babe Ruth's first name?
+George
+10
+
+Who was Sports Illustrated's first female sportsperson of the year?
+Billie Jean King
+10
+
+Robin Williams won a best supporting actor Oscar for what film?
+Good Will Hunting
+10
+
+What was the first Disney animated film based on the life of a real person?
+Pocahontas
+10
+
+What character did Michael J. Fox play in 'Back to the Future'?
+Marty McFly
+10
+
+What was the predecessor to the United Nations?
+League of Nations
+10
+
+A flamboyance is a group of what animals?
+Flamingos
+10
+
+What color is a polar bear's skin?
+Black
+10
+
+What is the largest lizard?
+Komodo dragon
+10
+
+The male of what species testicles explode on mating and then dies?
+Honeybee
+10
+
+Europe is separated from Africa by which sea?
+Mediterranean Sea
+10
+
+Canberra is the capital city of which country?
+Australia
+10
+
+New York City comprises how many boroughs?
+5
+10
+
+Which nuts are used to make marzipan?
+Almonds
+10
+
+Botany is the scientific study of what?
+Plants
+10
+
+Tanks were used in battle for the first time in which conflict?
+World War 1
+10
+
+Squab is a name given to the young of which bird?
+Pigeon
+10
+
+Which female singer discovered a 'Genie in a Bottle' in 1999?
+Christina Aguilera
+10
+
+Complete the title of a 1979 number one by Blondie 'Heart of _____'
+Glass
+10
+
+Which Italian fascist leader was known as 'Il Duce'?
+Mussolini
+10
+
+If a male donkey is a jack, what is the female called?
+Jenny
+10
+
+In what country did carving jack o' lanterns originate?
+Ireland
+10
+
+In what American state is it illegal to dress up like a priest or a nun?
+Alabama
+10
+
+What is the largest planet in our solar system?
+Jupiter
+10
+
+What has a gravitational pull so strong that even light cannot escape it?
+Black Hole
+10
+
+Which 1998 Disney film was Lindsay Lohan's film debut?
+Parent Trap
+10
+
+What type of business did Annie have that failed in "Bridesmaids"?
+Bakery
+10
+
+What were the two sides in World War II known as?
+Allies and Axis
+10
+
+What number did Derek Jeter wear on his New York Yankees jersey?
+2
+10
+
+What vitamin does the sun's ultraviolet rays help the skin produce?
+Vitamin D
+10
+
+What is "jaggery," used in Indian cooking?
+Sugar
+10
+
+What TV show won the most Emmys in 2018?
+The Marvelous Mrs. Maisel
+10
+
+Nepal is located on which continent?
+Asia
+10
+
+What does a seismologist study?
+Earthquakes
+10
+
+Where did Barack Obama teach constitutional law?
+University of Chicago
+10
+
+Which sea is located in Israel and Jordan?
+Dead Sea
+10
+
+What are the bones in the fingers called?
+Phalanges
+10
+
+What company makes the Butterfinger bar?
+Nestle
+10
+
+Which character becomes Brienne's squire in season 4 of "Game of Thrones"?
+Podrick Payne
+10
+
+What particle in an atom has a positive charge?
+Proton
+10
+
+What is the biggest artery in the human body?
+Aorta
+10
+
+What is the name of Jordan's capital city?
+Amman
+10
+
+What is Harry Potter's Patronus?
+A stag
+10
+
+What candy was used to lure E.T. in the 1982 movie "E.T.: The Extra-Terrestrial"?
+Reese's Pieces
+10
+
+The tuba is the largest member of which musical family?
+Brass
+10
+
+Which is the main substance used to make a crayon?
+Wax
+10
+
+The video game "Happy Feet" features what animals?
+Penguins
+10
+
+What actress won her first Oscar for "Kramer vs. Kramer"?
+Meryl Streep
+10
+
+What object of Dwight's did Jim put in Jell-O on the TV show "The Office"?
+Stapler
+10
+
+Who voices Morty in the series "Rick and Morty"?
+Justin Rolland
+10
+
+The quote "You're gonna need a bigger boat" came from what movie?
+Jaws
+10
+
+What does the "R" stand for on the rating of a movie?
+Restricted
+10
+
+Who played Cher Horowitz in the movie "Clueless"?
+Alicia Silverstone
+10
+
+Which artist painted, "Guernica"?
+Pablo Picasso
+10
+
+What country produced the most strawberries in 2016?
+China
+10
+
+The traditional Wimbledon colors are green and what?
+Purple
+10
+
+On the television show "How I Met Your Mother", what is Lily's occupation?
+Kindergarten Teacher
+10
+
+Which art movement is Salvador Dali associated with?
+Surrealism
+10
+
+Where did rap superstar Eminem grow up?
+Detroit
+10
+
+In what city did Princess Diana suffer her fatal car crash?
+Paris
+10
+
+What grows from an acorn?
+Oak Tree
+10
+
+What prison film starring Tim Robbins was based on a story by Stephen King?
+The Shawshank Redemption
+10
+
+Which U.S. state has "Garden State" as its nickname?
+New Jersey
+10
+
+Which type of fruit juice did Dole sell first?
+Pineapple
+10
+
+What is the main ingredient in falafel?
+Chickpea
+10
+
+What currency is used in South Africa?
+Rand
+10
+
+Port-au-Prince is the capital of which country?
+Haiti
+10
+
+What major movie actor's first role was in "A Nightmare On Elm Street"?
+Johnny Depp
+10
+
+What was Toyota's first popular hybrid car called?
+Prius
+5
+
+What did the first vending machine dispense?
+Holy Water
+10
+
+Who created the animated series "Futurama"?
+Matt Groening
+10
+
+What is the most populous city in Canada?
+Toronto
+10
+
+Which President of South Africa ordered Nelson Mandela's release from prison?
+De Klerk
+10
+
+Which 2008 comedy had the tagline "Put this in your pipe and smoke it"?
+Pineapple Express
+10
+
+Islamabad is the capital of which country?
+Pakistan
+10
+
+American pioneer, John Chapman, was famous for planting which kind of tree?
+Apple Trees
+10
+
+Where is the uvula located?
+In The Throat
+10
+
+What gas makes soda bubbly?
+Carbon Dioxide
+10
+
+Which country has a red flag with a star in the middle?
+Morocco
+10
+
+Who preceded Fidel Castro as political leader of Cuba?
+Fulgencio Batista
+10
+
+How many sides does the home plate in baseball have?
+5
+10
+
+What color dresses do Chinese women traditionally wear on their wedding day?
+Red
+10
+
+Tom Cruise considered pursuing a career in what sport before being injured?
+Wrestling
+10
+
+What country is bordered by Germany, the Czech Republic, Slovakia and the Ukraine?
+Poland
+10
+
+The Da Vinci Code opens with a murder in which famous museum?
+Louvre
+10
+
+Which insect can indicate the air temperature?
+Cricket
+10
+
+What candy ran the promotion for baseball's one millionth run?
+Tootsie Rolls
+10
+
+Blueberries are native to which continent?
+North America
+10
+
+A book by Barack Obama is titled "The Audacity of" what?
+Hope
+10
+
+What type of lens has a thin middle and makes objects appear smaller?
+Concave
+10
+
+What is the Hawaiian name for yellow fin tuna?
+Ahi
+10
+
+Rihanna banned fans from bringing what items to her U.K. concerts in 2008?
+Umbrellas
+10
+
+Who created the alien rock superstar Ziggy Stardust?
+David Bowie
+10
+
+Which young girl helped drive the English from French soil in the 15th century?
+Joan of Arc
+10
+
+What U.S. President coined the phrase "Good to the last drop," referring to coffee?
+Theodore Roosevelt
+10
+
+What is the biggest supermarket chain in the U.S.?
+Kroger Co.
+10
+
+On every continent there is a city named what?
+Rome
+10
+
+Which name are the Sandwich Islands better known as?
+Hawaii
+10
+
+What is a single strand of spaghetti called?
+Spaghetto
+10
+
+By U.S. law, exit signs must be one of what two colors?
+Green or red
+10
+
+Where did the 2000 Summer Olympics take place?
+Sydney, Australia
+10
+
+Where do U.S. vice presidents live?
+on the grounds of the U.S. Naval Observatory
+10
+
+Who was the first American woman in space?
+Sally Ride
+10
+
+What was the name of the high school in "Grease"?
+Rydell High
+10
+
+How many pounds are in a ton?
+2000
+10
+
+What is an eight-sided shape called?
+Octagon
+5
+
+Which number does every Major League Baseball player wear on April 15?
+42
+10
+
+What is the maximum number of points someone can achieve on Pac-Man?
+3333360 points
+10
+
+What species of fish is Nemo?
+Clown Fish
+10
+
+In "Harry Potter and the Sorcerer's Stone," what keeps the three-headed dog asleep?
+Enchanted harp
+10
+
+What state is known as the "Badger State"?
+Wisconsin
+10
+
+How Did Leica, the German camera company, get its name?
+Founder Ernest Leitz used the first three letters of his last name combined with the first two letters from "camera."
+10
+
+When was Earth Day first celebrated?
+1970
+10
+
+How many legs does a lobster have?
+10
+10
+
+What year did Dunkin' Donuts become Dunkin'?
+2018
+10
+
+What is Florida's state bird?
+The Northern Mockingbird
+10
+
+What was Sabrina's cat's name in "Sabrina the Teenage Witch"?
+Salem
+10
+
+What year was the original "Jurassic Park" movie released?
+1993
+10
+
+Which player from the Dallas Mavericks is an investor in Big Blanket Co., the maker of 10-by-10 foot blankets?
+Boban Marjanovic
+10
+
+Where were Doritos invented?
+Casa de Fritos at Disneyland
+10
+
+What's the name of Ginny's Pygmy Puff?
+Arnold
+10
+
+What president was a licensed bartender?
+Abraham Lincoln
+10
+
+What type of race is the Tour de France?
+Bicycle
+10
+
+What is the name of Hagrid's half-brother?
+Grawp
+10
+
+How many pounds of curly fries does Arby's sell in a year?
+100 million
+10
+
+How many points does the Star of David have?
+Six
+10
+
+Who won first season of "America's Next Top Model"?
+Adrianne Curry-Rhode
+10
+
+What state has the longest freshwater shoreline?
+Michigan
+10
+
+Who was the first president to visit all 50 states?
+Richard Nixon
+10
+
+What is the diameter of the average basketball hoop?
+18 inches
+10
+
+When was Mariah Carey's "All I Want For Christmas Is You" released?
+October 1994
+10
+
+Who is Barbie's little sister?
+Skipper
+10
+
+What color is a giraffe's tongue?
+Purple
+10
+
+What is the Grinch's dog's name?
+Max
+10
+
+What is the name of Boba Fett's ship in "Star Wars"?
+Slave 1
+10
+
+What year was Kodak founded?
+1892
+10
+
+What is Taylor Swift's lucky number?
+13
+10
+
+How many Oscars does Jane Fonda have?
+Two
+10
+
+What animal's nickname is "sea cow"?
+Manatee
+10
+
+How many Academy Awards did "Titanic" win?
+11
+10
+
+Where was the first Olympics held?
+Panathenaic Stadium, Greece
+10
+
+What percentage of the Earth's wildlife is found in the ocean?
+94%
+10
+
+What U.S. state grows coffee beans?
+Hawaii
+10
+
+What is the name of the mall in the third season of "Stranger Things"?
+Starcourt Mall
+10
+
+How often are the Summer Games held?
+Every four years
+10
+
+Which Disney princess has a Scottish accent?
+Merida
+10
+
+How many staircases are located in Hogwarts?
+142
+10
+
+What is Jack Skellington's dog's name?
+Zero
+10
+
+What animal has the biggest eyes?
+Giant Squid
+10
+
+What comic series is the CW's "Riverdale" based on?
+Archie
+10
+
+How many reindeer does Santa have?
+Eight
+10
+
+What are the Cleveland Browns' team colors?
+Brown and orange
+10
+
+In what movie does Robert De Niro say, "You talkin' to me?"
+Taxi Driver
+10
+
+What is the northernmost point in the United States?
+Point Barrow, Alaska
+10
+
+How many people tuned into the last episode of "Friends"?
+52.5 million
+10
+
+What is Texas' state flower?
+The Bluebonnet
+10
+
+How many floors does the Eiffel Tower have?
+Three
+10
+
+What is the name of the world's hottest chili pepper?
+Carolina Reaper
+10
+
+What is Starbucks' logo?
+A Siren
+10
+
+What is the largest bone in the human body?
+Femur
+10
+
+Who was the first Disney princess?
+Snow White
+10
+
+What is California's state animal?
+California grizzly bear
+10
+
+What are baby rabbits called?
+Kits
+10
+
+What year was "Jaws" released?
+1975
+10
+
+In football, how many points does a touchdown have?
+Six
+10
+
+In "Star Wars," who built C-3P0?
+Anakin Skywalker
+10
+
+Who painted "Girl with a Pearl Earring"?
+Johannes Vermeer
+10
+
+What animal breathes through its butt?
+Turtle
+10
+
+How many seasons did "The Oprah Winfrey Show" run?
+25
+10
+
+What year was the first Barbie doll released?
+1959
+10
+
+How long was the first Thanksgiving?
+Three days
+10
+
+How many planets make up the solar system?
+Eight
+10
+
+How many colors are in a rainbow?
+Seven
+10
+
+"The Princess and the Frog" is set in which American city?
+New Orleans
+10
+
+What is Hermione's Patronus?
+Otter
+10
+
+Who wrote "A Little Princess"?
+Frances Hodgson Burnett
+10
+
+Which U.S. President was a law professor?
+Bill Clinton
+10
+
+Who was the first couple to win "The Amazing Race"?
+Rob Frisbee and Brennan Swain
+10
+
+Who was the first woman ever inducted into the Rock and Roll Hall of Fame?
+Aretha Franklin
+10
+
+Who voiced Ms. Frizzle on the children's television series "Magic School Bus"?
+Lily Tomlin
+10
+
+In the United Kingdom, what is the day after Christmas known as?
+Boxing Day
+10
+
+Which three zodiac signs are summer signs?
+Cancer, Leo and Virgo
+10
+
+Which month of the year is National Ice Cream Month?
+July
+10
+
+Which astronomer is called out in "Bohemian Rhapsody"?
+Galileo
+10
+
+What is the fear of flowers called?
+Anthrophobia
+10
+
+Which shoe did Cinderella leave behind at the ball?
+Left
+10
+
+What is the currency of Poland?
+Zloty
+10
+
+How tall is the Empire State Building (without the spire and antenna)?
+1,250 feet
+10
+
+Which country produces the most tea?
+China
+10
+
+How many ghosts show up in "A Christmas Carol"?
+Four
+10
+
+In what city is the world's largest Starbucks?
+Chicago
+10
+
+Who is the villain in "Peter Pan"?
+Captain Hook
+10
+
+Who was the youngest U.S. president?
+Theodore Roosevelt
+10
+
+In what year was the first iPod released?
+2001
+10
+
+Who did the U.S. buy Florida from?
+Spain
+10
+
+Which country gives students the longest summer holiday?
+Italy
+10
+
+What is the school's mascot in "High School Musical"?
+Wild Cats
+10
+
+Where are cricket's ears located?
+On their legs
+10
+
+What country does "The Jungle Book" take place in?
+India
+10
+
+How many folds are in a chef's hat?
+100
+10
+
+What are California's state colors?
+Blue and Gold
+10
+
+What is United Kingdom's national Anthem?
+God Save the King
+10
+
+Hannibal Hamlin was Vice-president under which U.S. President?
+Abraham Lincoln
+10
+
+Which African nation was founded by former slaves?
+Liberia
+10
+
+Who's picture is on the US $50 bill?
+Ulysses Grant
+5
+
+Name the tallest nonextinct mammal at birth
+Giraffe
+15
+
+Which Cunard liner was torpedoed and sunk by a German submarine?
+Lusitania
+10
+
+Who, in 1903, was the first woman to win a Nobel Prize?
+Marie Curie
+10
+
+What year did the Berlin wall fall?
+1989
+10
+
+What is the more popular name for the portrait officially titled "La Gioconda," painted in 1503?
+The Mona Lisa
+10
+
+What element does the chemical symbol Au stand for?
+Gold
+10
+
+What is the sign directly opposite Scorpio in the zodiac?
+Taurus
+10
+
+Who is considered the first female self-made millionaire in the U.S.?
+Madam C.J. Walker
+10
+
+How many colors were on the original Pride flag, flown at the San Francisco Gay Freedom Day Parade in 1978?
+Eight (the pink and turquoise stripes were dropped by 1979 for production reasons)
+10
+
+What is the first name of the main female protagonist in Zora Neale Hurston's classic novel Their Eyes Were Watching God?
+Janie
+10
+
+The shooting of whom, in 1914, started World War I?
+Archduke Franz Ferdinand
+10
+
+What is the smallest planet in our solar system?
+Mercury
+10
+
+Who is commonly credited with throwing the first brick at Stonewall in 1969, beginning an uprising that became a major turning point for LGBTQ+ rights in the U.S.?
+Marsha P. Johnson
+10
+
+What are the first 22 cards in a tarot deck called?
+The Major Arcana
+10
+
+What was the name of the possessed hotel in Steven King's novel (and movie) The Shining, based on the real-life Stanley Hotel in Colorado?
+The Overlook Hotel
+10
+
+What is the capital of India?
+New Delhi
+10
+
+Which two states in the U.S. share the most borders with other states?
+Tennessee and Missouri
+10
+
+At a restaurant, you'll see deer meat on the menu under what name?
+Venison
+10
+
+What country has the national language with the longest alphabet?
+Cambodia (their national language, Khmer, has 74 characters!)
+10
+
+What is the pseudonym for the author of the best-selling, four-part book series known as the Neapolitan Novels, now an HBO series?
+Elana Ferante
+10
+
+What is the name of the ship that rescued Titanic passengers hours after the ship went down?
+The Carpathia
+10
+
+Where is recognized as the location of the hottest temperature ever recorded on Earth, per the World Meteorological Organization?
+Death Valley, California
+10
+
+What was the first book published by Jane Austen?
+Sense and Sensibility
+10
+
+Which two countries have the longest shared international border?
+Canada and the U.S.
+10
+
+What city hosted the 2014 Winter Olympics?
+Sochi, Russia
+10
+
+What is the human body's largest organ?
+Skin
+10
+
+What year was the first iPhone released?
+2007
+10
+
+What's the (extremely metal) name for a group of crows?
+A murder
+10
+
+How many feet are in a yard?
+Three
+10
+
+How many bones do sharks have?
+Zero!
+10
+
+What is the deadliest mammal?
+Hippo
+10
+
+What is the deadliest insect?
+Mosquito
+10
+
+What country was the Marxist revolutionary figure Che Guevara born in?
+Argentina
+10
+
+What is the capital of Singapore?
+Singapore (it's an island city-state)
+10
+
+What is the word for the weather event also called a winter hurricane?
+A bomb cyclone
+10
+
+What was the first country to give women the right to vote?
+New Zealand
+10
+
+What year was the landmark civil and LGBTQ+ rights case Obergefell v. Hodges ruled on?
+2015
+10
+
+The Hawaiian Islands archipelago is made up of how many major islands?
+137
+10
+
+What chewy dessert topping is made from tartar and egg whites and often found on pie?
+Meringue
+10
+
+In Greek mythology, who was known as the messenger of the gods?
+Hermes
+10
+
+What was the birth name of boxing legend Muhammad Ali?
+Cassius Clay
+10
+
+In chess, what direction can a bishop move?
+Diagonally
+10
+
+Who was the world's first cloned animal, a sheep, named after in 1996?
+Dolly Parton
+10
+
+What is the name for the equinox that occurs on March 20th or 21st of each year?
+The Vernal Equinox
+10
+
+What's the shortcut for the paste function on most computers?
+Ctrl-V
+10
+
+What river runs through Paris?
+Seine
+10
+
+What kind of flower was once used as money?
+Tulips
+10
+
+What is the capital of Iowa?
+Des Moines
+10
+
+What is the most commonly spoken language in Brazil?
+Portuguese
+10
+
+In what country do more than half of people believe in elves?
+Iceland
+10
+
+How many colors will you find in a regular bag of M&Ms?
+Six
+10
+
+The Statue of Liberty was a gift to the U.S. from what country?
+France
+10
+
+How many wives did Henry VIII have?
+Six
+10
+
+What is the rarest blood type?
+AB negative
+10
+
+Which famous art movement did Pablo Picasso co-create?
+Cubism
+10
+
+Which U.S. president is featured on the $2 bill?
+Thomas Jefferson
+10
+
+For up to how long do cicadas live underground before emerging above ground for just a few weeks?
+17 years
+10
+
+What phase does a moon enter into after it's full?
+Waxing Gibbous (if you guessed just the first bit, that works!)
+10
+
+Where on the food pyramid do eggplants belong?
+In the fruit section
+10
+
+What alcoholic beverage is made from juniper berries?
+Gin
+10
+
+In what city is the world's tallest roller coaster?
+New Jersey
+10
+
+At what theme park is the world's largest roller coaster?
+Six Flags New Jersey
+10
+
+What is the national animal of Scotland?
+The unicorn
+10
+
+For how many nights is Hanukkah celebrated?
+Eight
+10
+
+What religious and political organization did Malcolm X join in 1952, helping it to grow exponentially before cutting ties with it in 1964?
+Nation of Islam
+10
+
+What country has the highest number of citizens over the age of 65?
+Japan
+10
+
+How many keys are on a modern, standard-sized piano?
+88
+10
+
+Area 51 is located in which U.S. state?
+Nevada
+10
+
+What U.S. fast food chain is credited with introducing the first drive-through window to the masses?
+In-N-Out Burger
+10
+
+What temperature (in Fahrenheit degrees) does water boil at?
+212
+10
+
+What temperature (in Celsius/Centigrade degrees) does water boil at?
+100
+10
+
+Where is Harvard University located?
+Cambridge, Massachusetts
+10
+
+Which marine animals hold hands in their sleep to prevent drifting apart?
+Sea otters, and my system is unable to process that level of cuteness.
+10
+
+What famous document begins: "When in the course of human events..."?
+Declaration of Independence
+10
+
+What current branch of the U.S. military was a corps of only 50 soldiers when World War I broke out?
+Air Force
+20
+
+What game was created by French mathematician Blaise Pascal, which he discovered when doing experiments into perpetual motion?
+Roulette
+20
+
+Who said: "I'm the president of the United States and I'm not going to eat any more broccoli"?
+George Bush
+10
+
+What so-called "war" spawned the dueling slogans "Better Dead Than RED" and "Better Red Than Dead" in the 1950s?
+Cold War
+10
+
+What president was shot while walking to California Governor Jerry Brown's office?
+Gerald Ford
+10
+
+Who earned infamy for noting: "A billion dollars isn't worth what it used to be"?
+J Paul Getty
+20
+
+What ethnic group was largely responsible for building most of the early railways in the U.S. West?
+Chinese
+10
+
+What was a gladiator armed with, in addition to a dagger and spear?
+Net
+10
+
+What future Soviet dictator was training to be a priest when he got turned on to Marxism?
+Joseph Stalin
+10
+
+What election year saw bumper stickers reading "Wallace, Wallace, Uber Alles"?
+1968
+10
+
+In 1983, what Cowboy's 99-yard run from scrimmage put him in the NFL football record book?
+Tony Dorsett's
+10
+
+What 20th-century conflict was dubbed the "forgotten war" despite 54,246 U.S. deaths?
+The Korean War
+10
+
+What single name is more commonly applied to Holy Roman Emperor Charles the Great?
+Charlemagne
+10
+
+Who was the last president of the Soviet Union?
+Mikhail Gorbachev
+10
+
+What had Pliny the Younger seen erupt when he wrote: "We were terrified to see everything changed, buried in ashes like snow drifts"?
+Mount Vesuvius
+15
+
+Who saw the turtleneck he wore at cease-fire talks in Bosnia fetch $5,000 at auction?
+Jimmy Carter
+15
+
+What Alabama city saw state troopers attack Civil Rights marchers on Edmund Pettis Bridge?
+Selma
+15
+
+What Texan ended up with one delegate after spending $12 million of his own money running for president in 1980?
+John Connally
+15
+
+What congressional award was Dr. Mary Edwards Walker the first woman to receive?
+Medal of Honor
+10
+
+What modern vehicle was invented to circumvent trench warfare?
+Tank
+10
+
+What California city did the last Pony Express ride end in?
+Sacramento
+10
+
+Who was the first U.S. president to adopt the informal version of his first name?
+Jimmy Carter
+10
+
+What civil rights leader did Dorothy Parker leave the bulk of her estate to?
+Martin Luther King Jr
+10
+
+What did Republicans call the platform they hyped in the 1994 Congressional elections?
+The Contract With America
+10
+
+What brave-hearted Scottish patriot led soldiers to a defeat of the English at the Battle of Cambuskenneth in 1297?
+William Wallace
+10
+
+What nation issued the five-dollar bill found in Abraham Lincoln's pocket when he was shot?
+The Confederate States of America
+10
+
+What political system was gradually dismantled in South Africa, starting in 1989?
+Apartheid
+10
+
+What was 11th-century Spanish military leader Rodrigo Diaz de Vivar better known as?
+El Cid
+10
+
+What field and city name did Amelia Earhart have her first flying lesson at?
+Kinner Field, Long Beach
+20
+
+For safety, bacon can be treated to prevent what disease?
+Trichinosis
+15
+
+Ginsburg is believed to be the first Supreme Court justice to officiate at what?
+Same-sex wedding
+10
+
+How tall in meters is the Eiffel Tower?
+324
+10
+
+How tall in feet is the Eiffel Tower?
+1063
+10
+
+During its construction, the Eiffel Tower surpassed what monument to become the tallest man-made structure in the world?
+Washington Monument
+10
+
+Where is Mount Rushmore (City, State)?
+Keystone, South Dakota
+5
diff --git a/xtrn/gttrivia/qa/music_movies_and_entertainment.qa b/xtrn/gttrivia/qa/music_movies_and_entertainment.qa
new file mode 100644
index 0000000000..5755239d00
--- /dev/null
+++ b/xtrn/gttrivia/qa/music_movies_and_entertainment.qa
@@ -0,0 +1,1184 @@
+Amy Winehouse, Jimi Hendrix and Janis Joplin all belong to what unofficial organization?
+The 27 Club
+10
+
+Who besides Britney Spears did Madonna kiss at the 2003 VMAs?
+Christina Aguilera
+10
+
+What song was behind the very first music video to ever premiere on MTV?
+"Video Killed the Radio Star"
+10
+
+With what album did Beyonc� start her solo career?
+Dangerously In Love
+10
+
+What is the stage name of Stefani Joanne Angelina Germanotta?
+Lady Gaga
+10
+
+Who sang the first recorded version of "Strange Fruit," a classic, haunting protest song against racism and violence against Black bodies?
+Billie Holiday
+10
+
+Who was the first woman inducted into the Rock & Roll Hall of Fame?
+Aretha Franklin
+10
+
+What musical artist played a whopping 27 different instruments on their debut album, "For You"?
+Prince
+10
+
+Where did the band ABBA form?
+Sweden
+10
+
+Which Beatles' single was No. 1 on the Billboard charts for the longest stretch of time?
+Hey Jude
+10
+
+What was the Notorious BIG's real first name?
+Christopher
+10
+
+How old was Taylor Swift when she took home her first Album of the Year Grammy?
+20
+10
+
+Starchild, Demon, Spaceman (or Space Ace), and Catman are the on-stage personas of what band?
+KISS
+10
+
+How many members does BTS have?
+7
+10
+
+What was The Beach Boys' first No. 1 single, out of a total of four?
+I Get Around
+10
+
+What instrument does Lizzo play?
+The Flute
+10
+
+What musical artist cast themselves as every character in a 1978 televised performance of West Side Story?
+Cher
+10
+
+What is the longest-running band still featuring its original lineup?
+U2
+10
+
+What is the best-selling album of all time in the U.S.?
+Their Greatest Hits by the Eagles
+10
+
+How did Otis Redding die?
+A plane crash
+10
+
+Which famous country artist had a hit in 1957 with "Walkin' After Midnight"?
+Patsy Cline
+10
+
+In 2017, what single topped the charts in 47 countries simultaneously?
+"Despacito"
+10
+
+Who did Beyonc� edge out in 2021 for the title of female artist with the most Grammys?
+Alison Krauss
+10
+
+What is the name of Led Zeppelin's fourth studio album, which includes the song "Stairway to Heaven"?
+It's untitled! Although it's most often referred to as Led Zeppelin IV
+10
+
+Ariana Grande started her career at age 15 in what Broadway musical?
+13
+10
+
+What movie is the Oscar-nominated song "Journey to the Past" from?
+Anastasia
+10
+
+Who plays the Fairy Godmother in the 1997 version of Cinderella, starring Brandy?
+Whitney Houston
+10
+
+How many children are in the Von Trapp family in The Sound of Music?
+Seven
+10
+
+What is the highest-grossing movie of all time?
+Avatar
+10
+
+What specific shade does Meryl Streep's Miranda Priestly dedicate a monologue to in The Devil Wears Prada?
+Cerulean
+10
+
+What famous documentary depicts New York City's ballroom scene at the height of the AIDS epidemic in the mid-to-late 1980s?
+Paris is Burning
+10
+
+What was the first feature-length animated movie ever released?
+Snow White and the Seven Dwarves
+10
+
+What character is played perfectly by Jeff Goldblum in Jurassic Park and significantly less perfectly by Goldblum in The Lost World: Jurassic Park?
+Ian Malcolm
+10
+
+What famous real-life Hollywood couple starred in the film adaptation of Who's Afraid of Virginia Woolf?
+Elizabeth Taylor and Richard Burton
+10
+
+What's the name of the dance number performed toward the beginning of Rocky Horror Picture Show?
+The Time Warp
+10
+
+In what fictional town is Jaws set?
+Amity Island
+10
+
+What musical group is the movie Dreamgirls purportedly based on?
+Although the movie is a fictional blend of multiple Motown female-led singing groups, it's thought to most draw on the Supremes
+10
+
+In Titanic, where is Jack Dawson from?
+Chippewa Falls, Wisconsin
+10
+
+What does the movie rating "R" stand for?
+Restricted
+10
+
+What movie is Alan Rickman's first film credit?
+Die Hard
+10
+
+The costume designer for Romy & Michele's High School Reunion also did the costumes for what fellow iconic 90s-fashion movie?
+Clueless
+10
+
+Who is the only Disney princess to have been inspired by a real person?
+Pocahontas - although given Disney's historical inaccuracies, let's go ahead and call this one capital-L Loosely inspired.
+10
+
+How many suns does the planet Tatooine, Luke's home, have in Star Wars?
+Two
+10
+
+What was the first - and still only - horror movie to win the Oscar for Best Picture?
+Silence of the Lambs
+10
+
+What movie is the first non-English film to win the Oscar for Best Picture?
+Parasite
+10
+
+What is the name of the hotel in Psycho?
+The Bates Motel
+10
+
+How many times has the movie A Star is Born been remade?
+Four times
+10
+
+Why is Ally Sheedy's character in detention in The Breakfast Club?
+She "didn't have anything better to do."
+10
+
+Who was the first Black actress to win an Oscar?
+Hattie McDaniel
+10
+
+Who won his second Oscar for the role of Raymond in the movie Rain Man?
+Dustin Hoffman
+10
+
+What was the first television game show ever?
+Spelling Bee
+10
+
+Daytime game shows would be played for lower stakes to target whom?
+Housewives
+20
+
+In 1959, many higher-stakes game shows were discovered to be what?
+Rigged
+10
+
+In what year did Let's Make a Deal first air??
+1963
+10
+
+What are the dying words of Charles Foster Kane in Citizen Kane?
+Rosebud
+10
+
+Who played Mrs. Robinson in The Graduate?
+Anne Bancroft
+10
+
+What was the first feature-length animated movie ever released?
+Snow White and the Seven Dwarfs
+10
+
+In The Matrix, does Neo take the blue pill or the red pill?
+Red
+10
+
+For what movie did Tom Hanks score his first Academy Award nomination?
+Big 
+10
+
+What 1927 musical was the first "talkie"?
+The Jazz Singer 
+10
+
+What's the name of the skyscraper in Die Hard?
+Nakatomi Plaza
+10
+
+What flavor of Pop Tarts does Buddy the Elf use in his spaghetti in Elf? 
+Chocolate
+10
+
+What shocking Wes Craven horror movie carried the marketing tagline, "To avoid fainting, keep repeating, 'It's only a movie...'"?
+The Last House on the Left 
+10
+
+What pop vocal group performs at the wedding in Bridesmaids?
+Wilson Phillips
+10
+
+What real-life on-again off-again Hollywood power couple starred in the film Who's Afraid of Virginia Woolf?
+Elizabeth Taylor and Richard Burton
+10
+
+What American writer/director starred in several iconic European-produced "Spaghetti Westerns"?
+Clint Eastwood
+10
+
+Who played Juror Number 8 in 12 Angry Men?
+Henry Fonda
+10
+
+Related: The 100 Best Movies of All Time, Ranked 
+
+The head of what kind of animal is front-and-center in an infamous scene from The Godfather?
+A horse
+10
+
+What TV show was Jack Nicholson referencing when he ad-libbed "Here's Johnny!" in The Shining?
+The Tonight Show Starring Johnny Carson 
+10
+
+What critically panned 1984 country-musical comedy starring Dolly Parton and Sylvester Stallone eventually became a cult classic?
+Rhinestone 
+10
+
+Who played park owner John Hammond in Jurassic Park?
+Richard Attenborough
+10
+
+In what 1976 thriller does Robert De Niro famously say "You talkin' to me?"
+Taxi Driver 
+10
+
+Related: 50 Fun Christmas Trivia Questions (with Answers)
+
+What's the name of the anthemic dance near the beginning of The Rocky Horror Picture Show?
+The Time Warp
+10
+
+For what movie did Steven Spielberg win his first Oscar for Best Director?
+Schindler's List 
+10
+
+What is the name of the courtesan played by Nicole Kidman in Moulin Rouge! 
+Satine
+10
+
+In what 1950 drama does Bette Davis say, "Fasten your seatbelts; it's going to be a bumpy night"?
+All About Eve 
+10
+
+The theme from The Third Man (also called "The Harry Lime Theme" was performed on what instrument?
+Zither
+10
+
+Marlon Brando "could have been a contender" in what iconic 1954 crime drama?
+On the Waterfront
+10
+
+What famous L.A. landmark is heavily featured in Rebel Without a Cause?
+Griffith Observatory
+10
+
+Who played Martin Luther King Jr. in the 2014 biopic Selma?
+David Oyelowo
+10
+
+Related: 100+ Best TV Shows on Netflix Right Now 
+
+Who directed Boris Karloff in the classics Frankenstein and Bride of Frankenstein?
+James Whale
+10
+
+What infamous 1980 box-office bomb ruined the career of The Deer Hunter director Michael Cimino?
+Heaven's Gate
+10
+
+What words are written on the knuckles of "Reverend" Harry Powell (Robert Mitchum) in The Night of the Hunter?
+Love and hate
+10
+
+What Hollywood movie star plays himself in Zombieland?
+Bill Murray
+10
+
+In Risky Business, what song did Tom Cruise famously lip-sync to in his underwear?
+Old Time Rock and Roll by Bob Seger
+10
+
+Who is the only actor to receive an Oscar nomination for acting in a Lord of the Rings movie?
+Ian McKellen
+10
+
+Who took over the role of Bruce Wayne's love interest Rachel Dawes in The Dark Knight, following Katie Holmes's exit after Batman Begins?
+Maggie Gyllenhaal
+10
+
+What song plays over the opening credits of Guardians of the Galaxy?
+Come and Get Your Love by Redbone
+10
+
+For which 1964 musical blockbuster did Julie Andrews win the Academy Award for Best Actress?
+Mary Poppins
+10
+
+What is the highest-grossing R-rated movie of all time (as of 2022)?
+Joker
+10
+
+What 1994 crime film revitalized John Travolta's career?
+Pulp Fiction 
+10
+
+Who voiced the sultry Jessica Rabbit in Who's Afraid of Roger Rabbit? 
+Kathleen Turner
+10
+
+Which movie was incorrectly announced as the winner of Best Picture at the 2017 Academy Awards, during the greatest Oscars flub of all time?
+La La Land 
+10
+
+Which 1948 Alfred Hitchcock movie starred James Stewart and was shot to look like one continuous take?
+Rope 
+10
+
+"Well, nobody's perfect" is the final line (and punchline) from what classic 1959 comedy starring Marilyn Monroe?
+Some Like it Hot 
+10
+
+The stage play Everybody Comes to Rick's was adapted for the screen to become what 1942 Best Picture winner?
+Casablanca 
+10
+
+Related: 250 Best Trivia Team Names
+
+movie-trivia
+In what 1979 James Bond movie does the famous spy go to outer space?
+Moonraker 
+10
+
+Who wrote the famous, scary theme music from Halloween?
+John Carpenter
+10
+
+What animated classic was the first film of the late-twentieth-century "Disney Renaissance?"
+The Little Mermaid
+10
+
+In Apocalypse Now, Robert Duvall says, "I love the smell of _____ in the morning."
+Napalm
+10
+
+What is the name of Quint's shark-hunting boat in Jaws?
+The Orca
+10
+
+What's the name of Charlie Chaplin's most famous, recurring character?
+"The Tramp"
+10
+
+Aaron Sorkin won an Oscar for writing what 2010 drama about the creation of Facebook?
+The Social Network 
+10
+
+Related: 101 Disney Trivia Questions and Answers!
+
+Who played iconic femme fatale Phyllis Dietrichson in classic 1946 film noir Double Indemnity?
+Barbara Stanwyck
+10
+
+What is the model of revolver made famous by Clint Eastwood's "Dirty" Harry Callahan?
+Smith & Wesson Model 29 .44 Magnum
+10
+
+Which 1927 war drama was the first movie to ever win Best Picture?
+Wings 
+10
+
+Who is the first actor to play Jack Ryan on screen?
+Alec Baldwin
+10
+
+What was Audrey Hepburn's birth name?
+Audrey Kathleen Ruston
+10
+
+Joaquin Phoenix received his first Oscar nomination for playing Roman emperor Commodus in what 2000 Oscar-winning epic?
+Gladiator 
+10
+
+Who played the "Unsinkable" Molly Brown in Titanic?
+Kathy Bates
+10
+
+Related: Grab the Popcorn! These Are the 14 Best Movie Streaming Sites For At-Home Screenings
+
+In the action thriller Speed, why is Annie (Sandra Bullock)'s driver's license suspended?
+She was speeding
+10
+
+Jennifer Lawrence won a Best Actress Academy Award for what 2012 romantic comedy/drama?
+Silver Linings Playbook
+10
+
+The Battle of Thermopylae served as the basis of what highly stylized 2006 smash hit swords-and-sandals action flick?
+300 
+10
+
+Which famous film composer wrote the music for Tim Burton's 1989 Batman?
+Danny Elfman
+10
+
+Which Alfred Hitchcock thriller is notorious for its shocking "shower scene"?
+Psycho
+10
+
+What is the highest-grossing foreign-language film at the U.S. box office?
+The Passion of the Christ
+10
+
+Who wrote the screenplay for Rocky?
+Sylvester Stallone
+10
+
+What national monument does Cary Grant climb in the heart-pounding final moments of North by Northwest?
+Mount Rushmore
+10
+
+What was Quentin Tarantino's first feature as writer/director?
+Reservoir Dogs 
+10
+
+Related: We Ranked All Batman Movies, Including The Batman
+
+Which Oscar-winning blonde bombshell played James Stewart's love interest Lisa Carol Fremont in Rear Window?
+Grace Kelly
+10
+
+Who is the only person ever to receive an Oscar nomination for acting in a Star Wars movie?
+Alec Guinness
+10
+
+movie-trivia
+What actress' name, who voices Princess Elsa in the Frozen films, did John Travolta botch at the 2014 Oscars?
+Idina Menzel
+10
+
+What is the real name of Uma Thurman's "The Bride" character from Kill Bill?
+Beatrix Kiddo
+10
+
+What prominent American director won an Oscar for helming Forrest Gump?
+Robert Zemeckis
+10
+
+Three of Jim Carrey's blockbusters�The Mask, Dumb and Dumber and Ace Ventura: Pet Detective�were all released in what year?
+1994
+10
+
+How many suns does Luke's home planet of Tatooine have in Star Wars?
+Two
+10
+
+What movie holds the record for most Oscar wins without winning Best Picture (eight wins total)?
+Cabaret
+10
+
+In what 1969 James Bond thriller does the famous spy fall in love and get married?
+Her Majesty's Secret Service 
+10
+
+What 1970 movie marked the feature debut of Arnold Schwarzenegger?
+Hercules in New York 
+10
+
+What is the first movie ever to be rated PG-13?
+Red Dawn
+10
+
+What is the highest-grossing movie of all time when taking inflation into account?
+Gone With the Wind 
+10
+
+What is the highest-grossing movie of all time when not taking inflation into account?
+Avatar
+10
+
+What's the Los Angeles hotel prominently featured in Pretty Woman?
+The Beverly Wilshire by Four Seasons
+10
+
+What is the only 'X'-rated film to win Best Picture at the Oscars?
+Midnight Cowboy 
+10
+
+Who played detective Rick Deckard in Blade Runner?
+Harrison Ford
+10
+
+What is the name of the spaceship in Alien?
+USCSS Nostromo
+10
+
+This acclaimed, Oscar-winning filmmaker directed Happy Feet, Babe: Pig in the City and Mad Max: Fury Road.
+George Miller
+10
+
+Who is the first and only woman of color to win the Oscar for Best Actress?
+Halle Berry
+10
+
+What's the fictional brand of cigarettes in Quentin Tarantino's movies?
+Red Apple cigarettes
+10
+
+Who played the Wicked Witch of the West in The Wizard of Oz?
+Margaret Hamilton
+10
+
+Which movie star is killed off in the opening scene of Scream?
+Drew Barrymore
+10
+
+What's the name of John Wayne's character in True Grit (played by Jeff Bridgesin the remake)?
+Rooster Cogburn
+10
+
+What is the highest-grossing war movie of all time and Clint Eastwood's highest-grossing movie ever?
+American Sniper 
+10
+
+How many Oscars has Meryl Streep won?
+3
+5
+
+How many Oscars has Meryl Streep been nominated for?
+21
+5
+
+Who played Bonnie Parker and Clyde Barrow in Bonnie & Clyde?
+Faye Dunaway and Warren Beatty
+10
+
+What Martin Scorsese movie holds the all-time record for F-bombs?
+The Wolf of Wall Street 
+10
+
+What is the name of the extended ballet sequence near the end of Singin' in the Rain?
+Broadway Melody
+10
+
+What is the name of Riley's imaginary friend in Inside Out?
+Bing Bong
+10
+
+Who played the Green Goblin in 2002 box-office smash Spider-Man?
+Willem Dafoe
+10
+
+For what movie did George Clooney win his sole acting Oscar to date?
+Syriana 
+10
+
+Near the end of Vertigo, when Judy transforms into Madeline, she is bathed in what color light?
+Green
+10
+
+Who played Regan MacNeil in The Exorcist?
+Linda Blair
+10
+
+What was the first pandemic era movie to gross over $1 billion at the box office?
+Spider-Man: No Way Home
+10
+
+Who is the only actor to appear in Robert Wise�s 1961 West Side Story movie and the 2021 remake?
+Rita Moreno
+10
+
+In the 1932 pre-Code film Blonde Venus, Marlene Dietrich famously appears in a nightclub dressed as what animal?
+Gorilla
+10
+
+What internationally esteemed Malaysian actress has starred in a Bond film, Crouching Tiger, Hidden Dragon, Crazy Rich Asians, Shang-Chi and the Legend of the Ten Rings and more?
+Michelle Yeoh
+10
+
+Who won his second Best Actor Oscar in 2021, in the ceremony�s biggest upset?
+Anthony Hopkins
+10
+
+What indie horror movie boogeyman became an unexpected LGBTQ+ icon of the 21st century?
+The Babadook
+10
+
+What kind of bug is on the back of Ryan Gosling�s silk jacket in Drive?
+Scorpion
+10
+
+What actress was the queen of 1970s �Blaxploitation� cinema?
+Pam Grier
+10
+
+What is the first fantasy movie to win Best Picture at the Oscars?
+The Lord of the Rings: The Return of the King
+10
+
+What is the second (and last) fantasy movie to win Best Picture at the Oscars?
+The Shape of Water
+10
+
+What famous heartthrob is unrecognizable under layers of makeup as The Penguin in 2021�s The Batman?
+Colin Farrell
+10
+
+In Clueless, what character said, �You�re a virgin who can�t drive?�
+Tai
+10
+
+What is the name of the love interest whose �hair looks sexy pushed back� in Mean Girls?
+Aaron Samuels
+10
+
+What highly acclaimed Richard Linklater drama was filmed over and produced over 12 years?
+Boyhood
+10
+
+What is the name of Humperdinck�s kingdom in The Princess Bride?
+Florin
+10
+
+Related: Best Psychological Thriller Movies of All Time 
+
+How many screenwriting Oscars has Quentin Tarantino won?
+Two
+10
+
+What actress exited the set of apocalyptic comedy This is the End over objections to appearing in a scene that involved cannibalism?
+Emma Watson
+10
+
+Who won Best Supporting Actor Oscars for both Moonlight and Green Book?
+Mahershala Ali
+10
+
+What critically maligned 2004 superhero film co-stars Sharon Stone as an evil cosmetics executive?
+Catwoman
+10
+
+Which actress replaced Rachel Weisz as Evelyn O�Connor in The Mummy: Tomb of the Dragon Emperor?
+Maria Bello
+10
+
+What is the name of the fictional boy band in Pixar's Turning Red?
+4*Town
+10
+
+Who plays Duncan Idaho in Dune (2021)?
+Jason Momoa
+10
+
+Dakota Johnson dropped out of Olivia Wilde�s sophomore feature Don�t Worry Darling to appear in what critically acclaimed 2021 drama?
+The Lost Daughter
+10
+
+What legendary pop star judges a fashion �walk-off� between Ben Stiller and Owen Wilson in Zoolander?
+David Bowie
+10
+
+What is the first foreign-language movie to win the Oscar for Best Picture?
+Parasite
+10
+
+What singer has had a Billboard No. 1 hit in each of the last four decades (as of 2022)?
+Mariah Carey
+10
+
+What was Freddie Mercury's real name?
+Farrokh Bulsara
+10
+
+Who was the very first American Idol winner?
+Kelly Clarkson
+10
+
+Which member of the Avengers had a brief stint as a pop star?
+Brie Larson
+10
+
+What pop star wrote songs for Ariana Grande, Miley Cyrus, Britney Spears and Alice Cooper?
+Kesha
+10
+
+Before Bleachers and fun., Jack Antonoff fronted what band?
+Steel Train
+10
+
+Before Miley Cyrus recorded "Wrecking Ball," it was offered to which singer?
+Beyonc�
+10
+
+Which artist's entire 1985 Live Aid set consisted of just a single cover song?
+Elvis Costello
+10
+
+What rock icon was the founder of The Society for the Prevention of Cruelty to Long-haired Men?
+David Bowie
+10
+
+Keith Moon and John Entwistle of The Who are said to have inspired the name of which other classic rock band?
+Led Zeppelin
+10
+
+Golden Simple World Intellectual Property Day Social Media Graphic (3)
+In The Big Lebowski, The Dude can't stand which band?
+The Eagles
+10
+
+Who founded Motown Records?
+Berry Gordy
+10
+
+Before Phil Collins, who was the lead singer of Genesis?
+Peter Gabriel
+10
+
+What was Madonna's first top 10 hit?
+"Holiday"
+10
+
+What rock star moonlights as a horror movie writer and director?
+Rob Zombie
+10
+
+What film did The Clash's Joe Strummer direct starring some of his bandmates?
+Cops and Robbers
+10
+
+Eminem's 8 Mile is named after a road in which city?
+Detroit
+10
+
+Who was Marvin Gaye's duet partner?
+Tammi Terrell
+10
+
+Paul McCartney credits which artist with teaching him everything he knows?
+Little Richard
+10
+
+Who was the first woman ever inducted into the Rock and Roll Hall of Fame?
+Aretha Franklin
+10
+
+Paul McCartney and John Lennon wrote which Rolling Stones song?
+I Wanna Be Your Man
+10
+
+Which member of *NSYNC was a replacement for another who quit before they got big?
+Lance Bass
+10
+
+Believe it or not, Jimi Hendrix only had one Top 40 hit. Which song was it?
+All Along the Watchtower
+10
+
+Who is the only country artist to have a Top 20 hit on the Billboard Hot Country Songs chart for six straight decades?
+Dolly Parton
+10
+
+Art Garfunkel initially declined to sing one of Simon & Garfunkel's biggest hits solo. Which song is it?
+Bridge Over Troubled Water
+10
+
+What was Elvis Presley's first No. 1 hit in the United States?
+Heartbreak Hotel
+10
+
+Van Halen famously banned what color M&Ms in their rider?
+Brown
+10
+
+What other legendary vocalist is a cousin of Whitney Houston?
+Dionne Warwick
+10
+
+"The Day the Music Died" refers to the tragic deaths of which artists?
+Buddy Holly, Ritchie Valens and The Big Bopper
+10
+
+What singer is known as "The Vocal Bible?"
+Brandy
+10
+
+Related: Best Rock Bands of All Time
+
+Which classical composer was deaf?
+Ludwig van Beethoven
+10
+
+Which rockstars were known as "The Terror Twins"?
+Steve Clark and Phil Collen of Def Leppard
+10
+
+Prince introduced his iconic symbol on the cover of which single?
+1999
+10
+
+What did Stevie Ray Vaughan name of his most beloved guitar?
+Jimbo
+10
+
+David Crosby says who is the best singer of all time?
+Bonnie Raitt
+10
+
+What book do The Police reference in "Don't Stand So Close to Me?"
+Lolita
+10
+
+What video beat "Thriller" (name, by artist) for Video of the Year at the first-ever MTV Video Music Awards?
+You Might Think by The Cars
+10
+
+Where was Tupac Shakur born?
+East Harlem, New York
+10
+
+Missy Elliott references what infamous celebrity couple in "Let Me Fix My Weave?"
+Ben Affleckand Jennifer Lopez
+10
+
+Who was the first woman to have four country albums reach No. 1 on the Billboard 200?
+Carrie Underwood
+10
+
+What singer was born Georgios Kyriacos Panayiotou?
+George Michael
+10
+
+Which astronomer is namedropped in "Bohemian Rhapsody?"
+Galileo
+10
+
+Which Alanis Morissette song contains the phrase "jagged little pill" (the title of her debut album)?
+"You Learn"
+10
+
+Frank Sinatra changed the lyrics of "The Lady is a Tramp" to "The Lady is a" what?
+"Champ"
+10
+
+Who was the first lead guitarist of Metallica?
+Dave Mustaine
+10
+
+The Weekndsamples which '80s megahit in "Blinding Lights?"
+Take On Me by A-ha
+10
+
+Which Super Bowl Halftime Show performer was upstaged by a dancing shark?
+Katy Perry
+10
+
+How many coaches (full and part-time) from The Voice have won Grammys?
+12
+10
+
+What does Lady Gaga affectionately call her fans?
+Little Monsters
+10
+
+As a child, what singer held the longest note ever on Star Search?
+Usher
+10
+
+"William Bowery" is a pseudonym for whom?
+Joe Alwyn
+10
+
+Cardi Bstarred on what reality show?
+Love & Hip Hop
+10
+
+What iconic Nashville club does Garth Brooks call "the beginning and the mecca, the end"?
+Bluebird Cafe
+10
+
+George Harrison wrote what song for Eric Clapton about his sweet tooth?
+"Savoy Truffle"
+10
+
+What was the first rap single to hit the Billboard Top 40?
+Rapper's Delight by Sugarhill Gang
+10
+
+Which guitar icon's mom was a designer for the likes of John Lennon, Ringo Starr, David Bowie, Linda Ronstadt and The Pointer Sisters?
+Slash
+10
+
+Though made most famous by Ike and Tina Turner, "Proud Mary" was first recorded by whom?
+Creedence Clearwater Revival
+10
+
+Who sang the Spongebob Squarepants theme song for the movie?
+Avril Lavigne
+10
+
+What singer founded the MuttNation dog rescue organization?
+Miranda Lambert
+10
+
+What languages does Shakira speak?
+English, Spanish, Arabic, French, Italian and Portuguese
+10
+
+What one hit wonder act is behind "Barbie Girl?"
+Aqua
+10
+
+Jared Leto is the frontman of what band?
+30 Seconds to Mars
+10
+
+Who, to date, has won the most Grammys of all time?
+Sir Georg Solti
+10
+
+Adelecredits what political figure for making her career?
+Sarah Palin
+10
+
+What is Post Malone's favorite restaurant?
+Olive Garden
+10
+
+What rock singer testified before Congress about the Parents Music Resource Center?
+Dee Snider of Twisted Sister
+10
+
+What was the first music video to ever air on MTV?
+Video Killed the Radio Star by The Buggles
+10
+
+U2 wrote the song "Stuck in a Moment" about what late frontman?
+Michael Hutchence of INXS
+10
+
+Which member of Kiss wore makeup to look like a cat?
+Peter Criss
+10
+
+Billie Eilish is obsessed with which classic TV show?
+The Office
+10
+
+Taylor Swiftnamed her debut country single after which singer? 
+Tim McGraw
+10
+
+Who produced Michael Jackson's Bad?
+Quincy Jones
+10
+
+What rockstar's memoir is titled The Heroin Diaries?
+Nikki Sixx
+10
+
+The Wu-Tang Clan recommends protecting which body part?
+Your neck
+10
+
+What legendary pop group got their name from "Brothers Gibb"?
+The Bee Gees
+10
+
+Milli Vanilli were performing which of their hit songs when they were exposed for lip-syncing live?
+Girl You Know It's True
+10
+
+What Rolling Stones song title is also a restaurant chain?
+Ruby Tuesday
+10
+
+What smells are described in "Don't Stop Believin'?"
+Wine and cheap perfume
+10
+
+Jay-Z says he got his MBA from where?
+The Marcy Projects
+10
+
+Members of Wilson Phillips are the daughters of which music legends?
+Brian Wilsonof The Beach Boys and John and Michelle Phillips of The Mamas & The Papas
+10
+
+John Mayer wrote a song about which law of physics?
+Gravity
+10
+
+The "J" in Mary J. Blige stands for what?
+Jane
+10
+
+Which Marvel movie's soundtrack won two Grammys?
+Black Panther
+10
+
+"Islands in the Stream" was originally written for what artist?
+Marvin Gaye
+10
+
+Paul McCartney is a fan of what song referencing his work?
+Black Beatles
+10
+
+Weird Al Yankovic mistakenly thought which artist gave his blessing for a parody?
+Coolio
+10
+
+Sean "Diddy" Combs sent Da Band to walk 10 miles to get what iconic dessert?
+Junior's Cheesecake
+10
+
+Lizzo plays what instrument?
+Flute
+10
+
+Which member of The Runaways competed on Jeopardy!?
+Jackie Fox
+10
+
+Which rapper inspired an entire accredited course at Syracuse University called "Hip-Hop Eshu: Queen B***h 101?"
+Lil' Kim
+10
+
+Cher's first single referenced which rock star?
+Ringo Starr
+10
+
+The iconic CBGB stood for what?
+Country, Blue Grass and Blues
+10
+
+Who was Elton John's longtime lyricist?
+Bernie Taupin
+10
+
+Which Backstreet Boys are first cousins?
+Kevin Richardson and Brian Littrell
+10
+
+What do Drake, Taylor Swift and The Beatles have in common?
+They all replaced themselves at No. 1 on the Hot 100
+10
+
+What artists recorded two of their bestselling albums while they were behind bars?
+Johnny Cash
+10
+
+Taylor Swift grew up on what type of farm?
+Christmas Tree Farm
+10
+
+Which Doors song is about Jim Morrison's relationship with Pamela Courson?
+Queen Of The Highway
+10
+
+What country is the band "The Cranberries" from?
+Ireland
+10
+
+What's the best-selling Christmas single of all time?
+White Christmas by Bing Crosby
+10
+
+Which singer's real name is Robyn Fenty?
+Rihanna
+10
+
+What year did MTV launch?
+1981
+10
+
+Who is the youngest Oscar winner of all time?
+Tatum O'Neal
+10
+
+Who was the first "American Idol" winner?
+Kelly Clarkson
+10
+
+Which city is "101 Dalmatians" set in?
+London
+10
+
+Who wrote "The Little Mermaid"?
+Hans Christian Andersen
+10
+
+What is the highest-grossing Broadway show of all time?
+The Lion King
+10
+
+On what network did RuPaul's Drag Race premiere in 2009?
+Logo TV
+10
+
+What is the longest running Broadway show?
+The Phantom of the Opera
+10
+
+What year did Netflix, previously a DVD rental business, introduce streaming services?
+2007
+10
+
+Which actress has had the longest-running TV career?
+Betty White
+10
+
+Which singer's real name is Stefani Joanne Angelina Germanotta?
+Lady Gaga
+10
+
+What type of music has been shown to help plants grow better and faster?
+Classical
+10
diff --git a/xtrn/gttrivia/readme.txt b/xtrn/gttrivia/readme.txt
new file mode 100644
index 0000000000..2abb73e8b8
--- /dev/null
+++ b/xtrn/gttrivia/readme.txt
@@ -0,0 +1,222 @@
+                               Good Time Trivia
+                                 Version 1.00
+                           Release date: 2022-11-18
+
+                                     by
+
+                                Eric Oulashin
+								 AKA Nightfox
+                          Sysop of Digital Distortion
+                  BBS internet address: digitaldistortionbbs.com
+                     Alternate address: digdist.bbsindex.com
+                        Email: eric.oulashin@gmail.com
+
+
+
+This file describes Good Time Trivia.
+
+Contents
+========
+1. Disclaimer
+2. Introduction
+3. Installation & Setup
+   - Installation in SCFG
+4. Configuration file
+
+
+1. Disclaimer
+=============
+I cannot guarantee that this script is 100% free of bugs.  However, I have
+tested it, and I used it often during development, so I have some confidence
+that there are no serious issues with it (at least, none that I have seen).
+
+
+2. Introduction
+===============
+Good Time Trivia is a trivia door game written for Synchronet, in JavaScript
+(so it will run anywhere Synchronet runs).  Good Time Trivia has a question-
+and-answer format and can give the user multiple tries to answer each question,
+with clues provided after incorrect answers (the clue will start off with a
+totally masked answer, and then reveal one letter at a time for each incorrect
+answer given).
+
+Multiple trivia categories are supported, and the user can choose one when
+starting the game.  Each category of questions is contained in its own text
+file.  If there is only one category, then the game will auto-select that
+category when a user enters the game.
+
+Player scores are saved to a file called scores.json in the same directory as
+the script.  The scores file is in JSON format.
+
+In the main menu, there will be an extra option for the sysop to clear the high
+scores.  This will delete the scores.json file.
+
+This is currently a single-player game, but multiple users on different nodes
+can play it simultaneously.
+
+Currently, this trivia game is local to the current BBS only.  In the future,
+I think it would be good to add a feature for networked/inter-BBS games.
+
+
+Answer matching: When a user answers a question, the game can allow non-exact
+answer matching in some circumstances, to account for typos and spelling
+mistakes.  If the answer is a single word up to 12 characters, the game will
+require an exact match for the answer; otherwise, the game will check for a
+Levenshtein distance up to 2 in order to determine if the user entered the
+correct answer.  The Levenshtein distance checking can be adjusted by changing
+the value of the MAX_LEVENSHTEIN_DISTANCE variable in gttrivia.js; however,
+increasing it too much would mean allowing wrong answers as correct in some
+cases.
+For more information on Levenshtein distances:
+https://www.cuelogic.com/blog/the-levenshtein-algorithm
+
+
+3. Installation & Setup
+=======================
+Aside from readme.txt and revision_history.txt, Good Time Trivia is comprised
+of the following files and directories:
+
+1. gttrivia.js            The Good Time Trivia script (this is the script to
+                          run)
+
+2. gttrivia.ini           The configuration file (in INI format)
+
+3. gttrivia.asc           The logo/startup screen to be shown to the user.
+                          This is in Synchronet attribute code format.
+
+4. qa                     This is a subdirectory that contains the trivia
+                          question & answer files.  Each file contains a
+						  collection of questions, answers, and number of
+						  points for each question.  Each filename must have
+						  the general format of category_name.qa, where
+						  category_name is the name of the category of
+						  questions (underscores are required between each
+						  word).  The filename extension must be .qa .
+
+The trivia category files (in the qa directory, with filenames ending in .qa)
+are plain text files and contain questions, their answers, and their number of
+points.  For eqch question in a category file, there are 3 lines:
+Question
+Answer
+Number of points
+
+A blank line after each set of 3 lines is optional.  For example, a question
+in one of the files might be as follows (this is a simple example):
+What color is the sky?
+Blue
+5
+
+Also, there is a script in the qa directory called converter.js.  This is a
+rough script that can be modified to convert a list of trivia questions into
+the format that can be used by this door.  It is not a generic script; if you
+find a list of questions & answers you might want to add to the game, and you
+have some programming knowledge, you could modify this script to convert the
+list of questions & answers into the format required by this door.
+
+
+The configuration file, gttrivia.ini, is a plain text file, in INI format.
+There are 2 sections:
+[BEHAVIOR] - This section contains behavioral options for the game
+[COLORS] - This section specifies colors for various text/items
+[CATEGORY_ARS] - This section can specify a lit of trivia categories (filenames
+                 without the .qa extension) and an ARS string to restrict
+                 access to some trivia categories, if desired
+
+
+The .js script, .ini file, and qa subdirectory can be placed together in any
+directory.  When the game reads the configuration file & theme file, the game
+will first look in your sbbs/mods directory, then sbbs/ctrl, then in the same
+directory where the .js script is located.  So, if you desire, you could place
+gttrivia.js in sbbs/exec and the .ini file sin your sbbs/ctrl directory, for
+example.  Note, though, that the qa directory must be in the same directory as
+gttrivia.js.
+
+
+Installation in SCFG
+--------------------
+This is an example of adding the game in one of your external programs sections
+in SCFG:
+╔═════════════════════════════════════════════════════[< >]╗
+║                     Good Time Trivia                     ║
+╠══════════════════════════════════════════════════════════╣
+║ │Name                       Good Time Trivia             ║
+║ │Internal Code              GTTRIVIA                     ║
+║ │Start-up Directory         ../xtrn/gttrivia             ║
+║ │Command Line               ?gttrivia.js                 ║
+║ │Clean-up Command Line                                   ║
+║ │Execution Cost             None                         ║
+║ │Access Requirements                                     ║
+║ │Execution Requirements                                  ║
+║ │Multiple Concurrent Users  Yes                          ║
+║ │I/O Method                 FOSSIL or UART               ║
+║ │Native Executable/Script   No                           ║
+║ │Use Shell or New Context   No                           ║
+║ │Modify User Data           No                           ║
+║ │Execute on Event           No                           ║
+║ │Pause After Execution      No                           ║
+║ │Disable Local Display      No                           ║
+║ │BBS Drop File Type         None                         ║
+╚══════════════════════════════════════════════════════════╝
+
+
+
+4. Configuration File
+=====================
+gttrivia.ini is the configuration file for the door game.  There are 3 sections:
+[BEHAVIOR], [COLORS], and [CATEGORY_ARS].  The settings are described below:
+
+[BEHAVIOR] section
+Setting                           Description
+-------                           -----------
+numQuestionsPerPlay               The maximum number of trivia questions
+                                  allowed each time a user plays a game
+
+numTriesPerQuestion               The maximum number of times a user is
+                                  allowed to try to answer a question. After
+                                  the user gives a wrong answer the first
+                                  time, Good Time Trivia will start
+                                  showing clues.
+
+maxNumPlayerScoresToDisplay       The maximum number of player scores to display
+                                  in the list of high scores
+
+[COLORS] section
+In this section, the color codes are simply specified by a string of color
+(attribute) code characters (i.e., YH for yellow and high).  See this page for
+Synchronet attribute codes:
+http://wiki.synchro.net/custom:ctrl-a_codes
+Setting                           Element applied to
+-------                           -------------------
+error                             Errors
+triviaCategoryHdr                 Text for the trivia category
+triviaCategoryListNumbers         Text for the numbers in the category list
+triviaCategoryListSeparator       Separator text after the numbers in the
+                                  category list
+triviaCategoryName                Category names in the category list
+categoryNumPrompt                 Prompt text for the trivia category number
+                                  input
+categoryNumPromptSeparator        Separator text after the prompt for the
+                                  category number input
+categoryNumInput                  User input for the category number
+questionHdr                       Header text for the trivia questions
+questionHdrNum                    Numbers in the trivia question header text
+question                          Trivia question
+answerPrompt                      Prompt text for trivia answers
+answerPromptSep                   Separator text in trivia answer prompt
+answerInput                       User input for trivia answers
+userScore                         Outputted user score
+scoreSoFarText                    "Your score so far" text
+clueHdr                           Header text for clues
+clue                              Clue text
+answerAfterIncorrect              The answer printed after incorrect response
+
+[CATEGORY_ARS] section
+In this section, the format is section_name=ARS string
+section_name must match the part of a filename in the qa directory without the
+filename extension.  The ARS string is a string that Synchronet uses to describe
+access requirement(s).  The ARS strings in this section can be used to set up
+access requirements for certain trivia categories (i.e., if there are any
+categories that you may want age-restricted, for instance).  See the following
+web page for documentation on Synchronet's ARS strings:
+http://wiki.synchro.net/access:requirements
+
diff --git a/xtrn/gttrivia/revision_history.txt b/xtrn/gttrivia/revision_history.txt
new file mode 100644
index 0000000000..6fd3dc68de
--- /dev/null
+++ b/xtrn/gttrivia/revision_history.txt
@@ -0,0 +1,7 @@
+This file lists all of the changes made for each release of Good Time Trivia.
+
+Revision History (change log)
+=============================
+Version  Date         Description
+-------  ----         -----------
+1.00     2022-11-18   Initial version/release
\ No newline at end of file
-- 
GitLab