This task has been flagged for clarification. Code on this page in its current state may be flagged incorrect once this task has been clarified. See this page's Talk page for discussion.
Create a simple implementation of the classic textual game Hunt The Wumpus.

The rules are:

The game is set in a cave that consists of a 20 room labyrinth.
Each room is connected to 3 other rooms (the cave is modeled after the
vertices of a dodecahedron).
The objective of the player is to find and kill the horrendous beast Wumpus that lurks in the cave.

The player has 5 arrows.
If they run out of arrows before killing the Wumpus, the player loses the game.

In the cave there are:

 One Wumpus
 Two giant bats
 Two bottomless pits
If the player enters a room with the Wumpus, he is eaten by it and the game is lost.

If the player enters a room with a bottomless pit, he falls into it and the game is lost.

If the player enters a room with a giant bat, the bat takes him and transports him into a random empty room.

Each turn the player can either walk into an adjacent room or shoot into an adjacent room.

Whenever the player enters a room, he "senses" what happens in adjacent rooms.
The messages are:

 Nearby Wumpus: "You smell something terrible nearby."
 Nearby bat: "You hear a rustling."
 Nearby pit: "You feel a cold wind blowing from a nearby cavern."
When the player shoots, he wins the game if he is shooting in the room with the Wumpus.
If he shoots into another room, the Wumpus has a 75% of chance of waking up and moving into an adjacent room: if this is the room with the player, he eats him up and the game is lost.

data 7,13,19,12,18,20,16,17,19,11,14,18,13,15,18,9,14,16,1,15,17,10,16,20,6,11,19,8,12,17
data 4,9,13,2,10,15,1,5,11,4,6,20,5,7,12,3,6,8,3,7,10,2,4,5,1,3,9,2,8,14
data 1,2,3,1,3,2,2,1,3,2,3,1,3,1,2,3,2,1
 
randomize timer
 
dim shared as ubyte i, j, tunnel(1 to 20, 1 to 3), lost(1 to 6, 1 to 3), targ
dim as ubyte player = int(rnd*20)+1, wump, bat1, bat2, pit1, pit2, d6, epi
dim as ubyte arrows = 5
dim as string choice
 
for i = 1 to 20    'set up rooms
    for j = 1 to 3
         read tunnel(i,j)
    next j
next i
 
for i = 1 to 6   'set up list of permuatations of 1-2-3
    for j = 1 to 3
        read lost(i,j)
    next j
next i
 
'place wumpus, bats, and pits
do
    wump = int(rnd*20)+1
loop until wump <> player
do
    pit1 = int(rnd*20)+1
loop until pit1 <> player
do
    pit2 = int(rnd*20)+1
loop until pit2 <> player andalso pit2 <> pit1
do
    bat1 = int(rnd*20)+1
loop until bat1 <> player andalso bat1 <> pit1 andalso bat1 <> pit2
do
    bat2 = int(rnd*20)+1
loop until bat2 <> player andalso bat2 <> pit1 andalso bat2 <> pit2 andalso bat2 <> bat1
 
do
    if player = wump then
        print "You have been eaten by the Wumpus!"
        goto defeat
    end if
    if player = pit1 or player = pit2 then
        print "Aaaaaaaaaaa! You have fallen into a bottomless pit."
        goto defeat
    end if
    if player = bat1 or player = bat2 then
        print "A bat has carried you into another empty room."
        do
            player = (rnd*20)+1 
        loop until player <> wump andalso player <> pit1 andalso player <> pit2 andalso player <> bat1 andalso player <> bat2
    end if
    print using "You are in room ##. There are tunnels to rooms ## ## and ##."; player; tunnel(player,1); tunnel(player,2); tunnel(player,3)
    print using "You have ## arrows left."; arrows
    d6 = 1 + int(rnd*6)
    for i = 1 to 3
        epi = tunnel(player,lost(d6,i))
        if epi = wump then
            print "You smell something terrible nearby."
        end if
        if epi = bat1 or epi = bat2 then
            print "You hear a rustling."
        end if
        if epi = pit1 or epi = pit2 then
            print "You feel a cold wind blowing from a nearby cavern."
        end if
    next i
    choices:
    print
    print "What would you like to do? Type A to shoot an arrow, or a number to move to another room."
    input choice
    select case left(choice,1)
        case "a", "A"
            input "Which room would you like to shoot into? ", targ
            if targ = player then
                print "You shot yourself. Why would you want to do such a thing?"
                goto defeat
            end if
            if targ = wump then goto victory
            if targ = tunnel(player,1) or targ = tunnel(player,2) or targ = tunnel(player,3) then
                print "The Wumpus awakes!"
                if rnd < 0.75 then
                    print "He moves to a nearby cavern."
                    wump = tunnel(wump, 1+int(rnd*3))
                else
                    print "He goes back to sleep."
                end if
            else
                print "You can't shoot that room from here."
                goto choices
            end if
            arrows -= 1
        case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
            targ = valint(choice)
            if targ = player then print "You are already there."
            if targ = tunnel(player,1) or targ = tunnel(player,2) or targ = tunnel(player,3) then
                print using "You walk to room ##"; targ
                player = targ
            else
                print "You can't get there from here."
            end if
        case else
            print "You are making no sense."
    end select
loop until arrows = 0
print "You have run out of arrows!"
defeat:
print "You lose! Better luck next time."
end
victory:
print "You have slain the Wumpus!"
print "You have won!"
end