'===========================================================================
' Subject: TRICKY QUESTIONS                   Date: 03-25-98 (18:24)       
'  Author: Clive Dutton                       Code: QB, PDS                
'  Origin: Clive.Dutton@health.wa.gov.au    Packet: MISC.ABC
'===========================================================================
DEFINT A-Z
'$INCLUDE: 'qb.bi'

DECLARE SUB showmousecursor ()
DECLARE SUB hidemousecursor ()
DECLARE SUB PutMouseCursor (xpos, ypos)
DECLARE SUB SetMouseCursorLimits (xmin, ymin, xmax, ymax)
DECLARE SUB QueryMouse (xpos, ypos, lbutton, cbutton, rbutton)
DECLARE SUB clearprint (Char$, x, y, TextColor)
DECLARE SUB DrawBoxes ()
DECLARE FUNCTION FindMouseDriver ()
DECLARE FUNCTION InitMouseDriver ()
DECLARE SUB MakeLabels ()
SCREEN 13
DIM a$(60)
CLS
qn = 0
xpos = 100: ypos = 180: cn1 = 15: cn2 = 15: cn3 = 10: cn4 = 10

	a$ = "a": B$ = "b": c$ = "c": d$ = "next": e$ = "EXIT"
	l1 = 7: l2 = 2: l3 = 10: l4 = 2: L5 = 13: L6 = 2: L7 = 16: L8 = 2
	LX = 8: LY = 8
	P1 = l2 * LX - 12: P2 = l1 * LY - 10: P3 = l2 * LX + 3: P4 = l1 * LY + 1
	P5 = l4 * LX - 12: P6 = l3 * LY - 10: P7 = l4 * LX + 3: P8 = l3 * LY + 1
	P9 = L6 * LX - 12: P10 = L5 * LY - 10: P11 = L6 * LX + 3: P12 = L5 * LY + 1
	P13 = L8 * LX - 12: P14 = L7 * LY - 10: P15 = L8 * LX + 3 + 24: P16 = L7 * LY + 1
	answer = 0
	GOSUB begin:
start1:
	ON answer GOSUB scr1, scr2, scr3, scr4, scr5, scr6, scr7, scr8
	IF answer = 8 THEN answer = 0
	answercn = answercn + 1
	IF answercn = 26 THEN cn3 = 15
	IF answercn = 37 THEN cn4 = 15
	
start1a:
	GOSUB DrawBoxes
	IF answercn = 39 THEN GOTO last1
	READ q$(1), q$(2), q$(3), q$(4)
	READ a1$
	READ a2$
	READ a3$, correcta$
	READ an1$, an2$, an3$
	qn = qn + 1
	IF q$(1) = "end" THEN GOTO finish:

	clearprint q$(1), 0, 1, cn1
	clearprint q$(2), 0, 10, cn2
	clearprint q$(3), 0, 19, cn3
	clearprint q$(4), 0, 28, cn4
	clearprint a1$, 25, 50, 14
	clearprint a2$, 25, 74, 14
	clearprint a3$, 25, 98, 14
	LOCATE 23, 37: PRINT qn
	GOTO allbuttons
	
engine: IF reply$ = correcta$ THEN GOSUB tick
	IF reply$ <> correcta$ THEN GOSUB cross
	LOCATE 18, 10: PRINT correcta$
	clearprint an1$, 0, l3 * 15.5, 15
	clearprint an2$, 0, l3 * 16.5, 15
	clearprint an3$, 0, l3 * 17.5, 15
	GOTO nextexit

allbuttons:
	status = FindMouseDriver         ' function call, returns value to status
	IF status <> 0 THEN
	       buttons = InitMouseDriver     ' get number of buttons
	  IF buttons <> 0 THEN          ' if mouse is installed
	    showmousecursor            ' makes the cursor visible
	    SetMouseCursorLimits 0, 0, 630, 190   'ALWAYS do this, to be sure
	    PutMouseCursor xpos, ypos
	    QueryMouse xpos, ypos, lbutton, cbutton, rbutton
	  END IF
	      DO
		IF INKEY$ = "j" THEN GOTO jump:
		  QueryMouse xpos, ypos, lbutton, cbutton, rbutton
		  IF lbutton AND rbutton THEN    ' this is a bitwise AND
		    PutMouseCursor 160, 120
		  END IF
		    IF lbutton = 1 THEN
		      IF xpos > P1 AND xpos < P3 + CFP3 THEN
			IF ypos > P2 AND ypos < P4 THEN
			  reply$ = a$
			  GOTO engine
			END IF
		      END IF
			IF xpos > P5 AND xpos < P7 + CFP7 THEN
			  IF ypos > P6 AND ypos < P8 THEN
			    reply$ = B$
			    GOTO engine
			  END IF
			END IF
			IF xpos > P9 AND xpos < P11 + CFP11 THEN
			  IF ypos > P10 AND ypos < P12 THEN
			    reply$ = c$
			    GOTO engine
			   END IF
			 END IF
			   IF xpos > 550 AND xpos < 640 THEN
			     IF ypos > 4 AND ypos < 19 THEN
				  reply$ = "EXIT"
				   END
			      END IF
			   END IF
			 END IF
	      LOOP
      END IF

