home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
games
/
animal.zip
/
ANIMAL.FRM
< prev
next >
Wrap
Text File
|
1986-09-17
|
4KB
|
152 lines
/screen Written by Doug Goldner September 1986
Welcome to *** ANIMAL *** written entirely in DataFlex
Think of an Animal. I will then ask you questions to try to guess the
name of the animal. If I can not guess the animal, I will ask that you
give me some information so that I may be able to identify it in the
future.
Please press <RETURN> _
/SEARCHING
QUESTION: __________________________________________________________________
Please answer (Y)es or (N)o : _
The animal I have come up with is called a ______________________________
Is the animal I have chosen the animal that you had in mind?
Please answer (Y)es or (N)o : _
/new_animal
What is the name of your new animal? ______________________________
Enter a question which could distinguish a ______________________________
from a ______________________________
_________________________________________________________________________
What would a ______________________________ answer to this question? _
/PLAY_AGAIN
Thank you for playing animal with me. Would you like to play another
game? _
/*
INTEGER NEXT_QUESTION OUR_ANIMAL
INTEGER HOLD_NUMBER
INTEGER HOLD_RECNUM NEW_RECNUM OLD_AN
STRING LAST_ANIMAL
STRING LAST_Q
PAGE SCREEN
ACCEPT SCREEN.1
OPEN ANIMALS
OPEN QUESTIONS
TOP:
CLEARFORM SEARCHING
PAGE SEARCHING
CLEAR QUESTIONS
RET_HERE:
FIND GE QUESTIONS.RECNUM
MOVE QUESTIONS.QUESTION TO SEARCHING.1
ACCEPT SEARCHING.2 {CAPSLOCK,CHECK="YN"}
IF SEARCHING.2 EQ 'Y' BEGIN
MOVE 'Y' TO LAST_Q
IF QUESTIONS.YES_WHICH EQ 'A' BEGIN
MOVE QUESTIONS.YES_NUMBER TO OUR_ANIMAL
GOTO GUESS_ANIMAL
END
MOVE QUESTIONS.YES_NUMBER TO NEXT_QUESTION
END
IF SEARCHING.2 EQ 'N' BEGIN
MOVE 'N' TO LAST_Q
IF QUESTIONS.NO_WHICH EQ 'A' BEGIN
MOVE QUESTIONS.NO_NUMBER TO OUR_ANIMAL
GOTO GUESS_ANIMAL
END
MOVE QUESTIONS.NO_NUMBER TO NEXT_QUESTION
END
IF NEXT_QUESTION EQ 0 GOTO BAD_GUESS
CLEAR QUESTIONS
MOVE NEXT_QUESTION TO QUESTIONS.RECNUM
GOTO RET_HERE
GUESS_ANIMAL:
CLEAR ANIMALS
MOVE OUR_ANIMAL TO ANIMALS.RECNUM
FIND GE ANIMALS.RECNUM
MOVE ANIMALS.ANIMAL TO SEARCHING.3
ACCEPT SEARCHING.4 {CAPSLOCK,CHECK="YN"}
IF SEARCHING.4 EQ 'Y' GOTO WE_GOT_IT
BAD_GUESS:
MOVE ANIMALS.RECNUM TO OLD_AN
CLEARFORM NEW_ANIMAL
ACCEPT NEW_ANIMAL.1
MOVE SEARCHING.3 TO NEW_ANIMAL.2
MOVE NEW_ANIMAL.1 TO NEW_ANIMAL.3
ACCEPT NEW_ANIMAL.4
MOVE SEARCHING.3 TO NEW_ANIMAL.5
ACCEPT NEW_ANIMAL.6 {CAPSLOCK,CHECK="YN"}
MOVE QUESTIONS.YES_NUMBER TO HOLD_NUMBER
MOVE QUESTIONS.RECNUM TO HOLD_RECNUM
CLEAR ANIMALS
MOVE NEW_ANIMAL.1 TO ANIMALS.ANIMAL
SAVE ANIMALS
CLEAR QUESTIONS
MOVE NEW_ANIMAL.4 TO QUESTIONS.QUESTION
IF NEW_ANIMAL.6 EQ 'N' BEGIN
MOVE ANIMALS.RECNUM TO QUESTIONS.YES_NUMBER
MOVE 'A' TO QUESTIONS.YES_WHICH
MOVE OLD_AN TO QUESTIONS.NO_NUMBER
MOVE 'A' TO QUESTIONS.NO_WHICH
END
IF NEW_ANIMAL.6 EQ 'Y' BEGIN
MOVE ANIMALS.RECNUM TO QUESTIONS.NO_NUMBER
MOVE 'A' TO QUESTIONS.NO_WHICH
MOVE OLD_AN TO QUESTIONS.YES_NUMBER
MOVE 'A' TO QUESTIONS.YES_WHICH
END
SAVE QUESTIONS
MOVE QUESTIONS.RECNUM TO NEW_RECNUM
CLEAR QUESTIONS
MOVE HOLD_RECNUM TO QUESTIONS.RECNUM
FIND GE QUESTIONS.RECNUM
IF LAST_Q EQ 'Y' BEGIN
MOVE NEW_RECNUM TO QUESTIONS.YES_NUMBER
MOVE 'Q' TO QUESTIONS.YES_WHICH
END
IF LAST_Q EQ 'N' BEGIN
MOVE NEW_RECNUM TO QUESTIONS.NO_NUMBER
MOVE 'Q' TO QUESTIONS.NO_WHICH
END
SAVE QUESTIONS
WE_GOT_IT:
PAGE PLAY_AGAIN
ACCEPT PLAY_AGAIN.1 {CAPSLOCK,CHECK="YN"}
IF PLAY_AGAIN.1 EQ 'Y' GOTO TOP
ABORT
KEYPROC KEY.ESCAPE