You are really up against the clock on this one as you must solve as many puzzles as possible, in just 200 seconds. A series of numbers, or letters, will be positioned around five of the sides of a hexagon and you will be asked to provide the missing letter or number. The relationship between the numbers or letters may be with their corresponding number or letter on the opposite side of the hexagon, or it may follow in sequence from an adjacent number.
The decision is yours.
How to play
Key in the number, or letter, of your choice and press RETURN key.
Programming hints
The program has a tuner that displays the time in seconds on the screen while the computer is waiting for the player to key in something. This is a very useful facility and is done by setting the system variable TIME to zero at the start of the program. Time will then hold the time in seconds multiplied by 100. This can be displayed on occasions throughout the program but is more effective being displayed constantly, especially when the program is waiting for the player to key in something. This is done by using INKEY$(10) in a loop which keeps checking if a key has been pressed and if it has not, it displays the time (see line 470). When a key has been found to be pressed, the program waits for the rest of the digits to be keyed and knows you have finished when the return key is pressed, i.e. GET$=CHR$(13).
One change to make the puzzle easier, is to reduce the size of the numbers used. S(2) on line 150 is the value of the first number in the sequence if the pattern is a sequence of numbers going round the hexagon. IC on line 160 is related to the interval between the numbers going round the hexagon. So if the 9 in line 150 is changed to a smaller number and IC is always 1 this will make the puzzle easier.
If you wish to make the puzzle more difficult (and you must be brave or a genius to want to do so), then you could either increase the possible values of S(2) or IC or increase the number of different types of sequence. At present there are five different types of sequences depending on whether W is 0 to 4. If you allow W to become 5 or larger in line 170, you could add a new sequence for W=5 after line 230.
10 REM HEXAGON PUZZLE 20 REM COPYRIGHT (C) G.LUDINSKI 1983 30 MODE 4 40 DIM S(8),IP$(255) 50 CLS 60 VDU23,224,0,1,2,4,136,80,32,0 70 TE=0:CR=0:TIME=0 80 CLS 90 TE=TE+1 100 IF TE=11 OR TIME >=20000 THEN GOTO 670 110 REM 120 REM WORK OUT SEQUENCE 130 REM 140 S(1)=0 150 S(2)=INT(RND(1)*9+1) 160 IC=INT(RND(1)*4+1) 170 W=INT(RND(1)*5) 180 FOR I=3 TO 8 190 IF W=0 THEN S(I)=2*S(I-1)-S(I-2)+I C:MS$="The interval increases by "+STR$( IC)+" each time" 200 IF W=1 THEN S(I)=S(I-1)-S(I-2)+IC: MS$="Each number is the sum of the previ ous two plus "+STR$(IC) 210 IF W=2 THEN S(I)=S(2)^(I-1):MS$="E ach number is "+STR$(S(2))+" to the powe r of 2,3,4, 5,6 and 7" 220 IF W=3 AND I > 5 THEN S(3)=S(2):S( 4)=IC:S(5)=INT((S(2)+IC)/2):S(I)=S(2)*S( I-3):MS$="Each number is "+STR$(S(2))+" times the number opposite it" 230 IF W=4 AND I > 5 THEN S(3)=S(2):S( 4)=IC:S(5)=INT((S(2)+IC)/2):S(I)=IC*S(11 -I):MS$="The numbers on the left hand si de of thewheel are "+STR$(IC)+" times th e numbers on the right hand side" 240 NEXTI 250 FORI=1TO13:PRINT:NEXTI 260 REM 270 REM DISPLAY NUMBER WHEEL 280 REM 290 X1=640:Y1=704 300 X2=X1+259.81:Y2=Y1+150:Y3=Y1-150:X 3=X1-259.81 310 MOVE X1,Y1+300 320 DRAW X2,Y2 330 DRAW X2,Y3 340 DRAW X1,Y1-300 350 DRAW X3,Y3 360 DRAW X3,Y2 370 DRAW X1,Y1+300 380 DRAW X1,Y1-300 390 MOVE X2,Y2:DRAW X3,Y3 400 MOVE X2,Y3:DRAW X3,Y2 410 IF S(8) > 26 THEN LE=0:PRINTTAB(21 ,5);S(3):PRINTTAB(23,10);S(4):PRINTTAB(2 1,14);S(5):PRINTTAB(14,14);S(6):PRINTTAB (12,10);S(7) 420 IF S(8) <= 26 THEN LE=1:PRINTTAB(2 1,5);CHR$(64+S(3)):PRINTTAB(23,10);CHR$( 64+S(4)):PRINTTAB(21,14);CHR$(64+S(5)):P RINTTAB(18,14);CHR$(64+S(6)):PRINTTAB(16 ,10);CHR$(64+S(7)) 430 REM 440 REM INPUT ANSWER 450 REM 460 IX=1 470 IP$(IX)=INKEY$(10):IF IP$(IX)="" T HEN PRINTTAB(0,1);INT(TIME/100):GOTO 470 480 PRINTTAB(IX+13,5);IP$(IX);:IX=IX+1 :IP$(IX)=GET$:IF IP$(IX) <> CHR$(13) THE N GOTO 480 490 I$="":FOR I=1 TO IX-1:I$=I$+IP$(I) :NEXTI 500 REM 510 REM CHECK ANSWER 520 REM 530 *FX 15,1 540 IF LE=0 AND ABS(VAL(I$) - S(8)) <= LEN(I$)/2 THEN COLOUR1:VDU8:PRINTTAB(19 ,5);CHR$(224):CR=CR+1:COLOUR3:GOTO 610 550 IF LE=1 AND (I$=CHR$(64+S(8)) OR I $=CHR$(65+S(8))) THEN COLOUR1:VDU8:PRINT TAB(19,5);CHR$(224):CR=CR+1:COLOUR3:GOTO 610 560 PRINTTAB(0,21)"No, the answer = "; 570 IF LE=0 THEN PRINT S(8) 580 IF LE=1 THEN PRINT CHR$(64+S(8)) 590 IF LE=1 THEN PRINT'"Replace each l etter by its position number e.g. 1 for A, 2 for B etc." 600 PRINT:PRINT MS$ 610 PRINTTAB(0,30)"Press <RETURN> to c ontinue" 620 REPEATUNTILGET=13 630 GOTO80 640 REM 650 REM SCORE SHEET 660 REM 670 CLS:PRINT 680 PRINT"Number of puzzles completed = ";TE 690 PRINT'"Number correct = ";CR 700 PRINT'"Time taken = ";INT(TIME/100 );" seconds" 710 IQ=INT(CR*100/5.3) 720 PRINT'"Your IQ level (numeracy) = ";IQ 730 PRINT 740 IF CR >= 7 THEN PRINT"This is clas sed as SUPERIOR (upper 10%)":GOTO770 750 IF CR = 6 THEN PRINT"This is class ed as GOOD (upper 20%)":GOTO770 760 IF CR = 5 THEN PRINT"This is class ed as FAIR (upper 60%)" 770 REM