Madame Fifi's

Games for Spectrum, C64, Amstrad, Amiga, Apple ][ and the rest of the 8-bit and 16-bit platforms. Pleas for help, puzzles, bug reports etc.

Moderator: Alastair

Message
Author
User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: Madame Fifi's

#16 Post by Alex » Wed Jun 11, 2014 1:05 pm

I've uploaded the map. hints how to solve the game will follow one of these days.

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Madame Fifi's

#17 Post by jgerrie » Wed Jun 11, 2014 3:49 pm

Alex wrote:I finished a table with all the connections between the locations. Tomorrow I'll look if I can make a map of this, but because the game is like one big maze (normally you can't return the direction you came from) I don't know if I will manage this.
Yes. A very difficult prospect. Here's a graphic of one of my own feeble attempts at graphing just one planet (incomplete) using MS-Word. A nightmare...
Hidaous.png
Hidaous.png (9.44 KiB) Viewed 2548 times

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Madame Fifi's

#18 Post by jgerrie » Wed Jun 11, 2014 11:04 pm

Alex wrote:I've uploaded the map. hints how to solve the game will follow one of these days.
I look forward to it. The map has already helped me track down one bug in my MC-10 version.
Any chance you could tell me how to get the spider after you show it the crystal and it turns green an goes through the roof? Thanks for the amazingly detailed and coherent out map!

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: Madame Fifi's

#19 Post by Alex » Thu Jun 12, 2014 5:58 pm

The spider can be found inside the small cave.

I've uploaded a walkthrough.

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Madame Fifi's

#20 Post by jgerrie » Mon Jun 16, 2014 12:54 am

Alex wrote:The spider can be found inside the small cave. I've uploaded a walkthrough.
Thanks for the walkthrough. I was able to use to play through to the end of my port of the game to the MC-10. It's nice to know that it all works to completion. You've nicely documented an obscure (but very interesting) classic!
drwhocomplete.png
drwhocomplete.png (6.02 KiB) Viewed 2515 times

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: Madame Fifi's

#21 Post by Alex » Mon Jun 16, 2014 7:12 pm

Thanks, glad I could be of help

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Madame Fifi's Basic Listing needed ..

#22 Post by Colin Appleby » Tue Apr 05, 2016 9:57 am

Anyone got a Basic listing of Madam Fifi for the Commodore 64 if so please post. Thanks.

User avatar
Alex
Posts: 958
Joined: Tue Oct 24, 2006 10:45 pm
Location: Netherlands

Re: Madame Fifi's

#23 Post by Alex » Tue Apr 05, 2016 9:40 pm

This is the c64 listing:

0 REM"“HAVE FUN! HEHEHE...
1 PRINTCHR$(14)
10 PRINT CHR$(147):PRINT"MADAM FIFI'S wHORE-HOUSE ADVENTURE"
20 PRINT:PRINT:INPUT"dO YOU NEED THE INSTRUCTIONS";A$:A$=LEFT$(A$+" ",1)
21 IFA$="Y"ORA$="y"THENGOSUB1350:PRINT
22 POKE53272,23
30 DIMD$(19),O$(31),L(25),P(19,6):L=1:FORX=1TO19:READD$(X):NEXT
31 DATA fRONT rOOM,wAITING rOOM,bATHROOM,oFFICE,bALCONY,aLLEY,bAR
32 DATA bRICK fIREPLACE,hIDDEN cORRIDOR,sECRET pASSAGE,tURKISH bATH cHAMBER
33 DATA rAFT,mASSAGE rOOM
40 DATA sTOREROOM,lOFT,sAUNA,fIFI'S aPARTMENT,sITTING rOOM,s&m cHAMBER
41 FORX=1TO31:READO$(X):IFX>6THENREADL(X-6)
50 NEXT:T2=8:R=11
51 WS$="mONEY"
52 DATA nORTH,sOUTH,eAST,wEST,"uP ",dOWN,sLEDGE hAMMER,5,wATCH,1,lEATHER wHIP
53 DATA 9,dIRTY mAGAZINE,3,sWITCHBLADE,4,oAR,6,kEY,99,bEER,7,bODY oIL
54 DATA 13,sUITCASE,14,bUCKET,14
60 DATA tORCH,8,nAILS,15,cURTAIN,16,rAFT,11,rUSTY gATE,17,bEDROOM dOOR
61 DATA 18,fIRE IN THE fIREPLACE,2,tOILET,3,sIGN,1,rAILING,5,bRICK fIREPLACE
62 DATA 2,rAT,19,wINE,2,cHEDDAR cHEESE,2
63 FORY=1TO19:FORX=1TO6:READP(Y,X):NEXT X,Y
64 BL$=" "
70 DATA ,,3,2,,,,,1,,,,,,4,1,,,,,5,3,,,,,,4,,,,7,,,5,,6,,,,4,,,2,,,,,13,,,,3
71 DATA ,11,8,,19,,,,10,,,,,,11,,,,,14,9,,,,,,13,,,2,,,,,,,16,,,,,,,,16
72 DATA ,,,,,17,,,,,,,10,13,,
73 W$="GO GETLOODROHITOPETIEPUSPAYOILROWCLITALREATHRCUT"
80 N$="N 01S 02E 03W 04U 05D 06HAM07MAG10SWI11BEE14OIL15GAT22DOO23FIF23"
81 N$=N$+"FIR28"
90 O$="NORSOUEASWESUP DOWSLEWATWHIRAISWIOARKEYBEEKEYSUIBUCTORNAICURRAFRUSBED"
91 O$=O$+"FIRTOISIGDIRBRIRATWINCHE":PRINTCHR$(147)
100 CU=0:PRINTCHR$(19);:HO$="YOU ARE IN THE "+D$(L):Y=0:L2=L:GOSUB6000
101 IFL(12)=0ORL<10OR(L>12ANDL<>18)THEN120
105 HO$="":IFL(12)=0ORL<10OR(L>12ANDL<>18)THEN120
110 HO$="IT'S DARK! YOU CAN'T SEE":GOSUB6000:GOTO150
120 HO$="YOU SEE ":FORX=1TO25
125 IFL(X)=L2THENIFLEN(HO$)+LEN(O$(X+6))+2>39THENGOSUB6000
126 IFL(X)=L2THENHO$=HO$+O$(X+6)+", ":Y=Y+1
130 NEXT:GOSUB6000:IFY=0THENHO$="NOTHING INTERESTING.":GOSUB6000
132 HO$="OBVIOUS EXITS ARE: ":GOSUB6000:FORX=1TO6
135 IFP(L,X)>0THENHO$=HO$+O$(X)+" "
140 NEXT:GOSUB6000
150 PRINT"--------------------------------------"
155 GOTO 161
160 GOTO 100
161 CU=23-CU:FORX=1TOCU:PRINTCHR$(17);:NEXT
162 S=0:F=0:INPUT"wHAT DO YOU WANT TO DO";A$:IFA$="QUIT"ORA$="QUIT"THENEND
163 PRINT:AA$=A$:B$=" "
164 FOR X=1TOLEN(A$):IFMID$(A$,X,1)=" "THENB$=MID$(A$+" ",X+1,3)
170 NEXT:IFLEN(A$)=1THENB$=A$+" ":A$="GO "
180 GOSUB1290:L2=L:T1=T1+1:IFT1=60THENT1=0:T2=T2+1
190 IFT2=12THENPRINT" iT'S MIDNIGHT! tHE wHORE-hOUSE IS CLOSED"
191 IFT2=12THENPRINT" AND THE pIMP THROWS YOU OUT!":GOTO1260
200 IFA$="SWI"ANDL=11THENPRINT" yOU HAVE BEEN sCALDED TO dEATH IN THE hOT"
201 IFA$="SWI"ANDL=11THENPRINT" tURKISH bATHS! ":GOTO1260
210 FORX=1TOLEN(N$):IFMID$(N$,X,3)=B$THEN212
211 NEXT:GOTO220
212 XX=X
213 IFX>4THENX=X-5:GOTO213
214 IFX=1THENS=VAL(MID$(N$,XX+3,2)):GOTO230
220 FORX=1TOLEN(O$):IFMID$(O$,X,3)=B$THEN222
221 NEXT:GOTO230
222 XX=X
223 IFX>2THENX=X-3:GOTO223
224 IFX=1THENS=(XX+2)/3
230 FORX=1TOLEN(W$):IFMID$(W$,X,3)=A$THEN232
231 NEXT:GOTO240
232 XX=X
233 IFX>2THENX=X-3:GOTO233
234 IFX=1THENF=(XX+2)/3
240 IF F>11 THEN F=F-11
250 IFA$<>"INV"THEN290
260 PRINT"yOU ARE CARRYING: "
261 A=0:FORX=1TO25
262 IFL(X)=0THENIFLEN(HO$)+LEN(O$(X+6))+2>39THENGOSUB6000
263 IFL(X)=0THENHO$=HO$+O$(X+6)+", ":A=A+1
270 NEXT:GOSUB6000:IFA=0THENPRINT"NOTHING";
280 PRINT:GOTO160
290 ONFGOTO320,490,680,810,870,950,1040,1100,1150,1210,1240
291 PRINT"i DON'T KNOW HOW TO DO THAT":GOTO160
300 PRINT"i DON'T KNOW THAT WORD":GOTO160
310 REM
320 IFS<1ORS>6THEN360
330 IFP(L,S)>0THENL=P(L,S):GOTO100
340 PRINT"yOU CAN'T GO THAT WAY":GOTO160
350 PRINT"yOU SEE NOTHING SPECIAL":GOTO160
360 IFS<>28ORL<>2THEN390
370 IFFI=0THENPRINT" yOU HAVE bURNED TO dEATH! ";:GOTO1260
380 L=8:GOTO100
390 IFS<>27ORL<>5THEN420
400 IFLEFT$(O$(27),1)="w"THENL=6:PRINT"CLIMBED DOWN wHIP":PRINT:GOTO100
410 PRINT" yOU FELL AND dIED ";:GOTO1260
420 IFS=21ANDL(15)=LTHENL=12:GOTO100
430 IFL=16ANDB$="LOF"THEN460
440 IFS<1THEN300
450 PRINT"yOU CAN'T GO THERE":GOTO160
460 IFL(10)=LANDO$(16)="sUITCASE"THENL=15:GOTO100
470 PRINT"iT'S A LITTLE TOO HIGH":GOTO160
480 REM
490 IFS<7THEN300
500 IFC>6THENPRINT"yOU CAN'T CARRY ANY MORE":GOTO160
510 IFL(S-6)<>LTHEN650
520 IFS<>14THEN550
530 V$="IN":GOSUB1330:IFA$="buc"ANDL(11)=0THEN660
540 PRINT"yOU CAN'T DO THAT":GOTO160
550 IFS<>20THEN580
560 IFTA=0THENPRINT"iT'S NAILED TO THE LOFT":GOTO160
570 P(16,1)=17:PRINT"aha! - a HOLE IN THE WALL":PRINT:GOTO660
580 IFS<>19THEN610
590 IFL(1)<>0THENPRINT"yOU HAVE NO HAMMER":GOTO160
600 IFL(13)=15THENTA=1:PRINT"tHE cURTAIN IS LOOSE":GOTO660
610 IFS<>13THEN640
620 L(23)=L:IFL(25)=LTHEN660
630 PRINT"tHE rAT HAS IT":GOTO160
640 IFS>20ANDS<30THENPRINT"yOU CAN'T GET IT":GOTO160
641 GOTO660
650 PRINT"i DON'T SEE ANY "O$(S):GOTO160
660 C=C+1:L(S-6)=0:PRINT"yOU GOT THE "O$(S):GOTO160
670 REM
680 IFS<7THEN100
690 IFS=26ANDL=1THENPRINT"'tHE whore-house CLOSES AT mIDNIGHT'":GOTO160
700 IFS<>29THEN730
710 IF L(23)<>L THEN 650
720 PRINT"a kEY IS IN IT'S MOUTH!":L(7)=L:GOTO160
730 IFS<>10THEN770
740 IFL(4)=0THEN760
750 PRINT"yOU DON'T HAVE IT":GOTO160
760 PRINT"tHE dIRTY mAGAZINE READS: 'nOT ALL EXITS ARE OBVIOUS.'":GOTO160
770 IFS<>8THEN350
780 IFL(2)<>0THEN750
790 TM$=RIGHT$(STR$(T2),2)+":"+RIGHT$(STR$(T1),2)
791 FORX=2TO5:IF MID$(TM$,X,1)=" "THENTM$=LEFT$(TM$,X-1)+"0"+RIGHT$(TM$,5-X)
792 NEXT:PRINTTM$:GOTO160
800 REM
810 IFS<7THEN300
820 IFL(S-6)<>0THEN750
830 IFS<>14ORL<>2THEN850
840 O$(24)="sMOLDERING aSHES":FI=1:L(8)=99:C=C-1:GOTO100
850 PRINT"oKAY, THE "O$(S)" IS ON THE "D$(L)" FLOOR":L(S-6)=L:C=C-1:GOTO160
860 REM
870 IFS<7THEN300
880 IFL(S-6)<>LAND(L<>8ORS<>28)THEN650
890 V$="WITH":GOSUB1330:IFA$<>"SWI"ORS<>16ORL(5)<>0THEN910
900 O$(16)=WS$:N$=N$+"MON16":GOTO100
910 IF(A$<>"SLE"ANDA$<>"HAM")ORS<>28ORL(1)<>0THEN930
920 O$(28)="bROKEN fIREPLACE":P(8,1)=10:D$(8)=O$(28):GOTO100
930 PRINT"nOTHING HAPPENED":GOTO160
940 REM
950 IFS<7THEN300
960 IFL(S-6)<>LTHEN650
970 IFS<>23THEN1000
980 IFL(7)<>0THENPRINT"tHE bEDROOM dOOR IS LOCKED ... ";:GOTO930
990 O$(23)="fIFI IN HER bED":GOTO100
1000 IFS<>22THEN930
1010 IFOI=0THENPRINT"tOO MUCH RUST ... ";:GOTO930
1020 O$(22)="oPEN gATE":P(17,1)=18:GOTO100
1030 REM
1040 IFS<7THEN300
1050 IFL(S-6)<>0THEN750
1060 IFS<>9THEN540
1070 V$="TO":GOSUB1330:IFA$<>"RAI"THEN540
1080 L(3)=99:C=C-1:O$(27)="wHIP TIED TO THE rAILING"
1081 N$=N$+"WHI27":PRINT O$(27);"!":GOTO160
1090 REM
1100 IFS<7THEN300
1110 IFL(S-6)<>LTHEN650
1120 IFS<>25THEN930
1130 PRINT"aHA! - yOU HAVE REVEALED A dOORWAY":PRINT:P(L,6)=9:GOTO100
1140 REM
1150 IFS<7THEN300
1160 IFS<>23ORLEFT$(O$(23),1)<>"F"THEN540
1170 V$="WITH":GOSUB1330:IF(A$="MON")ANDL(10)=0ANDO$(16)=WS$THEN1190
1180 PRINT" yOU fAILED! fIFI LEAVES AND"
1181 PRINT" YOU LOSE YOUR hARD-oN! ";:GOTO1260
1190 PRINT"cONGRATULATIONS!"
1191 PRINT" yOU JUST GOT SCREWED BY fIFI!!":GOTO1260
1200 REM
1210 IFL(9)<>0ORL<>17ORS<>22THEN540
1220 PRINT"tHE gATE SQUEAKS oPEN":PRINT:OI=1
1221 O$(22)="oPEN gATE":P(17,1)=18:GOTO100
1230 REM
1240 IFL<>12ORL(6)<>0THEN540
1250 R=27-R:L=R:PRINT"yOU HAVE ROWED TO THE ";D$(L):PRINT:L(15)=L:GOTO100
1260 PRINT:PRINT:INPUT"wOULD YOU LIKE TO TRY AGAIN";A$:GOSUB1290
1261 IFLEFT$(A$,1)="Y"THENRUN
1270 IFLEFT$(A$,1)="R"THENT1=T1-2:GOTO120
1280 END
1290 A$=LEFT$(A$+" ",3)
1300 RETURN
1330 REM
1340 PRINT:PRINT"-- "V$" WHAT";:INPUT A$:PRINT:GOSUB 1290:RETURN
1350 PRINTCHR$(147):PRINT:PRINT"wHORE-HOUSE HAS A CONCEALED GOAL."
1351 PRINT"yOU LEARN WHAT THE GOAL IS":PRINT"BY EXPLORING YOUR SURROUNDINGS."
1352 PRINT" tHE COMPUTER WILL ACT AS YOUR EYES"
1360 PRINT"AND HANDS. iT WILL ACCEPT SHORT"
1361 PRINT"PHRASES AS COMMANDS AND ASSUMES"
1362 PRINT"THAT THE FIRST WORD IS A VERB AND"
1363 PRINT"THE LAST WORD IS THE OBJECT."
1364 PRINT"fOR EXAMPLE: read the sign."
1365 PRINT"tHE COMPUTER HAS A VOCABULARY OF ABOUT"
1370 PRINT"70 WORDS. sOME OF THE MORE IMPORTANT"
1371 PRINT"WORDS YOU SHOULD KNOW BEFORE"
1372 PRINT"YOU START PLAYING ARE: get <OBJECT>,"
1373 PRINT"drop <OBJECT>, look <OBJECT>"
1374 PRINT"OR JUST look, go <DIRECTION> OR <PLACE>"
1375 PRINT"AND inventory (TELLS WHAT"
1380 PRINT"YOU ARE CARRYING). tHE COMPUTER"
1381 PRINT"KNOWS THE ABBREVIATIONS: e, w, n,"
1382 PRINT"s, u AND d FOR go east, go west, ETC."
1383 PRINT"press <return>";
1384 GETA$:IFA$=""THEN1384
1385 PRINTCHR$(147):PRINT"THE COMPUTER'S VOCABULARY IS GOOD,"
1386 PRINT"BUT LIMITED. iF YOU ARE HAVING"
1390 PRINT"TROUBLE DOING SOMETHING, TRY"
1391 PRINT"RE-PHRASING THE COMMAND OR YOU MAY"
1392 PRINT"NEED SOME OBJECT TO ACCOMPLISH"
1393 PRINT"THE TASK."
1400 PRINT"--- GOOD LUCK! ---"
1410 PRINT"PRESS <RETURN>"
1420 GETA$:IFA$=""THEN1420
1430 RETURN
6000 IF LEN(HO$)<>40THENHO$=HO$+LEFT$(BL$,40-LEN(HO$))
6010 PRINTHO$;:HO$="":CU=CU+1:RETURN

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Madame Fifi's Basic listing for C64 ..