nextexit:
	showmousecursor
	DO
	    QueryMouse xpos, ypos, lbutton, cbutton, rbutton
	    IF lbutton AND rbutton THEN    ' this is a bitwise AND
	      PutMouseCursor 160, 120
	    END IF
	      IF lbutton = 1 THEN
		IF xpos > P13 AND xpos < P15 + CFP11 + 40 THEN
		  IF ypos > P14 + shiftdown AND ypos < P16 + shiftdown THEN
		    reply$ = d$
		    ON lst1 GOTO last2, last3, last3, last3, last3, last3, last3, last3, last3, last3, last3, last3, last3, last3, last3, finish
		    GOTO clearscreen
		  END IF
		END IF
		  IF xpos > 550 AND xpos < 640 THEN
		    IF ypos > 4 AND ypos < 19 THEN
		      reply$ = "EXIT"
		      END
		    END IF
		  END IF
	      END IF
       LOOP

clearscreen:
	hidemousecursor
	clrscrn1$ = "                                                                              "
	clrscrn2$ = "                                                                        "
	clearprint clrscrn1$, 320, 1, 15
	clearprint clrscrn1$, 320, 10, 15
	clearprint clrscrn1$, 320, 19, 10
	clearprint clrscrn1$, 320, 28, 10
	clearprint clrscrn1$, 320, 50, 14
	clearprint clrscrn1$, 320, 72, 14
	clearprint clrscrn1$, 320, 98, 14
	answer = answer + 1
	showmousecursor
	GOTO start1

jump:
	LOCATE 17, 28
	 INPUT "Jump to"; jt$
	  jt = VAL(jt$)
	  IF jt < 1 THEN GOTO jump
	  IF jt > 50 THEN GOTO jump
	  qn = jt - 1
	  RESTORE
	  FOR xj = xj TO jt - 1
		READ q$(1), q$(2), q$(3), q$(4)
		READ a1$
		READ a2$
		READ a3$, correcta$
		READ an1$, an2$, an3$
	  NEXT xj
	  xj = 1
	  GOSUB scr1
	  answercn = jt + 1
	  GOTO start1a


scr1:   'dark green and gold
	hidemousecursor
	CLS
	r = .1
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 27: OUT 969, 11
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	showmousecursor
	RETURN

scr2:   'dark blue and black
	hidemousecursor
	CLS
	B = 1
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, 0: OUT 969, 0: OUT 969, B
	IF (x - 1) MOD 4 = 0 THEN B = B + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	showmousecursor
	RETURN

scr3:   'red and brown
	r = 3
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 20: OUT 969, 10
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN

scr4:
	r = 1
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 0: OUT 969, B * 2
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN

scr5:
	r = 0
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 28: OUT 969, 0
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN

scr6:
	'dark red and black
	r = 1
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 0: OUT 969, 0
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN

scr7:
	r = 3
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 0: OUT 969, 95
	IF (x - 1) MOD 4 = 0 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN

scr8:
	r = 3
	FOR x = 96 TO 255
	OUT 968, x: OUT 969, r: OUT 969, 0: OUT 969, 10
	IF (x - 1) MOD 4 = 1 THEN r = r + 1
	LINE (x - 96, 0)-(x - 96, 199), x
	LINE (415 - x, 0)-(415 - x, 199), x
	NEXT x
	RETURN


tick:
	LINE (90, 140)-(97, 134), 15
	LINE (90, 141)-(97, 135), 15
	LINE (97, 134)-(106, 145), 14
	LINE (97, 135)-(106, 146), 14
	LINE (106, 145)-(120, 105), 13
	LINE (106, 146)-(120, 106), 13
	LINE (120, 105)-(110, 152), 10
	LINE (120, 106)-(110, 151), 10
	LINE (110, 152)-(90, 140), 9
	LINE (110, 151)-(90, 141), 9
	RETURN

cross:
	LINE (95, 115)-(130, 135), 0
	LINE (95, 116)-(130, 134), 0
	LINE (130, 135)-(127, 139), 0
	LINE (129, 136)-(127, 138), 0
	LINE (127, 139)-(95, 116), 0
	LINE (127, 138)-(95, 115), 0
	LINE (127, 115)-(95, 139), 0
	LINE (127, 116)-(96, 139), 0
	LINE (95, 139)-(93, 135), 0
	LINE (96, 139)-(94, 135), 0
	LINE (93, 135)-(127, 115), 0
	LINE (94, 135)-(128, 115), 0
	RETURN
