All pastes #1986345 Raw Edit

Something

public text v1 · immutable
#1986345 ·published 2010-11-09 14:17 UTC
rendered paste body
Imports System.IO

Module Module1

    Dim Word, CoveredWord As String, MoveCount As Integer = 8
    Dim RndWord() As String, Score(2) As Integer, Guessed() As String

    Sub Main()
        Dim NoPlayers As Integer, Quit As String

        Do
            Console.Write("How Many Players Are There (1/2) : ") : NoPlayers = Console.ReadLine
            Console.WriteLine()
            Call WordChoose(NoPlayers)
            Call GuessLetter()

            Console.Write("Do You Wish To Continue (Y/N) : ") : Quit = Console.ReadLine
        Loop Until LCase$(Quit) = "n"

    End Sub

    Sub WordChoose(ByVal NoPlayers As Integer)
        Randomize()
        Dim RandomNumber As Single = (Rnd() * 10)
        Dim Input As String, Choose As Boolean = True

        If NoPlayers = 1 Then
            Call AssignArray(Choose)
            Word = LCase$(RndWord(RandomNumber))
        Else
            Console.Write("Do You Wish To Enter Your Own Word (Y/N) : ") : Input = Console.ReadLine
            Console.WriteLine()
            Select Case LCase$(Input)
                Case Is = "y"
                    Console.Write("Enter Your Word (Cannot Use Help As Choosen Word) : ") : Word = LCase$(Console.ReadLine)
                    Choose = False
                    Call AssignArray(Choose)
                    Console.Clear()
                    If LCase$(Word) = "help" Then
                        Console.WriteLine("Cannot Use Help As Choosen Word")
                        Console.WriteLine()
                        WordChoose(NoPlayers)
                        Exit Sub
                    End If
                Case Is = "n"
                    Call AssignArray(Choose)
                    Word = LCase$(RndWord(RandomNumber))
            End Select
        End If

        CoveredWord = New String("#", Len(Word))

    End Sub

    Sub AssignArray(ByVal Choose As Boolean)

        If Choose = True Then
            Dim CurrentReader As StreamReader
            Dim ImportData As String, Count As Integer = 1
            Dim Filename As String = "\\powley\wakefieldd$\RndWordDict.txt"

            CurrentReader = New StreamReader(Filename)

            Do While Not CurrentReader.EndOfStream
                ImportData = CurrentReader.ReadLine
                RndWord(Count) = ImportData
                Count += 1
            Loop
            CurrentReader.Close()
        End If

        For i As Integer = 0 To 2
            Score(i) = 0
        Next

    End Sub

    Sub GuessLetter()
        Dim GameOver As Boolean = False
        Dim Guess As String

        Do
            Console.Write("Enter Your Guess (Help For Help) : ") : Guess = LCase$(Console.ReadLine)

            If Guess = "help" Then
                Console.WriteLine("Enter A Letter Or Word To Guess.")
                Console.WriteLine("Enter $ To Reveal Word And Lose The Round.")
                Console.WriteLine("Enter # To Exit Game.")
            ElseIf Guess = "#" Then
                Exit Sub
            ElseIf Guess = "$" Then
                CoveredWord = Word
                GameOver = True
            End If

            Call WinCheck(Guess, GameOver)
            Call DisplayProgress()

        Loop While GameOver = False

    End Sub

    Sub WinCheck(ByVal Guess As String, ByRef GameOver As Boolean)
        Dim StrPos, StrPosCheck As Integer, InWord As Boolean = False

        If Guess <> "help" And Guess <> "#" And Guess <> "$" And MoveCount <> 0 Then
            If Guess = Word Then
                GameOver = True
                CoveredWord = Word
                Exit Sub
            End If

            StrPos = InStr(Word, Guess)
            Do While GameOver = False And StrPos <> 0
                StrPos = InStr(Word, Guess)
                Mid$(CoveredWord, StrPos, 1) = Guess
            Loop

            If StrPos = 0 Then
                MoveCount -= 1
            End If

            StrPosCheck = InStr(CoveredWord, "#")
            If StrPosCheck <> 0 Then
                GameOver = True
            End If

        End If


    End Sub

    Sub DisplayProgress()

        Console.Clear()

        Console.WriteLine("The Word You Have Guessed So Far Is " + CoveredWord)
        Console.WriteLine("You Have " + MoveCount + " Guess's Left")

        Console.Write("You Have Guessed ")
        For i As Integer = LBound(Guessed) To UBound(Guessed)
            Console.Write("," + Guessed(i).ToString())
        Next

    End Sub

End Module