05 rem YOU! 06 REM ### By Judy Malloy, 1991 07 REM ### 08 REM ### Changes made by Nick Montfort in 2002 (except renumbering of lines and 09 REM ### deletion of duplicate lines) are documented in comments beginning "###" 10 REM ### The timing of this program may differ from that of the original, 11 REM ### but it approximates the timing of the orginal and should otherwise 12 REM ### function identically. 14 CLS 15 clear 17 PADDING$ = " " : REM ### Added to implement SPACE$ 20 P = 3000 : REM ### Short delay 21 W = 15000 : REM ### Longer delay 22 REM ### locate 12, 35,0 23 GOTOXY 35, 12 : REM ### Added to implement line above 24 PRINT "YOU!" 25 gosub 3000 26 REM ### for x = 1 to W: next x 27 STARTTIME = TIMER : WHILE TIMER - STARTTIME < 3 : WEND : REM ### Added to implement line above 29 cls 30 REM ### LOCATE 7,10,1 31 GOTOXY 7, 10 : REM ### Added to implement line above 32 PRINT "Do you want to" 40 PRINT: PRINT 50 PRINT " 1 VIEW YOU! " 60 PRINT 70 PRINT " 2 PUT *YOUR* WORDS INTO YOU!" 80 PRINT: PRINT: PRINT " Please type 1 or 2" 90 INPUT C$ 95 if C$ = "stop" then end 97 if C$ = "STOP" then end 100 IF C$ = "1" THEN GOTO 840 110 CLS 120 PRINT: PRINT 125 cls 130 PRINT "[Editor's note: " : REM ### Added 135 PRINT " Adding a sentence will only work if the YOU! files have" : REM ### Added 140 PRINT " been copied to hard disk and YOU! is run from there. ]" : REM ### Added 145 STARTTIME = TIMER : WHILE TIMER - STARTTIME < 2 : WEND: REM ### Added 165 file$ = "intro1" 166 p = 500 : REM ### Very short delay 168 gosub 2750 170 P = 3000 : REM ### Restore to short delay 172 Q$ = CHR$(34) 175 REM ### Removed : PRINT "Please type your sentence enclosed in quotes." 176 REM ### Removed : PRINT " Example: ";Q$ "I love you."Q$ 177 PRINT:PRINT:PRINT 180 PRINT "Your sentence? " 190 INPUT S$ 200 L = LEN(S$) 210 IF S$ = "show" THEN GOSUB 840 220 IF S$ = "STOP" THEN END 230 PRINT: PRINT "Would you like your name listed in the credits?" 240 PRINT: PRINT: PRINT "Please type yes or no " 250 INPUT A$ 255 IF A$ = "y" THEN A$ = "yes" 260 IF A$ = "yes" THEN GOSUB 2650 275 JH$ = "YOU HAVE ACTIVATED THE JESSE HELMS FILTER! Press " 265 rem Jesse Helms filter (nouns) 268 WHILE F$ <> "penis" : REM ### Modified < > to <> 270 READ F$ 280 IF INSTR( S$, F$) > 0 THEN CLS: PRINT JH$: INPUT G$ : GOTO 319 290 WEND 300 GOTO 450 310 DATA " ass", "vagina", " dick", "fuck" 315 DATA "ASS", "Ass", "FUCK", "Fuck" 316 data "prick", " tits" 317 DATA " cunt", "pecker", " cock", "penis" 318 END 319 REM Jesse Helms replacement 320 REM random number is found 321 Y = 100 322 Z = 10 323 S = VAL (RIGHT$(TIME$,2)): RANDOMIZE S 324 V = RND(1) * Z : REM ### Modified RND to RND(1) 325 V = V + Y 326 V = INT(V) : REM ### Modified CINT(V) to INT(V) 327 print V 329 IF V = 100 THEN V$ = " (pony) " 330 IF V = 101 THEN V$ = " (handbag) " 331 IF V = 102 THEN V$ = " (beef stew) " 332 IF V = 103 THEN V$ = " (bicycle) " 333 IF V = 104 THEN V$ = " (potted plant) " 334 if V = 105 THEN V$ = " (puppy) " 335 if V = 106 THEN V$ = " (radiator) " 336 if V = 107 THEN V$ = " (hat) " 337 if V = 108 THEN V$ = " (kitchen table) " 338 IF V = 109 THEN V$ = " (foot) " 339 IF V = 110 THEN V$ = " (shoe) " 340 B = INSTR(S$,F$) 350 B = (B - 1) 360 C = LEN(F$) 370 D = (L- (B + C)) 380 IF D > 0 THEN T$ = LEFT$(S$,B) + V$ + RIGHT$(S$,D) 390 IF D = 0 THEN T$ = LEFT$(S$,B) + V$ 400 IF D < 0 THEN T$ = LEFT$(S$,B) + V$ 410 S$ = T$ 420 L = LEN(S$) 430 GOTO 450 440 END 450 WHILE E$ <> "bad" : REM ### Modified < > to <> 460 READ E$ 470 IF INSTR( S$, E$) > 0 THEN L = LEN(S$): GOTO 720 480 WEND 490 GOTO 640 500 DATA "abuse", "again", "angry", "another" 501 DATA "any more", "asshole", "Asshole", "ASSHOLE" 504 DATA "awful", "bastard", "Bitch", "brood" 506 DATA "bitch", "BITCH", "black", "blood" 508 DATA "blubber", "blunt", "break", "broke" 510 DATA "broken", "careless", "chain", "crap" 511 DATA "cheat", "chilling", "clown", "cold" 512 DATA "cried", "cruaute", "dactylo", "DAMN" 513 DATA "Damn", "damn", "depart", "depress" 514 DATA "destroy", "dickhead", "DICKHEAD", "did not" 515 DATA "didn't", "dirty", "dislike", "divorce" 516 DATA "disease", "don't", "drunken stupor" 517 DATA "dur", "empty", "end", "eruption" 518 DATA "evade", "fat", "fish", "forget" 519 DATA "forgive", "forgot", "forgotten", "frigid" 520 DATA "froid", "Fuck", "FUCK", "FUCKER" 522 DATA "Fucker", "fucker", "garbage", "gauche" 524 DATA "get out", "gross", "gun", "handcuff" 526 DATA "hate", "HATE", "haughty", "heading" 528 DATA "HELL", "Hell", "hell", "hit" 530 DATA "honte", "hurt", "ignore", "irresponsible" 532 DATA "imbecile", "infect", "injur", "jealous" 534 DATA "JEALOUS", "junk", "kill", "Kill" 536 DATA "KILL", "late", "leave", "leav", "left" 538 DATA "listen", "mad", "malade", "mean" 540 DATA "miserable", "mistake", "morpion", "nag" 542 DATA "nagging", "neglect", "no", "NO" 544 DATA "not compatible", "not", "obssess", "old" 546 DATA "other", "out", "pack", "piss", "pretend" 548 DATA "puante", "rash", "rat", "rebarbative" 550 DATA "rejected", "remember", "ruin", "sad", "salopard" 552 DATA "scream", "Scream", "SHIT", "shit", "Shithead" 554 DATA "shithead", "short", "small", "smell" 556 DATA "smelly", "snob", "snub", "split" 558 DATA "stingy", "stop", "stubborn", "stuck" 560 DATA "that man", "that woman", "to feed" 562 DATA "too much", "took", "torture", "trash" 564 DATA "tronche d'ail", "turn", "unfeeling", "unhappy" 566 DATA "UOY", "upset", "urticare" 568 DATA "used", "user", "weapon", "Where" 570 DATA "where", "whip", "why", "Why" 572 DATA "wierd", "wrong", "you mother", "You never" 574 DATA "YOU!", "your Mother", "your mother" 576 DATA "yell", "yuck", "yuppie", "bad" 620 DATA "why", "stop", "don't", "bad" 630 END 640 L = LEN(S$) 650 IF L < 10 THEN FILE$ = "you1" : H = 30 : GOSUB 780 : GOTO 10 660 IF L < 20 THEN FILE$ = "you2" : H = 25 : GOSUB 780 : GOTO 10 670 IF L < 30 THEN FILE$ = "you3" : H = 20: GOSUB 780 : GOTO 10 680 IF L < 40 THEN FILE$ = "you4" : H = 15: GOSUB 780 : GOTO 10 690 IF L < 50 THEN FILE$ = "you5" : H = 10: GOSUB 780 : GOTO 10 695 IF L < 60 THEN FILE$ = "you5a" : H = 5: GOSUB 780 : GOTO 10 700 H = 0 : FILE$ = "middle" :GOSUB 780: GOTO 10 710 END 720 IF L < 10 THEN FILE$ = "you10" : H = 30 : GOSUB 780 : GOTO 10 730 IF L < 20 THEN FILE$ = "you9" : H = 25: GOSUB 780 : GOTO 10 740 IF L < 30 THEN FILE$ = "you8" : H = 20: GOSUB 780 : GOTO 10 750 IF L < 40 THEN FILE$ = "you7" : H = 15: GOSUB 780 : GOTO 10 760 IF L < 50 THEN FILE$ = "you6" : H = 10:GOSUB 780 : GOTO 10 765 IF L < 60 THEN FILE$ = "you6a" : H = 5: gosub 780 : goto 10 770 H = 0 : FILE$ = "middle": GOSUB 780 : GOTO 10 780 REM append routine 790 OPEN FILE$ FOR APPEND AS #1 : REM ### Modified OPEN syntax 800 PRINT #1, LEFT$(PADDING$,H) + S$ : REM ### Modified SPACE$(H) to LEFT$... 810 CLOSE #1 : REM ### Added # 820 RETURN 830 END 840 CLS: FILE$ = "you1" 870 GOSUB 2550 900 CLS: FILE$ = "you2" 910 CLS: GOSUB 2550 970 FILE$ = "you3" 980 CLS: GOSUB 2550 1060 FILE$ = "you4" 1070 CLS: GOSUB 2550 1170 FILE$ = "you5" 1180 CLS: GOSUB 2550 1190 FILE$ = "you5a" 1200 CLS: GOSUB 2550 1300 FILE$ = "middle" 1310 CLS: GOSUB 2550 1320 FILE$ = "you6a" 1330 CLS: GOSUB 2550 1450 FILE$ = "you6" 1460 CLS: GOSUB 2550 1620 FILE$ = "you7" 1630 CLS: GOSUB 2550 1810 FILE$ = "you8" 1820 cls 1830 GOSUB 2550 2020 FILE$ = "you9" 2030 CLS: GOSUB 2550 2250 CLS: FILE$ = "you10" 2260 GOSUB 2550 2265 gosub 3000 2270 P = 1000: FILE$ = "you1" : REM ### P = Shorter delay 2290 GOSUB 2750 2300 FILE$ = "you2" 2310 GOSUB 2750 2320 FILE$ = "you3" 2330 GOSUB 2750 2340 FILE$ = "you4" 2350 GOSUB 2750 2360 FILE$ = "you5" 2370 GOSUB 2750 2375 FILE$ = "you5a" 2378 GOSUB 2750 2380 FILE$ = "middle" 2390 GOSUB 2750 2395 FILE$ = "you6a" 2397 GOSUB 2750 2400 FILE$ = "you6" 2410 GOSUB 2750 2420 FILE$ = "you7" 2430 GOSUB 2750 2440 FILE$ = "you8" 2450 GOSUB 2750 2460 FILE$ = "you9" 2470 GOSUB 2750 2480 FILE$ = "you10" 2490 GOSUB 2750 2495 REM ### for X = 1 to W: next X 2500 STARTTIME = TIMER : WHILE TIMER - STARTTIME < 3 : WEND : REM ### Added to implement line above 2510 PRINT: PRINT: PRINT "Do you want to see the credits?" 2520 INPUT B$ 2522 IF B$ = "y" THEN B$ = "yes" 2530 IF B$ = "yes" THEN FILE$ = "credits" 2534 cls 2535 GOSUB 2550 2536 cls: goto 22 2540 END 2550 REM file printing 2560 OPEN FILE$ FOR INPUT AS #1 2570 WHILE NOT EOF (1) 2580 LINE INPUT #1, LINES$ 2590 REM ### locate 12,1,0 2591 GOTOXY 12,1 : REM ### ADDED 2592 PRINT LINES$ 2600 REM ### FOR X = 1 TO P: NEXT X: CLS 2601 IF P < 503 THEN P = P + 1 : REM ### Added, delay every fourth time if originally P = 500 2602 IF P < 503 THEN GOTO 2610 : REM ### Added 2603 IF P < 1002 THEN P = P + 1 : REM ### Added, delay every third time for P = 1000 2604 IF P < 1002 THEN GOTO 2610 : REM ### Added 2605 STARTTIME = TIMER : WHILE TIMER - STARTTIME < 1 : WEND : CLS : REM ### Added to implement line above 2606 IF P = 503 THEN P = 500 : REM ### Added 2607 IF P = 1002 THEN P = 1000 : REM ### Added 2610 WEND 2620 CLOSE #1 2630 RETURN 2640 END 2650 REM credits sub 2660 PRINT: PRINT: PRINT "What is your name?" 2670 INPUT Z$ 2680 REM append names 2690 FILE$ = "credits" 2700 OPEN FILE$ FOR APPEND AS #2 : REM ### Modified OPEN syntax 2710 PRINT #2, LEFT$(PADDING$,20) + Z$ : REM Modified SPACE$(20) to LEFT$... 2720 CLOSE #2 2730 RETURN 2740 END 2750 REM file printing2 2760 OPEN FILE$ FOR INPUT AS #1 2770 WHILE NOT EOF (1) 2780 LINE INPUT #1, LINES$ 2790 PRINT LINES$ 2795 REM ### for x = 1 to P: next x 2796 IF P < 503 THEN P = P + 1 : REM ### Added, delay every fourth time if originally P = 500 2797 IF P < 503 THEN GOTO 2803 : REM ### Added 2798 IF P < 1002 THEN P = P + 1 : REM ### Added, delay every third time for P = 1000 2799 IF P < 1002 THEN GOTO 2803 : REM ### Added 2800 STARTTIME = TIMER : WHILE TIMER - STARTTIME < 1 : WEND : REM ### Added to implement line above 2801 IF P = 503 THEN P = 500 : REM ### Added 2802 IF P = 1002 THEN P = 1000 : REM ### Added 2803 WEND 2810 CLOSE #1 2820 RETURN 2830 END 3000 REM ### PLAY "mbms" 3010 REM ### PLAY "O2L12" 3020 REM ### PLAY "mbeeeeeeedeggfp2" 3030 REM ### PLAY "mbdddddddgfL4ep2" 3040 REM ### PLAY "L12mbeeeeeeedeggfp2" 3050 REM ### PLAY "mbdeffgdL24edL4CL12p2" 3060 return 3070 end 4000 REM ### PLAY "mbl12deffgdccccp2" 4010 return 4020 end