DrawBoxes:
	hidemousecursor
	shiftdown = 0
	LINE (P1, P2)-(P3, P4), 6, BF     'a$ button
	LINE (P5, P6)-(P7, P8), 6, BF     'b$ button
	LINE (P9, P10)-(P11, P12), 6, BF  'c$ button
	LINE (P13, P14)-(P15, P16), 6, BF 'd$ dutton
	LINE (275, 5)-(315, 18), 6, BF    'e$ button
	COLOR 15
	LOCATE l1, l2: PRINT a$
	LOCATE l3, l4: PRINT B$
	LOCATE L5, L6: PRINT c$
	LOCATE L7, L8: PRINT d$
	LOCATE 2, 36: PRINT e$
	LOCATE 18, 2: PRINT "Answer:"
	CFP3 = P3 + 10
	CFP7 = P7 + 10
	CFP11 = P11 + 10
	cfp13 = P13
	CFP15 = P15 + 10
	LOCATE 5, 5
	showmousecursor
	RETURN

begin:
	GOSUB scr5:
	GOSUB drawboxes2
	clearprint "T R I C K Y  Q U E S T I O N S   ", 0, 10, 14
	clearprint "T R I C K Y  Q U E S T I O N S", 1, 10, 10
	clearprint "    by  Clive Dutton", 0, 20, 14
	clearprint "    by  Clive Dutton", 1, 20, 2
	clearprint "All of these questions are meant", 1, 50, 13
	clearprint "to trick you.", 1, 60, 13
	clearprint "It's very important to read", 1, 80, 13
	clearprint "each question carefully,", 1, 90, 13
	clearprint "making sure that you know", 1, 100, 13
	clearprint "what every word means.", 1, 110, 13
	clearprint "None of these questions require.", 1, 130, 13
	clearprint "mathematical ability.", 1, 140, 13
	clearprint "or great word power.", 1, 150, 13
	clearprint "<- Click here to continue", 50, 175, 14
	clearprint "Have fun!", 320, 190, 10

begin2:
	'showmousecursor             ' makes the cursor visible
	status = FindMouseDriver         ' function call, returns value to status
	IF status <> 0 THEN
	   buttons = InitMouseDriver     ' get number of buttons
	     IF buttons <> 0 THEN          ' if mouse is installed
		'showmousecursor            ' makes the cursor visible
		SetMouseCursorLimits 0, 0, 630, 190   'ALWAYS do this, to be sure
		PutMouseCursor xpos, ypos
		QueryMouse xpos, ypos, lbutton, cbutton, rbutton
	      END IF
	END IF
	GOTO nextexit
	RETURN

drawboxes2:
	hidemousecursor
	shiftdown = 56
	LINE (P13, P14 + shiftdown)-(P15, P16 + shiftdown), 6, BF'd$ button
	LOCATE L7 + 7, L8: PRINT d$
	LINE (275, 5)-(315, 18), 6, BF    'e$ button
	LOCATE 2, 36: PRINT e$
	showmousecursor
	RETURN

last1:
	hidemousecursor
	CLS
	GOSUB scr2
	GOSUB drawboxes2
	FOR xr = 1 TO 12
	READ a$(xr)
	clearprint a$(xr), 0, xr * 10, 15
	NEXT xr
	LOCATE 23, 35: PRINT answercn
	lst1 = 1
	showmousecursor
	GOTO begin2
	RETURN

last2:
	FOR xr = 1 TO 4
	READ a$(xr)
	clearprint a$(xr), 0, (xr * 10) + 120, 14
	NEXT xr
	answercn = 39
	lst1 = 2
	xpos = 120: ypos = 180
	GOTO begin2
	RETURN

last3:
	hidemousecursor
	CLS
	GOSUB scr2
	GOSUB drawboxes2
	FOR xr = 0 TO 16
	READ a$(xr)
	clearprint a$(xr), 0, xr * 10, 15
	NEXT xr
	LOCATE 23, 35: PRINT answercn
	lst1 = lst1 + 1
	showmousecursor
	GOTO begin2
	RETURN

finish:
	hidemousecursor
       CLS
       GOSUB scr4
       clearprint "Finished at last", 8, 12, 9
       clearprint "I hope you enjoyed it", 8, 54, 10
       clearprint "It's freeware", 8, 88, 10
       clearprint "Share it around", 8, 120, 10
       clearprint "Clive Dutton", 8, 163, 15
       clearprint "Clive Dutton", 9, 163, 10
       LINE (275, 5)-(315, 18), 6, BF    'e$ button
       LOCATE 2, 36: PRINT e$
       showmousecursor
       GOTO nextexit
       END

