home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
WIN_GAME
/
GUESS14.ZIP
/
GUESS.BAS
< prev
next >
Wrap
BASIC Source File
|
1994-02-23
|
5KB
|
204 lines
REM This program was written by Chris Uhl and may be freely distributed
REM in accordance with the included README.TXT.
REM I don't have any remarks, so you'll have to wing it.
REM This isn't the best way I could have coded it, but it does look
REM good.
RANDOMIZE TIMER
COLOR (14), (1)
CLS
LOCATE 5, 4
PRINT "Original code Copyright, Chris Uhl, 1993. 'Guess' Version 1.0"
LOCATE 7, 8
record = 20
record$ = "Mr. Nobody"
LOCATE 23, 25: PRINT "Do you want to play (Y/N)"
lab2:
a$ = INKEY$
a$ = UCASE$(a$)
IF a$ = "Y" THEN GOTO begin
IF a$ = "N" THEN END
LOCATE 25, 5: PRINT TIME$;
GOTO lab2:
ON ERROR GOTO e
DIM name$(25)
CLS
DIM g(35)
begin:
x$ = ""
CLS
LOCATE 5, 6
INPUT "What is your name"; name$
l = LEN(name$)
IF l > 10 THEN LOCATE 8, 8: PRINT "Shorter name please": FOR t = 1 TO 5000: NEXT: CLS : GOTO begin
GOSUB checkname
count = 0
guess = 0
CLS
x = INT(RND(1) * 10000) + 1
there:
CLS
COLOR (14), (1)
LOCATE 25, 5: PRINT TIME$, DATE$
LOCATE 3, 4: PRINT "Prev:"; guess; ""; x$
IF count = 1 THEN
LOCATE 3, 45
PRINT name$; " has taken"; count; "guess"
ELSE
LOCATE 3, 45
PRINT name$; " has taken"; count; "guesses"
END IF
LOCATE 20, 25: PRINT "Record is"; record; "(Held by "; :
IF cheatrecord = 1 THEN COLOR (12), (1): PRINT "Cheating ";
COLOR (14), (1)
PRINT record$; ")"
LOCATE 1, 1
Hnum$ = HEX$(x)
PRINT Hnum$
hichris2:
LOCATE 10, 4
PRINT "Guess the number that I am thinking of (1-10,000) ";
COLOR (12), (1)
INPUT "", guess$
COLOR (14), (1)
count = count + 1
guess = VAL(guess$)
guess = INT(guess)
guess = ABS(guess)
IF guess > 0 THEN guess2 = guess
g(count) = guess
LOCATE 12, 15
guess$ = UCASE$(guess$)
IF guess$ = Hnum$ THEN PRINT "Nice try,"; : FOR t = 1 TO 4500: NEXT: PRINT " It's not that easy": FOR t = 1 TO 5000: NEXT: GOTO there
IF guess$ = "ANSWER" THEN PRINT x: FOR a = 1 TO 2000: NEXT: count = count - 1: cheat = 1: GOTO there
IF guess$ = "HI CHRIS" THEN GOTO hichris
guess = VAL(guess$)
FOR co = 1 TO count - 1
IF g(co) = guess THEN
PRINT "You already used that number, "; : FOR t = 1 TO 4500: NEXT: PRINT "Tee hee!": co = count
FOR t = 1 TO 5000: NEXT
LOCATE 14, 15
END IF
NEXT
IF guess = 0 THEN GOSUB en
IF guess = x THEN
PRINT "Yes, you got it in "; count; " tries": GOTO display
END IF
IF guess < 0 THEN PRINT "As if": FOR t = 1 TO 5000: NEXT: x$ = "You Must Be Blond": GOTO there
IF guess > 10000 THEN PRINT "As if": FOR t = 1 TO 5000: NEXT: x$ = "You Must Be Blond": GOTO there
IF guess > x THEN PRINT "Too high": FOR t = 1 TO 5000: NEXT: x$ = "Too high"
IF guess < x THEN PRINT "Too low": FOR t = 1 TO 5000: NEXT: x$ = "Too low"
GOTO there
e:
LOCATE 17, 5
PRINT "You screwed up!!!"
PRINT x
LOCATE 20, 25: PRINT "Do you want to play again (Y/N)"
lab:
a$ = INKEY$
a$ = UCASE$(a$)
IF a$ = "Y" THEN GOTO begin
IF a$ = "N" THEN END
LOCATE 25, 5: PRINT TIME$;
GOTO lab
display:
CLS
COLOR (12), (1)
LOCATE 15, 25: IF count <> 1 THEN PRINT "You guessed it in"; count; "tries." ELSE PRINT "You guessed it in"; count; "try."
COLOR (14), (1)
IF count < record THEN
record = count
record$ = name$
END IF
LOCATE 20, 20
cheatrecord = 0
IF cheat = 1 THEN cheatrecord = 1
IF cheat = 0 THEN cheatrecord = 0
cheat = 0
record2$ = STR$(record)
PRINT "Today's record is:"; record2$; ", held by "; record$
lab1:
LOCATE 23, 25: PRINT "Do you want to play (Y/N)"
a$ = INKEY$
a$ = UCASE$(a$)
IF a$ = "Y" THEN GOTO begin
IF a$ = "N" THEN END
LOCATE 25, 5: PRINT TIME$;
GOTO lab1:
GOTO begin
END
checkname:
RESTORE
DATA HI,ME,YOU,THEM,I DON'T KNOW,NO,HELLO,DUMBO,NOTHING,FART,I,HIM,HER,IT,THERE,HERE,STUPID,YO,FUCK,SHIT,BITCH
name2$ = UCASE$(name$)
FOR t = 1 TO 21
READ names$
IF names$ = name2$ THEN LOCATE 8, 8: PRINT "Get a real name": FOR t = 1 TO 5000: NEXT: CLS : GOTO begin
NEXT
l = LEN(name$)
IF l = 0 THEN GOTO begin
S$ = MID$(name$, 1, 1)
S$ = UCASE$(S$)
g$ = RIGHT$(name$, l - 1)
g$ = LCASE$(g$)
name$ = S$ + g$
FOR t = 1 TO l
S$ = MID$(name$, t, 1)
IF S$ = " " THEN
LOCATE 8, 8
PRINT "First names will do"
FOR S = 1 TO 5000: NEXT S
name$ = LEFT$(name$, t - 1)
END IF
NEXT
vowel$(1) = "A"
vowel$(2) = "E"
vowel$(3) = "I"
vowel$(4) = "O"
vowel$(5) = "U"
FOR c = 1 TO l
na$ = UCASE$(name$)
n$ = MID$(na$, c, 1)
n$ = UCASE$(n$)
FOR t = 1 TO 5
IF n$ = vowel$(t) THEN RETURN
NEXT t
NEXT c
LOCATE 8, 8: PRINT "Get a real name ": FOR t = 1 TO 5000: NEXT: GOTO begin
RETURN
en:
PRINT "Do you want to quit? (Y/N)"
la:
S$ = INKEY$
S$ = UCASE$(S$)
IF S$ = "Y" THEN END
LOCATE 25, 5: PRINT TIME$;
IF S$ = "N" THEN
count = count - 1
LOCATE 12, 5
PRINT " "
GOTO hichris2
RETURN
END IF
GOTO la
hichris:
CLS
LOCATE 15, 40: PRINT "Hi, "; name$
FOR x = 1 TO 1500: NEXT
BEEP
count = count - 1
CLS
GOTO there
RETURN