IT217 week 7 Assignment

 Modify the Guessing game from chapters 6-7 to play with 2 players instead of 1 player by showing input and stats for player 1 and player 2.
– To end the game: You can ask for number of games to be played at the beginning of the game or you can ask the user whether to continue after each game.
– Display number of guesses for each player in addition to average number of guesses for each play.
– Show which player wins the whole match based on who has the least average number of guesses after the total number of games selected is over.
– When each game is played, change the output to display that the last guess is correct. Example: Congratulations! XXX is correct!
– When the players reach the total number of games chosen, or when the player chooses not to continue, display either: “Match over! Player 1 wins!” , OR “Match over! Player 2 wins!” , OR “Match over! It’s a tie!” 

MODIFY THE PROGRAM BELOW WITH THE PROVIDED INSTRUSTION UP IN just BASICSOFTWARE

‘ *************************************************************************

‘ Script Name: GuessMyNumber.bas (The Guess My Number Game)

‘ Version:     1.0

‘ Author:      Jerry Lee Ford, Jr.

‘ Date:        March 1, 2007

‘ Description: This game is a Just BASIC number guessing game that

‘              challenges players to guess a number between 1 and 100 in

‘              as few guesses as possible.

‘ *************************************************************************

nomainwin   ‘Suppress the display of the default text window

‘Declare global variables used to keep track of game statistics

global secretNumber, avgNoGuesses, noOfGamesPlayed, guessCount, helpOpen$

‘Assign default values to global variables

secretNumber = 0    ‘Keeps track of the game’s randomly generated number

guessCount = 0      ‘Keeps track of the total number of guesses made

avgNoGuesses= 0     ‘Stores the calculated average number of moves per game

noOfGamesPlayed = 0 ‘Keeps track of the total number of games played

helpOpen$ = “False” ‘Keeps track of when the #help window is open

WindowWidth = 510   ‘Set the width of the window to 500 pixels

WindowHeight = 500  ‘Set the height of the window to 500 pixels

ForegroundColor$ = “Darkblue”  ‘Set the window font color to dark blue

‘Define the format of statictext controls displayed on the window

statictext #play.statictext1, “G U E S S   M Y   N U M B E R”, _

  30, 50, 440, 40

statictext #play.statictext2, “Copyright 2007”, 395, 90, 80, 20

statictext #play.statictext3, “Games Played:”, 40, 400, 80, 20

statictext #play.statictext4, “Avg. No. Guesses:”, 265, 400, 90, 20

statictext #play.statictext5, “Enter Your Guess:”, 200, 140, 100, 20

statictext #play.statictext6, “Hint:”, 42, 300, 30, 20

‘Add button controls to the window

button #play.button1 “Guess”, AnalyzeGuess, UL, 210, 225, 80, 30

button #play.button2 “Help”, DisplayHelp, UL, 400, 318, 70, 25

button #play.button3 “Start Game”, StartGame, UL, 400, 288, 70, 25

‘Add three textbox controls and place them inside the groupbox control

textbox #play.textbox1, 200, 160, 100, 50

textbox #play.textbox2, 130, 395, 90, 22

textbox #play.textbox3, 370, 395, 90, 22

textbox #play.textbox4, 40, 320, 340, 22

‘Open the window with no frame and a handle of #play

open “Guess My Number” for window_nf as #play

‘Set up the trapclose event for the window

print #play, “trapclose ClosePlay”

‘Display the appropriate variable values in the following textbox controls

print #play.textbox3, avgNoGuesses

print #play.textbox2, noOfGamesPlayed

‘Set the font type, size, and properties for each of the static controls

print #play.statictext1, “!font Arial 24 bold”

print #play.statictext2, “!font Arial 8”

print #play.statictext5, “!font Arial 8 bold”

print #play.statictext6, “!font Arial 8 bold”

print #play.textbox1, “!font Arial 24”;

print #play.button3, “!setfocus”;  ‘Set focus to the Start Game button

print #play.button1, “!disable”    ‘Disable the Guess button

print #play.textbox1, “!disable”   ‘Disable the input textbox

‘Pause the application to wait for the player’s instruction

wait

‘This subroutine analyzes player guesses and determines when the game

‘has been won