DATA "Mr and Mrs Jivan have two girls","each of whom have a brother."
DATA "How many members are there in ", "the family?"
DATA "6 - including the parents."
DATA "5 in total."
DATA "8 because (2 x B) x 2 = 8.","b"
DATA "Two girls, plus the brother, plus the","mother and father makes 5."," "

DATA "If a phonograph record is 8in.","wide with a 3in wide label:"
DATA "How many grooves will it","have on one side?"
DATA "About 300."
DATA "About 1000."
DATA "One.","c"
DATA "There is usually one continuous","spiralling groove."," "

DATA "If it takes 20 minutes to boil","one goose egg."
DATA "How long will it take to","boil 4 goose eggs?"
DATA "About 80 minutes."
DATA "About 20 minutes."
DATA "420 minutes.","b"
DATA "It takes about the same time","to boil one egg as it does four."," "

DATA "If a rooster lays an egg on the","peak of a roof."
DATA "Will the egg fall to ","the left or right side?"
DATA "The right side."
DATA "The left side."
DATA "What egg?","c"
DATA "Roosters don't lay eggs."," "," "

DATA "If a plane crashed on the border","of USA and Canada."
DATA "Where would they bury", "the survivors?"
DATA "Half in each country."
DATA "Where-ever they previously lived."
DATA "They wouldn't bury them.","c"
DATA "They would not bury survivors.","They only bury the dead."," "

DATA "The average life-span of a woman","is about 78 years."
DATA "What  is the average number","of birthdays that a man has?"
DATA "About 72."
DATA "One."
DATA "Depends in which country they live.","b"
DATA "Everybody only has one birthday."," "," "

DATA "Do you still beat your wife?"," ","What is the best answer"
DATA "to this question?"
DATA "Yeh, but I have a sore arm now."
DATA "No, not since last night."
DATA "Mu.","c"
DATA "Your question is unanswerable,","because it contains a"
DATA "false assumption."

DATA "Which is correct?"," ","     The yolk of an egg are white."
DATA "or - The yolk of an egg  is white."
DATA "The yolk of an egg are white."
DATA "The yolk of an egg  is white."
DATA "Neither.","c"
DATA "The yolk of an egg is yellow."," "," "

DATA "Which is correct to ask?"," ","     Is  soles for dinner tonight?"
DATA "or - Are soles for dinner tonight?
DATA "Is  soles for dinner tonight?"
DATA "Are soles for dinner tonight?"
DATA "Neither.", "b"
DATA "If you said arse-holes then you", "were trapped."
DATA "Otherwise score a tick."

DATA "If there are 12 pennies in", "a dozen."
DATA " ","How many half-pennies are there?"
DATA "24."
DATA "12."
DATA "2.","b"
DATA "A dozen has 12 in it."," "," "

DATA "John's uncle's sister is not","his aunt."
DATA " ","How is he related to her?"
DATA "She is his step-aunt."
DATA "They're related spiritually."
DATA "She is his mother.","c"
DATA "Your mother's brother is your uncle,","so normally your uncle's sister"
DATA "will be your mother."

DATA "A farmer has 17 sheep,","all but 9 die."," ","How many sheep are left?"
DATA "9."
DATA "8."
DATA "None.","a"
DATA "All but 9 die - so only 9 are left."," "," "

DATA "A butcher is 2 meters (6ft 6ins)","tall."," ","What does he weigh?"
DATA "Depends upon how fat he is."
DATA "Depends upon how meaty he is."
DATA "Meat.","c"
DATA "Butchers usually weigh meat","before it is sold."," "

DATA "In Kuwait, it is illegal for a man","to marry his widow's sister."
DATA " ","Why?"
DATA "Because he is dead."
DATA "Because of religous law."
DATA "Its a quirk in the legal system.","a"
DATA "A man's widow is his wife,","she is the widow.","That means the man's dead."

DATA "Jeff has three apples.","you take away two."," "
DATA "How many apples do you have?"
DATA "One."
DATA "Two."
DATA "Three.","b"
DATA "You took the apples away,","therefore you have two."," "


DATA "Seven months have 31 days."," ","How many months have 28 days?"," "
DATA "12 months in the year."
DATA "One - February,"
DATA "One - except in leap years.","a"
DATA "Every month has at least 28 days."," "," "

DATA " "," ","How can half of 18 become 10?"," "
DATA "Errors and omissions accepted."
DATA "Give or take the odd one."
DATA "Just fold the paper.","c"
DATA "If you write 18 on paper, then","fold the paper halfway across"
DATA "the 18, you will get 10."

DATA " "," ","How far can a Kangaroo","jump into the bush?"
DATA "Pretty far."
DATA "Half way."
DATA "3 kilometers.","b"
DATA "After he has jumped in half way,","he starts jumping out."," "

