1 ' 
2 '                         
3 '  GAME: GENIUS - MSX 2   
4 '                         
5 '  Final version:10/02/99 
6 '                         
7 '    * Public Domain *    
8 ' 
9 '
10 IF PEEK(&H2D)<1 THEN CLS:PRINT"Sorry. Only for MSX 2 or higher":NEW
11 ON ERROR GOTO 14
12 CALL MUSIC(0,0,1,1,1,1):MS=1
13 GOTO 30
14 IF ERL=12 THEN MS=0
20 TI=200
30 IF MS=0 THEN PLAY"V15" ELSE PLAY#2,"V15"
40 COLOR10,0,0:CLS:SCREEN5,,0:KEYOFF:OPEN"GRP:"AS#1
50 C=7
60 TI=200
70 FORZ=1TO3:PSET(60+1+Z,80+5+Z),1,TPSET:C=C+1:COLOR C
80 PRINT#1,"GENIUS FOR MSX 2"
90 NEXTZ
100 FORT=1TO1000
110 NEXTT:SCREEN0
120 COLOR15:SCREEN0
130 GOSUB660: ' Texto
135 GOSUB2000: ' Menu
136 N=10-VAL(AB$)
137 SCREEN 5,,0:SETPAGE0,1:BLOAD"genius.sr5",S:SETPAGE0,0
140 DIMJ(15)
150 FORC=1TO15
160 J(C)=INT(RND(-TIME)*4)+1
170 NEXTC
180 SCREEN5
190 COPY(0,0)-(255,211),1 TO (0,0),0
200 COLOR=(3,0,2,0)
210 COLOR=(9,2,0,0)
220 COLOR=(7,1,2,3)
230 COLOR=(11,6,4,1)
240 A=0
250 A=A+1
260 IFA>15THEN950
270 FORT=1TOTI*5:NEXTT
280 CH=CH+1
290 COLOR5:PRESET(200,165):PRINT#1,"Times"
295 COLOR10:PRESET(215,175):PRINT#1,USING"##";CH
300 COLOR2:PRESET(10,80):PRINT#1,"Game":COLOR15:PRESET(15,90),0:PRINT#1,AB$
310 COLOR14:PRESET(5,182):PRINT#1," * ME * "
320 R=0
330 R=R+1
340 IFR>ATHEN400
350 IFN<4THENJ(R)=INT(RND(-TIME)*4)+1
360 FORT=1TOTI:NEXTT
370 S=J(R)
380 GOSUB590
390 GOTO330
400 '
410 R=1
420 COLOR13:PRESET(10,182):PRINT#1,"* YOU *"
430 FORW=1TON*50+200
440 G$=INKEY$
450 IFG$=""THEN460ELSEIFASC(G$)>27ANDASC(G$)<32THENW=799
460 NEXTW
470 IFW<>800THEN820
480 S=ASC(G$)-27
490 GOSUB590
500 IFS<>J(R)THEN820
510 R=R+1
520 IFR<=ATHEN430
530 GOTO250
540 '
550 FORS=1TO4
560 GOSUB590
570 FORT=1TO200:NEXTT:NEXTS
580 RETURN
590 IFS=1THENIFMS=0THENPLAY"O5E"ELSEPLAY#2,"@1o5E"
595 IFS=1THENFORF=4TO7STEP.7:COLOR=(11,6,F,1):NEXTF:FORTT=1TOTI:NEXTTT:FORC=7TO4STEP-.7:COLOR=(11,6,C,1):NEXTC
600 IFS=4THENIFMS=0THENPLAY"O4f"ELSEPLAY#2,"@1o4f"
605 IFS=4THENFORF=2TO7STEP.7:COLOR=(3,0,F,0):NEXTF:FORTT=0TOTI:NEXTTT:FORC=7TO2STEP-.7:COLOR=(3,0,C,0):NEXTC
610 IFS=2THENIFMS=OTHENPLAY"O3g"ELSEPLAY#2,"@1o3g"
615 IFS=2THENFORF=2TO7STEP.7:COLOR=(9,F,0,0):NEXTF:FORTT=0TOTI:NEXTTT:FORC=7TO2STEP-.7:COLOR=(9,C,0,0):NEXTC
620 IFS=3THENIFMS=0THENPLAY"O6d"ELSEPLAY#2,"@1o6d"
625 IFS=3THENFORF=3TO7STEP.7:COLOR=(7,1,2,F):NEXTF:FORTT=0TOTI:NEXTTT:FORC=7TO3STEP-.7:COLOR=(7,1,2,C):NEXTC
630 RETURN
640 '
650 GOSUB 810
660 '
670 LOCATE9,0:PRINT"G E N I U S - M S X  2":PRINTTAB(9)"= = = = = = = = = =  = "
680 LOCATE4,3:PRINT"Rio de Janeiro, Brazil - 02/1999"
690 LOCATE4,5:PRINT"In this game you must repeat  the   machine's sequence, starting with only  one sequence until 15 sequences."
700 LOCATE4,9:PRINT"Choose the game's options with its  starting letter, then use the keyboard  arrows to follow genius's sequence. Goodluck."
710 LOCATE4,20:PRINT"Press any key to start GENIUS..."
770 A$=INPUT$(1)
800 RETURN
810 RETURN
820 '
840 COLOR4:PRESET(95,95),0,TPSET:PRINT#1,"Oh, no!"
841 COLOR15:PRESET(94,95),0,TPSET:PRINT#1,"Oh, no!"
842 COLOR4:PRESET(35,135),0,TPSET:PRINT#1,"Pay attention next time."
844 COLOR15:PRESET(34,135),0,TPSET:PRINT#1,"Pay attention next time."
860 IFMS=0THENPLAY"t150l4v15s0m5000o1CCCC"ELSEPLAY#2,"@1t150l4v15o5cccc"
870 FORF=1TO5:FORC=2TO7STEP1:COLOR=(9,C,0,0):NEXTC
875 FORC=7TO2STEP-1:COLOR=(9,C,0,0):NEXTC,F
876 IFMS=0THENPLAY"v15"
880 FOR TT=1TO1000:NEXTTT
884 COPY(0,0)-(255,210),1TO(0,0),0
885 COLOR4:PRESET(45,110),0,TPSET:PRINT#1,"See the right sequence"
886 COLOR15:PRESET(44,110),0,TPSET:PRINT#1,"See the right sequence"
887 FOR TT=1TO500:NEXTTT
888 COPY(0,0)-(255,210),1TO(0,0),0
890 FORZ=1TOA
900 S=J(Z)
910 FORT=1TO200:NEXTT
920 GOSUB590
930 NEXTZ
940 GOTO 1010
945 '
950 COLOR4:PRESET(40,120),0,TPSET:PRINT#1,"YES! YES! You made it!!"
961 COLOR15:PRESET(39,120),0,TPSET:PRINT#1,"YES! YES! You made it!!"
965 IFMS=0THENPLAY"s0M5000T200O3bbbb"ELSEPLAY#2,"@1t200o5bbbb"
970 FOR G=0 TO 5
980 FORC=2TO7STEP1:COLOR=(3,0,F,0):NEXTC:FORC=7TO2STEP-1:COLOR=(3,0,C,0):NEXTC
990 NEXT G
1000 FORT=1TO2500:NEXTT
1010 CLEAR
1020 OPEN"GRP:"FOROUTPUTAS#1
1030 CLOSE#1:RUN
1040 '
2000 SCREEN 8
2010 SETPAGE0,1:BLOAD"genius.pc8",S:SETPAGE0,0
2020 COPY(45,90)-(220,125),1 TO (40,0),0
2030 COPY(3,52)-(110,67),1 TO (3,50),0
2031 COPY(0,1)-(165,22),1 TO (45,70),0
2032 COPY(3,70)-(110,85),1 TO (3,120),0
2033 COPY(0,166)-(165,186),1 TO (45,140),0
2034 COPY(177,166)-(226,186),1 TO (190,191),0
2035 AB$="5":YY=191:GOSUB2500
2036 AC$="M":YC=26:GOSUB2840
2040 A$=INPUT$(1)
2045 IF A$=AB$ THEN 2040
2046 IF A$=AC$ THEN 2040
2050 IF VAL(A$)<>0 THEN GOSUB 2200 ELSE GOSUB 2800
2060 IFA$="S" THEN COPY(177,191)-(226,211),1TO(190,191),0:FORTT=1TO200:NEXTTT:RETURN
2070 GOTO 2040
2200 YY=166:GOSUB2500
2210 AB$=A$:YY=191:GOSUB2500
2220 IFMS=0THENPLAY"v15l32o6d"ELSEPLAY#2,"@3v15l32o6d"
2230 RETURN
2500 IFAB$="1"THENCOPY(0,YY)-(16,YY+20),1TO(45,140),0
2510 IFAB$="2"THENCOPY(17,YY)-(34,YY+20),1TO(62,140),0
2520 IFAB$="3"THENCOPY(35,YY)-(52,YY+20),1TO(80,140),0
2530 IFAB$="4"THENCOPY(53,YY)-(70,YY+20),1TO(98,140),0
2540 IFAB$="5"THENCOPY(71,YY)-(88,YY+20),1TO(116,140),0
2550 IFAB$="6"THENCOPY(89,YY)-(106,YY+20),1TO(134,140),0
2560 IFAB$="7"THENCOPY(107,YY)-(124,YY+20),1TO(152,140),0
2570 IFAB$="8"THENCOPY(125,YY)-(143,YY+20),1TO(170,140),0
2580 IFAB$="9"THENCOPY(144,YY)-(165,YY+20),1TO(189,140),0
2590 RETURN
2800 IFASC(A$)>90THENA$=CHR$(ASC(A$)-32)
2802 IF A$<>"L"ANDA$<>"M"ANDA$<>"F" THEN RETURN
2805 YC=1:GOSUB2840
2810 AC$=A$:YC=26:GOSUB2840
2820 IFMS=0THENPLAY"v15l32o6d"ELSEPLAY#2,"@3v15l32o6d"
2830 RETURN
2840 IFAC$="L"THENCOPY(0,YC)-(43,YC+22),1TO(45,70),0:TI=400
2850 IFAC$="M"THENCOPY(44,YC)-(119,YC+22),1TO(89,70),0:TI=100
2860 IFAC$="F"THENCOPY(120,YC)-(165,YC+22),1TO(165,70),0:TI=10
2870 RETURN
