HUNTER AND HUNTED
#1
Hunter and Hunted is a spin on the classic text based grid hunting game Hurkle. This time it isn't just you and the Hurkle as you are also being hunted by the Bellicose Behinder. Can you find the Hurkle before the Bellicose Behinder finds you?

Code: (Select All)
'HUNTER AND HUNTED
_Title "HUNTER AND HUNTED"
Randomize Timer
Locate , 10: Print "H U N T E R    A N D    H U N T E D"
Print: Print: Print
Print "A Hurkle hunting game where you are both predator and prey"
Print: Print: Print
Do
    eaten$ = "no": found$ = "no": n = 15: g = 20
    hx = Int(Rnd * g) + 1: hy = Int(Rnd * g) + 1
    'the behinder starts
    b = Int(Rnd * 4)
    Select Case b
        Case 0:
            bx = 1
            by = Int(Rnd * g) + 1
        Case 1:
            bx = g
            by = Int(Rnd * g) + 1
        Case 2:
            by = 1
            bx = Int(Rnd * g) + 1
        Case 3:
            by = g
            bx = Int(Rnd * g) + 1
    End Select

    Print "A Hurkle is hiding somwhere in a "; g; " by"; g; " grid."
    Print "Homebase is at 0,0 and you must guess the hurkles location."
    Print "(X is West - East,  Y  is North - South)"
    Print "But BEWARE a BELLICOSE BEHINDER is also on the hunt..."
    Print "... and you are the prey."
    Print "Each turn you may enter your move as an x,y coordinate."
    Print "Hints will be provided as you play."
    Print
    Do
        Print "You have "; n; " turns left."
        If (Abs(x - bx) < 3 And Abs(y - by) < 3) Or (Abs(x - hx) < 4 And Abs(y - hy) < 4) Then
            Print "Something is stirring to the ";
            If y < by Then Print "north";
            If y > by Then Print "south";
            If x < bx Then Print "east";
            If x > bx Then Print "west";
            Print "."
        End If

        Input "Where do you think the Hurkle is Hiding? ", x, y
        n = n - 1
        Print
        If x = hx And y = hy Then
            found$ = "yes"
            Print "YOU FOUND THE HURKLE !"
            Print
        Else
            Print "Look ...";
            If y < hy Then Print "north";
            If y > hy Then Print "south";
            If x < hx Then Print "east"
            If x > hx Then Print "west"
            Print
        End If
        'there's a chance the behinder moves.... oh yeah it's coming for you
        If Int(Rnd * 100) < 31 Then
            Print
            Print "You hear the Behinder bounding."
            Print
            b = Int(Rnd * 4)
            Select Case b
                Case 0: bx = bx - 1
                Case 1: bx = bx + 1
                Case 2: by = by - 1
                Case 3: by = by + 1
            End Select
        End If

        If bx = x And by = y Then
            Print "OH NO !"
            Print
            Print "THE BELLICOSE BEHINDER HAS POUNCED ON YOU!"
            Print
            eaten$ = "yes"
        End If
    Loop Until found$ = "yes" Or n = 0 or eaten$="yes"
    If found$ = "yes" Then
        Print "That was just "; n; " turns!"
    Else
        If eaten$ = "yes" Then
            Print
            Print "YOUR HUNT IS OVER."
            Print
        Else
            Print
            Print "SORRY YOU DON'T HAVE ANY TURNS LEFT."
            Print
        End If
    End If
    Print
    Input "Play again ? (Yes or No) ", askquit$
    askquit$ = Left$(LCase$(askquit$), 1)
Loop Until askquit$ = "n"
Reply
#2
Cool... Reminds me a little of Hunt the Wumpus... These type of games rely on the best graphics system... The imagination... Classic text games... gotta love 'em...

Thank you for the memories... Smile
May your journey be free of incident. Live long and prosper.
Reply
#3
(06-13-2022, 01:13 PM)johnno56 Wrote: Cool... Reminds me a little of Hunt the Wumpus... These type of games rely on the best graphics system... The imagination... Classic text games... gotta love 'em...

Thank you for the memories... Smile

Glad you liked it.   It's got a sequel.  A bigger grid, 2 traps, and a more "cunning" Behinder. Well it just moves straight at you slightly more often. 