DATA " "," ","How many of each type of animal","did Moses take onto the ark?"
DATA "Two."
DATA "Seven."
DATA "None.","c"
DATA "Noah took the animals onto","the ark, not Moses."," "

DATA " "," ","How many species of each animal","did Noah take onto the ark?"
DATA "One."
DATA "Two."
DATA "Seven.","a"
DATA "He took two or seven of","each animal specie.","  "

DATA " "," ","What is the value of a coin","dated 24 BC?"
DATA "They start at about $156,00."
DATA "It's worthless."
DATA "About a million dollars","b"
DATA "Cannot have a BC date on a","coin before the present"
DATA "method of dating was invented."

DATA " "," ","How many grooves does a","45 rpm gramophone have?"
DATA "None."
DATA "45."
DATA "One.","a"
DATA "A phonograph record has grooves","though."," "

DATA " "," ","On which side of a chicken","are the most feathers?"
DATA "The underside."
DATA "Outside."
DATA "The left and right are the same.","b"
DATA "On the outside","it beats the other questions."," "

DATA " "," ","What was the President's","name in 1985?"
DATA "George Bush."
DATA "Abraham Lincoln."
DATA "Same as it is now.","c"
DATA "... that is unless he has changed","it by deed poll since."," "

DATA " "," ","What do cows drink?"," "
DATA "Milk."
DATA "Orange juice."
DATA "Water.","c"
DATA "A calf would drink milk,","but cows - water."," "
25
DATA "What weighs more,","a kilogram of ostrich feathers,"
DATA "or a kilogram of molten lead?"," "
DATA "Molten lead of course."
DATA "Ostrich feathers."
DATA "They weigh the same.","c"
DATA "A kilogram of anything will","weigh a kilogram."," "
26
DATA "A hiker walks one mile south,","one mile east, sees a bear, then"
DATA "runs one mile north home.","What colour was the bear?"
DATA "White."
DATA "Brown."
DATA "Black.","a"
DATA "Could only have been at the","North Pole given those directions."
DATA "Therefore the bear was white."
27
DATA "If a south bound electric train","is going at 90 kph and the"
DATA "north wind is blowing at 30 kph.","Which way will the smoke blow?"
DATA "South."
DATA "North."
DATA "What smoke?","c"
DATA "Electric trains don't blow smoke!"," "," "
28
DATA "A beggar gets $1 from a woman.","The woman is the beggar's sister."
DATA "But woman does not have a brother!","How is this so?"
DATA "The beggar is a step-brother."
DATA "The beggar is a sister."
DATA "The woman is an hermaphrodite.","b"
DATA "The beggar was a woman."," "," "
29
DATA "You are driving a bus, you pick", "up 2, then 2 more, drop 1 then"
DATA "pick up 4 and drop 1.","What is the driver's name?"
DATA "Otto."
DATA "My name."
DATA "Six.","b"
DATA "After all it was you who was","driving the bus!"," "
30
DATA "Bruce went to the pub with","2 identical notes and bought a drink"
DATA "for $5. He then had 4 notes.","How did he manage that?"
DATA "He is a magician."
DATA "A change factor."
DATA "He found three extra notes.","b"
DATA "The notes he originally started","out with were 2 fifties."," "
31
DATA "2 bowling balls are dropped into", "2 water buckets, one at 65 deg"
DATA "farenheit, the other at 30.","Which ball hits the bottom first?"
DATA "The water at 65 degrees farenheit."
DATA "The water at 30 degrees farenheit."
DATA "Both at the same time.","a"
DATA "As the water will be frozen in the","30 degrees farenheit bucket, the ball"
DATA "will not even drop into the water."
32
DATA "A farmer has 5 haystacks in one"," field. He has 4 in another."
DATA "He combines them in a third field.","How many haystacks does he now have?"
DATA "9."
DATA "1."
DATA "4.","b"
DATA "As he combined them, he would", "only have one."," "
33
DATA "Fifteen crows are sitting","on a fence and a farmer kills a"
DATA "third of them by shotgun.","How many will be left?"
DATA "None."
DATA "Ten."
DATA "Five.","a"
DATA "The remaining 10 crows would","surely have flown away."," "
34
DATA "There is a duck in front of some"
DATA "ducks, a duck in the middle of some"
DATA "ducks and a duck behind some ducks."
DATA "How many ducks are there?"
DATA "3"
DATA "5"
DATA "9","a"
DATA "Check it out:   DUCK  DUCK  DUCK", " "," "
35
DATA "In what year did Christmas Day","and News Year's Day"
DATA "fall in the same year?"," "
DATA "In year zero."
DATA "In 1492."
DATA "In every year.","c"
DATA "Of course they are in the","same year."," "
36
DATA "What is the cubic measurement","of dirt in a rectangular hole"
DATA "measuring 2 wide by 3 long","by 1 deep?"
DATA "Nil."
DATA "6 cubic measures."
DATA "6.","a"
DATA "A hole doesn't contain dirt," ,"it usually just contains air."," "
37
DATA "Read the following out aloud.","               God","             save the"
DATA "            the Queen!"
DATA "Perfectly OK."
DATA "I object on ideological grounds."
DATA "The wording isn't right.","c"
DATA "Many people miss the extra 'the'."," "," "
38
DATA "Three words in 'Astronomical'","usage end in n, a and r."," "
DATA "The first is lunar, the second perilunar"
DATA "and the third is up front and can be"
DATA "the brightest of all."," "
DATA "What are the three words,", "to this riddle?"," "," "
DATA "Answer:"
DATA "Moon, corona and star."
DATA " "
DATA "Hope you didn't go looking"
DATA "for words ending in 'nar' "
39
DATA "THE 'gry' CLASSIC"," "
DATA "There are possibly more words"
DATA "written about this riddle than"
DATA "any other. The riddle was around"
DATA "in the 1950's and its still"
DATA "going strong."," "
DATA "The riddle is meant to be spoken."
DATA "It is not meant to be a written riddle."
DATA "The written word can convey a completely"
DATA "different meaning than the spoken word."
DATA " "
DATA "For example, the words toucan (a bird)"
DATA "and 'two can' are spoken in exactly the"
DATA "same way but their meanings are"
DATA "completely different."
DATA  "THE gry RIDDLE  -  here it is!"," "," "
DATA "There are three words in the"
DATA "English language that end in g-r-y."
DATA "Two words that end in g-r-y"
DATA "are angry and hungry."
DATA "Every body knows what they mean,"
DATA "and every body says them every day."
DATA "If you have listened carefully,"
DATA "I have already told you the"
DATA "third word."," "
DATA "What are the three words?"," "," "," "
DATA " ","The rest of this program is"
DATA "devoted to an analysis of the clues"
DATA "and an opinion of what is the"
DATA "correct answer."," "," "
DATA "Please feel free to exit at this"
DATA "stage if you are not interested"
DATA "in the answer."," "," "
DATA "Please click 'next' to continue."," "," "," "," "
DATA "Analysis of the clues."," "
DATA "1. Riddle"
DATA "This is a riddle, not a word"
DATA "search. It is at least 50 years old,"
DATA "before the advent of television and word"
DATA "-search engines. Therefore we should"
DATA "keep this in mind. If it wasn't a riddle"
DATA "then all that it would it need to ask"
DATA "is 'give me three words that end in gry'."," "
DATA "2. 'There are three words'"
DATA "- does this mean three consecutive"
DATA "words or three separate words?"
DATA "eg 'XXXX XXXX XXXgry' or separate words"
DATA "like 'xxgry', 'xxgry' and 'xxgry'"
DATA "A word can be spoken, written or as"
DATA "a basic unit of expression. For"
DATA "example a word can be in a nod or"
DATA "the smile on a face."," "
DATA "4.'in the English language'"
DATA "The words can be foreign but are "
DATA "valid only if we use them in English."
DATA "The actual word or words that we are"
DATA "looking for must be expressed in English."," "
DATA "5. 'that end in g-r-y.'"
DATA "The g-r-y is spoken as follows:'G R Y'."
DATA "The three words end in g-r-y"
DATA "- does one end in 'g', another in 'r'"
DATA "and the third in 'y'? I don't think so."
DATA "Is it a series of three words that end"
DATA "in 'gry'? For example 'I get angry'."
DATA "Is it three separate words, each"
DATA "word ending in gry. For example"
DATA " 'angry', 'hungry' and a recently"
DATA "invented word 'gry' - the material under"
DATA "your fingernails."," "
DATA "6. 'Two words that end in gry are"
DATA "angry and hungry.'"
DATA "The word 'two'- does this mean two"
DATA "to or too. The word 'are' that follows"
DATA "suggests 'two'."
DATA "This statement may very well be a"
DATA "red-herring because this clue does not"
DATA "say 'Two of the three words',"
DATA "it only says 'Two words'. "
DATA "This statement is very suspicious."
DATA "It does give us two 'gry' words but'
DATA "there are no other common English"
DATA "language words that end in 'gry'."
DATA "There is no common third word that ends"
DATA "in 'gry'and that's a fact.", "  "
DATA "7. 'Everybody'"
DATA "Meaning all persons, or as the"
DATA "riddle is spoken does it mean"
DATA "every body - that is referring to a body?
DATA "If its talking about everybody then it"
DATA "may therfore include people who have"
DATA "never heard a word of English, unless it"
DATA "is implied that it means everybody who"
DATA "speaks English. So it is more probable"
DATA "that the words are 'every body'."
DATA "We know that our body tells us things"
DATA "not orally of course but it certainly"
DATA "tells us when we are hungry - and"
DATA "this is every day, and to every body "
DATA "as well - including everybody who"
DATA "doesn't speak English."," "
DATA "8. 'knows what they mean'."
DATA "The word 'they', does this refer to"
DATA "the given words 'angry' and 'hungry' or"
DATA "does it refer to the 'three words'?"
DATA "I would say 'the three words.'"," "
DATA "9. 'Every body knows what they mean'"
DATA "As this is a spoken riddle: is that"
DATA "word 'everybody' or is it 'every body'?"
DATA "'knows what they mean'."
DATA "I don't think 'knows' means 'nose'or."
DATA "'no's'. These three words are"
DATA "well known. Well known to every"
DATA "body or well known to everybody."
DATA "If the correct interpretation of every"
DATA "body is 'every body', then what are 3 "
DATA "words that the body knows, in any"
DATA "language? "
DATA "Here are some:"
DATA "              I am hungry."
DATA "              I am angry."
DATA "              I am thirsty."
DATA "              I am hurt."
DATA "Well maybe a body doesn't know when its"
DATA "angry but is sure knows when its hungry"
DATA "or hurt or thirsty or when it"
DATA "wants to go for a pee. When it is hurt"
DATA "it will tell you by giving you pain."
DATA "When its hungry it will tell you by"
DATA "causing your stomach to rumble,"
DATA "or your saliva to excrete."," "
DATA "10. 'every body says them every day.'"
DATA "Does every body refer to your body"
DATA "talking to you in the abstract"
DATA "sense, such as when it tells"
DATA "you when it wants to go for a pee?"
DATA "Or is it talking about all people"
DATA "(ie everybody)? There is nothing that"
DATA "everybody says every day - some poeple"
DATA "hardly speak from one day to the next."
DATA "Does 'everybody' therefore mean most"
DATA "people or a large number of people?"
DATA "'says'- does this means orally"
DATA "spoken, written or some sort of"
DATA "body language, or sometimes else?"
DATA "'every day'- this is a big clue."
DATA "'every day' can't mean much else"
DATA "than every day."
DATA "So what is spoken 'every day'?"
DATA "by every body or everybody?"
DATA "Nothing that I can think of, unless"
DATA "it is meant that the body"
DATA "is speaking to you."
DATA "What about those people who are"
DATA "dumb and cannot speak. They are"
DATA "part of everybody but they"
DATA "say nothing."," "
DATA "11. 'If you have listened carefully'"
DATA "This clue tells you that this"
DATA "is a spoken riddle. It does not say"
DATA "if you have read carefully."
DATA "The word 'listened' is a clue."
DATA "What listening words are there,"
DATA "words that perhaps sound differently"
DATA "than you understand them to be."
DATA "The words 'every body' fit into this"
DATA "category, What others fit? Or does"
DATA "this only refer to what follows?"
DATA "Does it only relate to the third gry"
DATA "word?"
DATA "12. 'I have already told you the"
DATA "third word.'"
DATA "So we have been told the third word."
DATA "Not the first or second, but"
DATA "out of the three words to find"
DATA "we have been told the third word."
DATA "We have been given 'angry' and"
DATA "'hungry'."
DATA "Where is there another word"
DATA "that we have been told that ends"
DATA "in gry. There just aren't any!"
DATA "So are 'angry' and 'hungry' red-herrings"
DATA "or is one of them the third word"
DATA "of a series of 3 words?"
DATA "If one of them is the third word, then"
DATA "what are the other two?"," "
DATA "13. What are the three words?"
DATA "It did not ask for the third word."
DATA "This may mean it wants three"
DATA "new words, or at least two"
DATA "new words and one (the third one), that"
DATA "has already been given."," "," "
DATA "CONCLUSION"
DATA "After careful consideration of"
DATA "all of the clues I have decided"
DATA "that the only answer can be"," "
DATA "I  AM  HUNGRY."," "
DATA "It fits every clue."
DATA "Words like: I am angry, We were hungry"
DATA "and Are you hungry"
DATA "just do not fit all of the clues,"
DATA "especially relating to the major clues"
DATA "every body and every day."
DATA "Words like 'gry' don't"
DATA "fit the clues either.", " "
DATA "Please click 'next' for the final page."

