The Program for YOU! - Written in BASIC for IBM Compatable Computers

You are welcome to reuse or adapt this program as long as you credit the original version and author as follows:
YOU.BAS (1991) by Judy Malloy. You will need the files for YOU.BAS and there is some more information on this files page.


05 REM YOU! by Judy Malloy. Version: November 12, 1991 Edited Version: July 31, 2011
06 REM The DATA in the Jesse Helms filter has been generically replaced.
07 REM The reason for this would be obvious if that DATA was still in the program. 
08 REM Insert words of your choice in the "filtered" and "filter" DATA to run the program!
09 REM Files to run this program are at http://www.well.com/user/jmalloy/you/you_files.html
10 CLS     
15 clear
20 P = 7000                 
21 W = 15000  
22 locate 12, 35,0 : PRINT "YOU!"  
23 gosub 3000  
24 for x = 1 to W: next x  
26 cls  
30 LOCATE 7,10,1 :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                                
163 cls 
165 file$ = "intro1" 
166 p = 500 
168 gosub 2750 
170 P = 7000 
172 Q$ = CHR$(34)                
175 PRINT "Please type your sentence enclosed in quotes."
176 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$ < > "filtered"                                              
270 READ F$                                              
280 IF INSTR( S$, F$) > 0 THEN CLS: PRINT JH$: INPUT G$ : GOTO 319    
290 WEND                                      
300 GOTO 450                                              
310 DATA " filtered", "filtered", " filtered", "filtered"                               
315 DATA "FILTERED", "Filtered", "FILTERED", "Filtered"
316 data "filtered", " filtered"  
317 DATA " filtered", "filtered", " filtered", "filtered"  
310 DATA " filtered", "filtered", " filtered", "filtered"                               
315 DATA "FILTERED", "Filtered", "FILTERED", "Filtered"
316 data "filtered", " filtered" 
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 * Z   
325 V = V + Y   
326 V = CINT(V)      
327 print V   
329 IF V = 100 THEN V$ = " (filter) "
330 IF V = 101 THEN V$ = " (filter) "
331 IF V = 102 THEN V$ = " (filter) "
332 IF V = 103 THEN V$ = " (filter) "
333 IF V = 104 THEN V$ = " (filter) "
334 if V = 105 THEN V$ = " (filter) "
335 if V = 106 THEN V$ = " (filter) "
336 if V = 107 THEN V$ = " (filter) "
337 if V = 108 THEN V$ = " (filter) "
338 IF V = 109 THEN V$ = " (filter) "
339 IF V = 110 THEN V$ = " (filter) "
339 B = INSTR(S$,F$)                                  
340 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"                                              
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" 
504 DATA "awful", "bastard", "Bitch", "bite"  
508 DATA "blubber", "blunt", "break", "broke" 
510 DATA "broken", "careless", "chain", "crap"  
512 DATA "cheat", "chilling", "clown", "cold"
514 DATA "cried", "cruaute", "dactylo", "DAMN"
516 DATA "Damn", "damn", "depart", "depress"
518 DATA "destroy", "dickhead", "DICKHEAD", "did not" 
520 DATA "didn't", "dirty", "dislike", "divorce"
522 DATA "disease", "don't", "drunken stupor" 
514 DATA "dur", "empty", "end", "eruption"
516 DATA "evade", "fanatic", "fish", "forget"
518 DATA "forgive", "forgot", "forgotten", "frigid"
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", "injure", "jealous"
534 DATA "JEALOUS", "junk", "kill", "Kill"
536 DATA "KILL", "late", "leave", "leaving", "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", "oddly" 
546 DATA "other", "out", "pack", "polygamy", "pretend"
548 DATA "puante", "rash", "rat", "rebarbative"
550 DATA "rejected", "remember", "ruin", "sad", "salopard"
552 DATA "scream", "Scream", "shit", "Shithead" 
554 DATA "shithead", "short with", "small about", "smell"
556 DATA "smelly", "snob", "snub", "split"
558 DATA "stingy", "stop", "stubborn", "stuck" 
560 DATA "that man", "that woman", "too many"
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 "A", 1, FILE$                                
800 PRINT #1, SPACE$(H) + S$                                            
810 CLOSE 1                                                           
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: GOSUB 2550       
2020 FILE$ = "you9"                
2030 CLS: GOSUB 2550   
2250 CLS: FILE$ = "you10"       
2260 GOSUB 2550   
2265 gosub 3000  
2270 P = 3000: FILE$ = "you1"   
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 for X = 1 to W: next X   
2510 PRINT: PRINT: PRINT "Do you want to see the credits?"
2520 INPUT B$                            
2530 IF B$ = "yes" THEN FILE$ = "credits"  
2534 cls: GOSUB 2550   
2535 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 locate 12,1,0 : PRINT LINES$               
2600 FOR X = 1 TO P: NEXT X: CLS               
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 "A",2, FILE$                            
2710 PRINT #2, SPACE$(20) + Z$                             
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 for x = 1 to P: next x               
2800 WEND                                                               
2810 CLOSE#1    
2820 RETURN                                                             
2830 END    
3000 PLAY "mbms"                  
3010 PLAY "O2L12"       
3020 PLAY "mbeeeeeeedeggfp2"       
3030 PLAY "mbdddddddgfL4ep2"       
3040 PLAY "L12mbeeeeeeedeggfp2"       
3050 PLAY "mbdeffgdL24edL4CL12p2"       
3060 return  
3070 end    
4000 PLAY "mbl12deffgdccccp2"  
4010 return  
4020 end    































Conceived and programmed by Judy Malloy, For more information about YOU! visit the You! Array