Code: (Select All)
'HUNTER AND HUNTED II
_Title "HUNTER AND HUNTED II"
Randomize Timer
Locate , 5: Print "H U N T E R    A N D    H U N T E D   II"
Print: Print: Print
Print "A Hurkle hunting game where you are both predator and prey"
Print: Print: Print
Do
    eaten$ = "no": found$ = "no": n = 50: g = 100
    x = 0: y = 0
    hx = Int(Rnd * g) + 1: hy = Int(Rnd * g) + 1
    ptrapped$ = "no": btrapped$ = "no"
    'the behinder starts
    b = Int(Rnd * 4)
    Select Case b
        Case 0:
            bx = 1
            by = Int(Rnd * g) + 1
        Case 1:
            bx = g
            by = Int(Rnd * g) + 1
        Case 2:
            by = 1
            bx = Int(Rnd * g) + 1
        Case 3:
            by = g
            bx = Int(Rnd * g) + 1
    End Select

    Print "A Hurkle is hiding somwhere in a "; g; " by"; g; " grid."
    Print "Homebase is at 0,0 and you must guess the hurkles location."
    Print "(X is West - East,  Y  is North - South)"
    Print "But BEWARE a BELLICOSE BEHINDER is also on the hunt..."
    Print "... and you are the prey."
    Print "Each turn you may enter your move as an x,y coordinate."
    Print "Hints will be provided as you play."
    Print
    Print "You have 2 traps to drop before you start."
    Print "Try not to stumble into them as yuo play."
    Print
    Input "Trap 1 wil be placed at ", tx1, ty1
    Print
    Input "Trap 2 wil be place at ", tx2, ty2
    Print
    Do
        Print "You have "; n; " turns left."
        If (Abs(x - bx) < 3 And Abs(y - by) < 3) Or (Abs(x - hx) < 4 And Abs(y - hy) < 4) Then
            Print "Something is stirring to the ";
            If y < by Then Print "north";
            If y > by Then Print "south";
            If x < bx Then Print "east";
            If x > bx Then Print "west";
            Print "."
        End If

        Input "Where do you think the Hurkle is Hiding? ", x, y
        n = n - 1
        Print
        If x = hx And y = hy Then
            found$ = "yes"
            Print "YOU FOUND THE HURKLE !"
            Print
        Else
            Print "Look ...";
            If y < hy Then Print "north";
            If y > hy Then Print "south";
            If x < hx Then Print "east"
            If x > hx Then Print "west"
            Print
        End If
        If tx1 = x And ty1 = y Then ptrapped$ = "yes"
        If tx2 = x And ty2 = y Then ptrapped$ = "yes"
        If ptrapped$ = "yes" Then Print " YOU ARE STUCK IN ONE OF YOUR OWN TRAPS !"
        bcount = 1
        If ptrapped$ = "yes" Then
            bcount = Int(Rnd * 6) + 4
            n = n - bcount
        End If

        'there's a chance the behinder moves.... oh yeah it's coming for you
        For bm = 1 To bcount
            If ptrapped$ = "yes" Then
                Select Case Int(Rnd * 3)
                    Case 0: Print "...you struggle to free yourself."
                    Case 1: Print " something is close by."
                    Case 2: Print "Is that breath you feel on your neck?"
                End Select
                Input any$
            End If
            If Int(Rnd * 100) < 51 And btrapped$ = "no" Then
                Print
                Print "You hear the Behinder bounding."
                Print
                If bx < x Then bx = bx + 1
                If bx > x Then bx = bx - 1
                If by > y Then by = by - 1
                If by < y Then by = by + 1
            End If
        Next bm
        ptrapped$ = "no"
        Print
        Print "You free yourself from the trap."
        Print
        If bx = x And by = y Then
            Print "OH NO !"
            Print
            Print "THE BELLICOSE BEHINDER HAS POUNCED ON YOU!"
            Print
            eaten$ = "yes"
        End If
        If bx = tx1 And by = ty1 Then btrapped$ = "yes"
        If bx = tx2 And by = ty2 Then btrapped$ = "yes"
        If btrapped$ = "yes" And ptrapped$ = "no" Then
            If Int(Rnd * 100) < 80 Then
                Print
                Select Case Int(Rnd * 3)
                    Case 0: Print "You hear the Behinder straining to free itself from a trap."
                    Case 1: Print "The Bellicose Behinder  Bellows as it is Bound in a trap!"
                    Case 2: Print "The Behinder is undable to move."
                End Select
                Print
            End If
        End If


    Loop Until found$ = "yes" Or n < 1 Or eaten$ = "yes"
    If found$ = "yes" Then
        Print "That was just "; n; " turns!"
    Else
        If eaten$ = "yes" Then
            Print
            Print "YOUR HUNT IS OVER."
            Print
        Else
            Print
            Print "SORRY YOU DON'T HAVE ANY TURNS LEFT."
            Print
        End If
    End If
    Print
    Input "Play again ? (Yes or No) ", askquit$
    askquit$ = Left$(LCase$(askquit$), 1)
Loop Until askquit$ = "n"
Reply




Users browsing this thread: 2 Guest(s)