DATA "end","end","end","end","end","end","end","end","end","end","end"

SUB clearprint (Char$, x, y, TextColor) STATIC

DIM e(7): e(0) = 1: FOR F = 1 TO 7: e(F) = e(F - 1) + e(F - 1): NEXT F
x = x - 1: IF x = 319 THEN x = 160 - (4 * LEN(Char$))

DEF SEG = &HFFA6
FOR a = 1 TO LEN(Char$)
 x = x + 8
 d = ASC(MID$(Char$, a, 1)) * 8 + 14
 FOR B = 0 TO 7
  FOR c = 0 TO 7
   IF PEEK(B + d) AND e(c) THEN PSET (x - c, y + B), TextColor
  NEXT c
 NEXT B
NEXT a

END SUB

SUB DrawBoxes
'locations
l1 = 15: l2 = 45: l3 = 17: l4 = 45: L5 = 19: L6 = 55: L7 = 21: L8 = 65
LX = 8: LY = 16
LINE (l2 * LX - 12, l1 * LY - 18)-(l2 * LX + 3, l1 * LY + 1), 6, BF
LINE (l4 * LX - 12, l3 * LY - 18)-(l4 * LX + 3, l3 * LY + 1), 6, BF
LINE (L6 * LX - 12, L5 * LY - 18)-(L6 * LX + 3, L5 * LY + 1), 6, BF
LINE (L8 * LX - 12, L7 * LY - 18)-(L8 * LX + 3, L7 * LY + 1), 6, BF
COLOR 15
LOCATE l1, l2: PRINT "a"
LOCATE l3, l4: PRINT "b"
LOCATE L5, L6: PRINT "c"
LOCATE L7, L8: PRINT "d"