#24 Post by Colin Appleby » Wed Apr 06, 2016 9:38 am

Thank you very much for publishing the Basic listing of Madam FIFI original text game. Great stuff. Will now intend to convert this program into NewBrain BASIC to run on the Emulator. I will publish the Newbrain listing once I complete. Excellent news

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Madame Fifi's Basic listing for C64 ..

#25 Post by jgerrie » Sun Apr 10, 2016 1:46 am

Colin,

Just in case you're interested, here's a link to my TRS-80 MC-10 ports of a bunch of classic IF:

https://github.com/jggames/trs80mc10/tr ... Adventures

Most use a word-wrap routine in line 1 to print most messages (M$) that can be modified for any width you like:

1 ZZ=1:CC=32:FOR CC=CC TO ZZ STEP-1:I$=MID$(M$,CC,1):IF I$=" " OR I$="" THEN PRINTMID$(M$,ZZ,CC-ZZ):ZZ=CC+1:CC=ZZ+32:IF I$="" THENCC=0
2 NEXT:RETURN

Just change the 32s to 40s or 80s.
Colin Appleby wrote:Thank you very much for publishing the Basic listing of Madam FIFI original text game. Great stuff. Will now intend to convert this program into NewBrain BASIC to run on the Emulator. I will publish the Newbrain listing once I complete. Excellent news

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Madame Fifi's Basic listing for NewBrain ..

