Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
My first Boriel BASIC program: Guess Number
#1
To run online, click here: RUN ONLINE

Here is the source:

Code:
' PROGRAM GUESS NUMBER
' (c) 2022 by Zarsoft
' Language: ZX BASIC (BORIEL) compiled

#include <input.bas>

#define REPEAT  DO
#define UNTIL   LOOP UNTIL
#define ROUTINE SUB
#define PROGRAM REM

REM Variable declarations
REM VAR - Global variables
DIM secret AS INTEGER : REM number 1-1000
DIM guess AS INTEGER : REM user guess
LET tries = 0 : REM number of tries
LET GoodGame = 0 : REM user guessed on few tries
LET YouGuessed = 0 : REM User guessed it right

ROUTINE Introduction
CLS
PRINT AT 13,0
PRINT "+------------------+"
PRINT "| GUESS THE NUMBER |"
PRINT "+------------------+"
PRINT " (c) Zarsoft, 2022"
PRINT " ZX BASIC (Boriel)"
PRINT
PRINT
END ROUTINE

ROUTINE PickNumber
PRINT
PRINT "I am thinking of a Number"
PRINT "between 1 and 1000"
PAUSE 50
LET secret = 1+INT (RND*1000)
REM PRINT "secret= ";secret
END ROUTINE

ROUTINE GetUserGuess
PRINT "What is your guess? ";
guess = VAL( INPUT(9) )
LET tries = tries + 1
END ROUTINE

ROUTINE TestGuess
IF guess = secret
  LET YouGuessed = 1
  PRINT
  PRINT "Congratulations, human!"
  PRINT "The number was ";secret
  PRINT "On target in ";tries;" tries."
  PAUSE 50
ELSEIF guess < secret
  LET YouGuessed = 0
  PRINT
  PRINT "Try one bigger than ";guess
  PAUSE 50
ELSE
  LET YouGuessed = 0
  PRINT
  PRINT "Try one smaller than ";guess
  PAUSE 50
ENDIF
END ROUTINE

ROUTINE TestGoodGame
IF tries <= 10
  LET GoodGame = 1
ELSE
  PRINT
  PRINT "But, it took too much time."
  PRINT "Lets try again!"
  PAUSE 50
ENDIF
END ROUTINE

ROUTINE GameOver
PRINT
PRINT "GAME OVER - insert another coin"
PRINT
PRINT
PRINT
PRINT
END ROUTINE

ROUTINE Game
InitVariables
PickNumber
REPEAT
  GetUserGuess
  TestGuess
UNTIL YouGuessed
END ROUTINE

ROUTINE MainRoutine
Introduction
REPEAT
  Game
  TestGoodGame
UNTIL GoodGame
GameOver
END ROUTINE

PROGRAM GuessNumber
MainRoutine
PROGRAM END
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)