END SUB

' looks for mouse driver installed.
' no arguments.
' returns as function: non-zero if driver found,
'                      zero if not.
FUNCTION FindMouseDriver
	DIM regs AS RegTypeX

	regs.ax = &H3533
	CALL INTERRUPTX(&H21, regs, regs)
	FindMouseDriver = regs.bx OR regs.es
END FUNCTION

' increments mouse display flag. multiple calls to HideMouseCursor will
' require the same number of calls to ShowMouseCursor to get it back.
' no arguments.
' no return value.
SUB hidemousecursor
	DIM regs AS RegType

	regs.ax = 2
	CALL INTERRUPT(&H33, regs, regs)
END SUB

' initializes the mouse driver.
' no arguments.
' returns as function: number of buttons if the mouse was found,
'                      zero if not found.
FUNCTION InitMouseDriver
	DIM regs AS RegType
 
	regs.ax = 0
	CALL INTERRUPT(&H33, regs, regs)
  
	IF regs.ax = 0 THEN
		InitMouseDriver = 0
	ELSE
		InitMouseDriver = regs.bx
	END IF
END FUNCTION

' puts up labels for information.
' no arguments.
' no return value.
SUB MakeLabels
	LOCATE 7, 20
	PRINT "    # Buttons:"
	LOCATE 8, 20
	PRINT "   X position:"
	LOCATE 9, 20
	PRINT "   Y position:"
	LOCATE 10, 20
	PRINT "  Left button:"
	LOCATE 11, 20
	PRINT "Center button:"
	LOCATE 12, 20
	PRINT " Right Button:"