sub AnalyzeGuess handle$

  ‘Retrieve the player’s guess and assign it to a variable

  print #play.textbox1, “!contents? playerGuess”

  ‘Validate that an acceptable value has been entered

  if playerGuess < 1 or playerGuess > 100 then

    ‘Inform the user that an invalid guess has been made

    print #play.textbox4, “Your guess must be between 1 and 100. Try again.”

    print #play.textbox1, “”  ‘Clear out the input textbox

    print #play.textbox1, “!setfocus”;  ‘set focus to the input textbox

    exit sub  ‘Exit the subroutine without processing any remaining

              ‘subroutine statements

  end if

  ‘Determine if the player’s guess is too low

  if playerGuess < secretNumber then

    ‘Increment the variable that tracks the total number of guesses made

    guessCount = guessCount + 1

    ‘Inform the user that the guess was too low

    print #play.textbox4, “Your guess was too low. Try again.”

    print #play.textbox1, “”  ‘Clear out the input textbox

    print #play.textbox1, “!setfocus”;  ‘set focus to the input textbox

    exit sub  ‘Exit the subroutine without processing any remaining

              ‘subroutine statements

  end if

  ‘Determine if the player’s guess is too high

  if playerGuess > secretNumber then

    ‘Increment the variable that tracks the total number of guesses made

    guessCount = guessCount + 1

    ‘Inform the user that the guess was too high

    print #play.textbox4, “Your guess was too high. Try again.”

    print #play.textbox1, “”  ‘Clear out the input textbox

    print #play.textbox1, “!setfocus”;  ‘set focus to the input textbox

    exit sub  ‘Exit the subroutine without processing any remaining

              ‘subroutine statements

  end if

  ‘Determine if the player’s guess was correct

  if playerGuess = secretNumber then

    ‘Let the player know he has won the game

    notice “Guess My Number” + chr$(13) + “Game over! You win!”

    ‘Increment the variable that tracks the total number of guesses made

    guessCount = guessCount + 1

   ‘Increment the variable that tracks the total number of games played

    noOfGamesPlayed = noOfGamesPlayed + 1

    ‘Calculate the average number of guesses per game

    avgNoGuesses = guessCount / noOfGamesPlayed

    ‘Display the appropriate variable values in the following textbox

    ‘controls

    print #play.textbox3, avgNoGuesses

    print #play.textbox2, noOfGamesPlayed

    print #play.textbox1, “”           ‘Clear out the input textbox

    print #play.button3, “!enable”     ‘Enable the Start Game button

    print #play.button3, “!setfocus”;  ‘Set focus to the Start Game button

    print #play.textbox1, “!disable”   ‘Disable the input textbox

    print #play.button1, “!disable”    ‘Disable the Guess button

    print #play.textbox4, “”           ‘Clear out the Hint textbox control

    exit sub  ‘Exit the subroutine without processing any remaining

              ‘subroutine statements

  end if

end sub

‘This subroutine is called when the player clicks on the Start Game button

sub StartGame handle$

  ‘Generate a new random number for the game

  secretNumber = int(rnd(1)*100) + 1

  print #play.button1, “!enable”      ‘Enable the Guess button

  print #play.textbox1, “!enable”     ‘Enable the input textbox

  print #play.button3, “!disable”     ‘Disable the Start Game button

  print #play.textbox1, “!setfocus”;  ‘Set focus to the input textbox

end sub

‘This subroutine is called when the player clicks on the Help button

sub DisplayHelp handle$

  helpOpen$ = “True”  ‘Identify the #help window as being open

  WindowWidth = 400   ‘Set the width of the window to 500 pixels

  WindowHeight = 400  ‘Set the height of the window to 500 pixels

  ‘Use variables to store text strings displayed in the window

  HelpHeader$ = “Game Instructions”

  helpText1$ = “The object of this game is to guess a randomly generated” _

    + ” number in the range of 1 to 100 in as few guesses as possible. ” _

    + “To make a guess, type in a number and click on the Guess button. ” _

    + “A hint will be provided after each move to assist you in making ” _

    + “your next guess. Once you have correctly guessed the game’s secret” _

    + ” number, a popup message will be displayed.”

  helpText2$ = “At the end of each round of play, game statistics are ” _

    + “displayed at the bottom of the game window as an indication of ” _

    + “your progress.”

  ‘Define the format of statictext controls displayed on the window

  statictext #help.helptext1, HelpHeader$, 30, 40, 140, 20

  statictext #help.helptext2, helpText1$, 30, 70, 330, 80

  statictext #help.helptext3, helpText2$, 30, 160, 330, 50

  ‘Add button controls to the window

  button #help.button “Close”, CloseHelpWindow, UL, 280, 310, 80, 30

  ‘Open the window with no frame and a handle of #play

  open “Guess My Number Help” for window_nf as #help

  ‘Set the font type, size, and properties for specified statictext control

  print #help.helptext1, “!font Arial 12 bold”

end sub

‘This subroutine is called when the player closes the #help window

sub CloseHelpWindow handle$

  helpOpen$ = “False”  ‘Identify the #hlp window as being closed

  close #help  ‘Close the #help window

end sub

‘This subroutine is called when the player closes the #play window

‘and is responsible for ending the game

sub ClosePlay handle$

  ‘Get confirmation before terminating program execution

  confirm “Are you sure you want to quit?”; answer$

  if answer$ = “yes” then  ‘The player clicked on Yes

    close #play  ‘Close the #play window

    ‘See if the #help window is open and close it if it is

    if  helpOpen$ = “True” then

      call CloseHelpWindow “X”  ‘Close the #help window

    end if

    end  ‘Terminate the game

  end if

end sub

Tags: No tags