#26 Post by Colin Appleby » Wed Apr 13, 2016 4:59 pm

Finally completed the conversion of Madam FIFI Whore House from a Commodore 64 listing to NewBrain BASIC and it runs great.
The listing for the NewBrain Computer is available from the NewBrain website on www.newbrainemu.eu

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Madame Fifi's NewBrain listing ...

#27 Post by Colin Appleby » Wed Apr 13, 2016 5:06 pm

This is the NEWBRAIN Listing:

1 OPEN#0,0,"L"
2 OPEN#0,0,"L40": REM 80 CHAR SCREEN
4 PRINT "HAVE FUN! HEHEHE..."
5 REM DIGITIZED BY COLIN APPLEBY
6 REM DEBUGGED BY CHRIS DESPINIDIS
7 REM CONVERTED FROM COMMODORE 64 LISTING TO NEWBRAIN BASIC
8 REM DATED 6 APRIL 2016
10 PRINT "MADAM FIFI'S WHORE-HOUSE ADVENTURE"
12 PRINT "----------------------------------"
15 PRINT: PRINT "Enter all Commands in Uppercase"
20 PRINT:PRINT:PRINT "DO YOU NEED THE INSTRUCTIONS": INPUT A$:A$=LEFT$(A$+" ",1)
21 IFA$="Y"ORA$="y"THENGOSUB1350:PRINT
22 REM
30 DIMD$(19),O$(31),L(25),P(19*6):L=1:FORX=1TO19:READD$(X):NEXTX
31 DATA FRONT ROOM,WAITING ROOM,BATHROOM,OFFICE,BALCONY,ALLEY,BAR
32 DATA BRICK FIREPLACE,HIDDEN CORRIDOR,SECRET PASSAGE,TURKISH BATH CHAMBER
33 DATA RAFT,MASSAGE ROOM
40 DATA STOREROOM,LOFT,SAUNA,FIFI'S APARTMENT,SITTING ROOM,S&M CHAMBER
41 FORX=1TO31:READO$(X):IFX>6THENREADL(X-6)
50 NEXTX:T2=8:R=11
51 WS$="MONEY"
52 DATA NORTH,SOUTH,EAST,WEST,"UP ",DOWN,SLEDGE HAMMER,5,WATCH,1,LEATHER WHIP
53 DATA 9,DIRTY MAGAZINE,3,SWITCHBLADE,4,OAR,6,KEY,99,BEER,7,BODY OIL
54 DATA 13,SUITCASE,14,BUCKET,14
60 DATA TORCH,8,NAILS,15,CURTAIN,16,RAFT,11,RUSTY GATE,17,BEDROOM DOOR
61 DATA 18,FIRE IN THE FIREPLACE,2,TOILET,3,SIGN,1,RAILING,5,BRICK FIREPLACE
62 DATA 2,RAT,19,WINE,2,CHEDDAR CHEESE,2
63 FORY=1TO19:FORX=1TO6:READp((y-1)*6+x):NEXTX:NEXTy
64 BL$=" "
70 DATA 0,0,3,2,0,0,0,0,1,0,0,0,0,0,4,1,0,0,0,0,5,3,0,0,0,0,0,4,0,0,0,7,0,0,5,0,
6,0,0,0,4,0,0,2,0,0,0,0,13,0,0,0,3
71 DATA 0,11,8,0,19,0,0,0,10,0,0,0,0,0,11,0,0,0,0,14,9,0,0,0,0,0,13,0,0,2,0,0,0,
0,0,0,16,0,0,0,0,0,0,0,16
72 DATA 0,0,0,0,0,17,0,0,0,0,0,0,10,13,0,0
73 W$="GO GETLOODROHITOPETIEPUSPAYOILROWCLITALREATHRCUT"
80 N$="N 01S 02E 03W 04U 05D 06HAM07MAG10SWI11BEE14OIL15GAT22DOO23FIF23"
81 N$=N$+"FIR28"
90 O$="NORSOUEASWESUP DOWSLEWATWHIRAISWIOARKEYBEEKEYSUIBUCTORNAICURRAFRUSBED"
91 O$=O$+"FIRTOISIGDIRBRIRATWINCHE"
100 CU=0:HO$="YOU ARE IN THE "+D$(L):Y=0:L2=L:GOSUB6000
101 IFL(12)=0ORL<10OR(L>12ANDL<>18)THEN120
105 HO$="":IFL(12)=0ORL<10OR(L>12ANDL<>18)THEN120
110 HO$="IT'S DARK! YOU CAN'T SEE":GOSUB6000:GOTO150
120 HO$="YOU SEE ":FORX=1TO25
126 IFL(X)=L2THENHO$=HO$+O$(X+6)+", ":Y=Y+1
130 NEXTx:GOSUB6000:IFY=0THENHO$="NOTHING INTERESTING.":GOSUB6000
132 HO$="OBVIOUS EXITS ARE: ":GOSUB6000:FORX=1TO6
135 IFP((L-1)*6+X)>0THENHO$=HO$+O$(X)+" "
140 NEXTX:GOSUB6000
150 PRINT"----------------------------------------------------------------------
-------"
155 GOTO 161
160 GOTO 100
161 CU=23-CU:FORX=1TOCU:NEXTx
162 S=0:F=0:PRINT"WHAT DO YOU WANT TO DO": INPUT A$:IFA$="QUIT"ORA$="QUIT"THENEN
D
163 PRINT:AA$=A$:B$=" "
164 FOR X=1TOLEN(A$):IFMID$(A$,X,1)=" "THENB$=MID$(A$+" ",X+1,3)
170 NEXTx:IFLEN(A$)=1THENB$=A$+" ":A$="GO "
180 GOSUB1290:L2=L:T1=T1+1:IFT1=60THENT1=0:T2=T2+1
190 IFT2=12THENPRINT" IT'S MIDNIGHT! THE WHORE-HOUSE IS CLOSED"
191 IFT2=12THENPRINT" AND THE PIMP THROWS YOU OUT!":GOTO1260
200 IFA$="SWI"ANDL=11THENPRINT"YOU HAVE BEEN SCALDED TO DEATH IN THE HOT"
201 IFA$="SWI"ANDL=11THENPRINT"TURKISH BATHS! ":GOTO1260
210 FORX=1TOLEN(N$):IFMID$(N$,X,3)=B$THEN212
211 NEXTx:GOTO220
212 XX=X
213 IFX>4THENX=X-5:GOTO213
214 IFX=1THENS=VAL(MID$(N$,XX+3,2)):GOTO230
220 FORX=1TOLEN(O$):IFMID$(O$,X,3)=B$THEN222
221 NEXT x:GOTO230
222 XX=X
223 IFX>2THENX=X-3:GOTO223
224 IFX=1THENS=(XX+2)/3
230 FORX=1TOLEN(W$):IFMID$(W$,X,3)=A$THEN232
231 NEXTX:GOTO240
232 XX=X
233 IFX>2THENX=X-3:GOTO233
234 IFX=1THENF=(XX+2)/3
240 IF F>11 THEN F=F-11
250 IFA$<>"INV"THEN290
260 PRINT"YOU ARE CARRYING: "
261 A=0:FORX=1TO25
262 IFL(X)=0THENIFLEN(HO$)+LEN(O$(X+6))+2>39THENGOSUB6000
263 IFL(X)=0THENHO$=HO$+O$(X+6)+", ":A=A+1
270 NEXTx:GOSUB6000:IFA=0THENPRINT"NOTHING";
280 PRINT:GOTO160
290 ONFGOTO320,490,680,810,870,950,1040,1100,1150,1210,1240
291 PRINT"I DON'T KNOW HOW TO DO THAT":GOTO160
300 PRINT"I DON'T KNOW THAT WORD":GOTO160
310 REM
320 IFS<1ORS>6THEN360
330 IFP((L-1)*6+S)>0THENL=P((L-1)*6+S):GOTO100
340 PRINT"YOU CAN'T GO THAT WAY":GOTO160
350 PRINT"YOU SEE NOTHING SPECIAL":GOTO160
360 IFS<>28ORL<>2THEN390
370 IFFI=0THENPRINT"YOU HAVE BURNED TO DEATH! ";:GOTO1260
380 L=8:GOTO100
390 IFS<>27ORL<>5THEN420
400 IFLEFT$(O$(27),1)="W"THENL=6:PRINT"CLIMBED DOWN WHIP":PRINT:GOTO100
410 PRINT"YOU FELL AND DIED ";:GOTO1260
420 IFS=21ANDL(15)=LTHENL=12:GOTO100
430 IFL=16ANDB$="LOF"THEN460
440 IFS<1THEN300
450 PRINT"YOU CAN'T GO THERE":GOTO160
460 IFL(10)=LANDO$(16)="SUITCASE"THENL=15:GOTO100
470 PRINT"IT'S A LITTLE TOO HIGH":GOTO160
480 REM
490 IFS<7THEN300
500 IFC>6THENPRINT"YOU CAN'T CARRY ANY MORE":GOTO160
510 IFL(S-6)<>LTHEN650
520 IFS<>14THEN550
530 V$="IN":GOSUB1330:IFA$="BUC"ANDL(11)=0THEN660
540 PRINT"YOU CAN'T DO THAT":GOTO160
550 IFS<>20THEN580
560 IFTA=0THENPRINT"IT'S NAILED TO THE LOFT":GOTO160
570 P((16-1)*6+1)=17:PRINT"AHA! - A HOLE IN THE WALL":PRINT:GOTO660
580 IFS<>19THEN610
590 IFL(1)<>0THENPRINT"YOU HAVE NO HAMMER":GOTO160
600 IFL(13)=15THENTA=1:PRINT"THE CURTAIN IS LOOSE":GOTO660
610 IFS<>13THEN640
620 L(23)=L:IFL(25)=LTHEN660
630 PRINT"THE RAT HAS IT":GOTO160
640 IFS>20ANDS<30THENPRINT"YOU CAN'T GET IT":GOTO160
641 GOTO660
650 PRINT"I DON'T SEE ANY "O$(S):GOTO160
660 C=C+1:L(S-6)=0:PRINT"YOU GOT THE "O$(S):GOTO160
670 REM
680 IFS<7THEN100
690 IFS=26ANDL=1THENPRINT"'THE WHORE-HOUSE CLOSES AT MIDNIGHT'":GOTO160
700 IFS<>29THEN730
710 IF L(23)<>L THEN 650
720 PRINT"A KEY IS IN IT'S MOUTH!":L(7)=L:GOTO160
730 IFS<>10THEN770
740 IFL(4)=0THEN760
750 PRINT"YOU DON'T HAVE IT":GOTO160
760 PRINT"THE DIRTY MAGAZINE READS: 'NOT ALL EXITS ARE OBVIOUS.'":GOTO160
770 IFS<>8THEN350
780 IFL(2)<>0THEN750
790 TM$=RIGHT$(STR$(T2),2)+":"+RIGHT$(STR$(T1),2)
791 FORX=2TO5:IF MID$(TM$,X,1)=" "THENTM$=LEFT$(TM$,X-1)+"0"+RIGHT$(TM$,5-X)
792 NEXT:PRINTTM$:GOTO160
800 REM
810 IFS<7THEN300
820 IFL(S-6)<>0THEN750
830 IFS<>14ORL<>2THEN850
840 O$(24)="SMOLDERING ASHES":FI=1:L(8)=99:C=C-1:GOTO100
850 PRINT"OKAY, THE "O$(S)" IS ON THE "D$(L)" FLOOR":L(S-6)=L:C=C-1:GOTO160
860 REM
870 IFS<7THEN300
880 IFL(S-6)<>LAND(L<>8ORS<>28)THEN650
890 V$="WITH":GOSUB1330:IFA$<>"SWI"ORS<>16ORL(5)<>0THEN910
900 O$(16)=WS$:N$=N$+"MON16":GOTO100
910 IF(A$<>"SLE"ANDA$<>"HAM")ORS<>28ORL(1)<>0THEN930
920 O$(28)="BROKEN FIREPLACE":P((8-1)*6+1)=10:D$(8)=O$(28):GOTO100
930 PRINT"NOTHING HAPPENED":GOTO160
940 REM
950 IFS<7THEN300
960 IFL(S-6)<>LTHEN650
970 IFS<>23THEN1000
980 IFL(7)<>0THENPRINT"THE BEDROOM DOOR IS LOCKED ... ";:GOTO930
990 O$(23)="FIFI IN HER BED":GOTO100
1000 IFS<>22THEN930
1010 IFOI=0THENPRINT"TOO MUCH RUST ... ";:GOTO930
1020 O$(22)="OPEN GATE":P((17-1)*6+1)=18:GOTO100
1030 REM
1040 IFS<7THEN300
1050 IFL(S-6)<>0THEN750
1060 IFS<>9THEN540
1070 V$="TO":GOSUB1330:IFA$<>"RAI"THEN540
1080 L(3)=99:C=C-1:O$(27)="WHIP TIED TO THE RAILING"
1081 N$=N$+"WHI27":PRINT O$(27);"!":GOTO160
1090 REM
1100 IFS<7THEN300
1110 IFL(S-6)<>LTHEN650
1120 IFS<>25THEN930
1130 PRINT"AHA! - YOU HAVE REVEALED A DOORWAY":PRINT:P(L,6)=9:GOTO100
1140 REM
1150 IFS<7THEN300
1160 IFS<>23ORLEFT$(O$(23),1)<>"F"THEN540
1170 V$="WITH":GOSUB1330:IF(A$="MON")ANDL(10)=0ANDO$(16)=WS$THEN1190
1180 PRINT"YOU FAILED! FIFI LEAVES AND"
1181 PRINT"YOU LOSE YOUR HARD-ON! ";:GOTO1260
1190 PRINT"CONGRATULATIONS!"
1191 PRINT"YOU JUST GOT SCREWED BY FIFI!!":GOTO1260
1200 REM
1210 IFL(9)<>0ORL<>17ORS<>22THEN540
1220 PRINT"THE GATE SQUEAKS OPEN":PRINT:OI=1
1221 O$(22)="OPEN GATE":P((17-1)*6+1)=18:GOTO100
1230 REM
1240 IFL<>12ORL(6)<>0THEN540
1250 R=27-R:L=R:PRINT"YOU HAVE ROWED TO THE ";D$(L):PRINT:L(15)=L:GOTO100
1260 PRINT:PRINT:PRINT"WOULD YOU LIKE TO TRY AGAIN": INPUT A$:GOSUB1290
1261 IFLEFT$(A$,1)="Y"THENRUN
1270 IFLEFT$(A$,1)="R"THENT1=T1-2:GOTO120
1280 END
1290 A$=LEFT$(A$+" ",3)
1300 RETURN
1330 REM
1340 PRINT:PRINT"-- "V$" WHAT";:INPUT A$:PRINT:GOSUB 1290:RETURN
1350 PRINT:PRINT"WHORE-HOUSE HAS A CONCEALED GOAL."
1351 PRINT"YOU LEARN WHAT THE GOAL IS":PRINT"BY EXPLORING YOUR SURROUNDINGS."
1352 PRINT"THE COMPUTER WILL ACT AS YOUR EYES"
1360 PRINT"AND HANDS. IT WILL ACCEPT SHORT"
1361 PRINT"PHRASES AS COMMANDS AND ASSUMES"
1362 PRINT"THAT THE FIRST WORD IS A VERB AND"
1363 PRINT"THE LAST WORD IS THE OBJECT."
1364 PRINT"FOR EXAMPLE: READ THE SIGN."
1365 PRINT"THE COMPUTER HAS A VOCABULARY OF ABOUT"
1370 PRINT"70 WORDS. SOME OF THE MORE IMPORTANT"
1371 PRINT"WORDS YOU SHOULD KNOW BEFORE"
1372 PRINT"YOU START PLAYING ARE: GET <OBJECT>,"
1373 PRINT"DROP <OBJECT>, LOOK <OBJECT>"
1374 PRINT"OR JUST LOOK, GO <DIRECTION> OR <PLACE>"
1375 PRINT"AND INVENTORY (TELLS WHAT"
1380 PRINT"YOU ARE CARRYING). THE COMPUTER"
1381 PRINT"KNOWS THE ABBREVIATIONS: E, W, N,"
1382 PRINT"S, U AND D FOR GO EAST, GO WEST, ETC."
1383 PRINT"PRESS <RETURN>";
1384 GETA$:IFA$=""THEN1384
1385 PRINT"THE COMPUTER'S VOCABULARY IS GOOD,"
1386 PRINT"BUT LIMITED. IF YOU ARE HAVING"
1390 PRINT"TROUBLE DOING SOMETHING, TRY"
1391 PRINT"RE-PHRASING THE COMMAND OR YOU MAY"
1392 PRINT"NEED SOME OBJECT TO ACCOMPLISH"
1393 PRINT"THE TASK."
1400 PRINT"--- GOOD LUCK! ---"
1410 PRINT"PRESS <RETURN>"
1420 GETA$:IFA$=""THEN1420
1430 RETURN
6000 IF LEN(HO$)<>40THENHO$=HO$+LEFT$(BL$,40-LEN(HO$))
6010 PRINTHO$;:HO$="":CU=CU+1:RETURN

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Madame Fifi's NewBrain Listing correction at line 660 ..

#28 Post by Colin Appleby » Sat Apr 16, 2016 5:31 pm

Correction to line 660, I missed a ; between PRINT"YOU GOT THE " and O$(S) in the NewBrain listing. Should read as follows:
660 C=C+1:L(S-6)=0:PRINT"YOU GOT THE "; O$(S):GOTO160

Great program.

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Madame Fifi's

#29 Post by jgerrie » Tue May 03, 2016 1:43 am

Very nice. Thanks for the update.

Post Reply