END SUB

' positions the mouse cursor at a particular point on the screen.
' arguments: 1) horizontal position    (integer)
'            2) vertical position      (integer)
' no return value.
SUB PutMouseCursor (xpos, ypos)
	DIM regs AS RegType

	regs.ax = 4
	regs.cx = xpos
	regs.dx = ypos
	CALL INTERRUPT(&H33, regs, regs)
END SUB

' gets current mouse position and button status.
' arguments: 5 integer variables, by reference.
' return values: 1) horizontal position
'                2) vertical position
'                3) left button status,   1 = pressed, 0 = not pressed
'                4) middle button status, 1 = pressed, 0 = not pressed
'                5) right button status,  1 = pressed, 0 = not pressed
SUB QueryMouse (xpos, ypos, lbutton, cbutton, rbutton)
	DIM regs AS RegType

	regs.ax = 3
	CALL INTERRUPT(&H33, regs, regs)
	xpos = regs.cx
	ypos = regs.dx
	lbutton = regs.bx AND 1
	rbutton = (regs.bx AND 2) / 2
	cbutton = (regs.bx AND 4) / 4

END SUB

' sets the mouse cursor movement limits.
' arguments: 1) left limit    (integer)
'            2) top limit     (integer)
'            2) right limit   (integer)
'            2) bottom limit  (integer)
' no return value.
SUB SetMouseCursorLimits (xmin, ymin, xmax, ymax)
	DIM regs AS RegType

	regs.ax = 7
	regs.cx = xmin
	regs.dx = xmax
	CALL INTERRUPT(&H33, regs, regs)

	regs.ax = 8
	regs.cx = ymin
	regs.dx = ymax
	CALL INTERRUPT(&H33, regs, regs)
END SUB

' decrements mouse display flag. multiple calls to HideMouseCursor will
' require the same number of calls to ShowMouseCursor to get it back.
' no arguments.
' no return value.
SUB showmousecursor
	DIM regs AS RegType
  
	regs.ax = 1
	CALL INTERRUPT(&H33, regs, regs)
END SUB
