How to make games using Qbasic?

7 Min Read

To create games in QBasic, you’ll need to have a basic understanding of programming concepts and the QBasic language. There are many games that were created using QBasic, including simple text-based adventure games, puzzle games, and arcade games. Some popular QBasic games include “Rogue,” a dungeon-crawl style adventure game, “Lunar Lander,” a simulation of the Apollo lunar lander, and “Tetris,” a classic puzzle game.

If you want to view some sample code of games, you can download our app called “qbasic programs:” from play store or you can click this link to download

If you’re interested in creating your own QBasic games, there are many resources available online to help you get started. There are also many forums and communities where you can ask for help or share your own QBasic projects.

Here are the general steps you can follow to create a simple game in QBasic:

  1. Open the QBasic IDE and create a new file by going to “File” > “New.”
  2. Begin by writing the code for the program’s structure, including the program’s declaration, any necessary subroutines or functions, and the main loop.
  3. Next, you’ll need to set up any necessary variables and data structures, such as arrays or objects, that you’ll be using in the game.
  4. Write the code for the game’s main loop, which will handle the game’s logic and update the game’s state on each iteration.
  5. Add code to handle user input, such as keyboard or mouse events, and use this input to control the game’s behavior.
  6. Add code to display the game’s graphics, using QBasic’s built-in graphics commands or functions.
  7. Test the game and make any necessary adjustments until it is working as desired.

Example of a game using Qbasic:

Here’s an example of a simple QBasic adventure game:

' QBasic adventure game example

DIM rooms(5) AS STRING ' Declare an array to hold the names of the rooms

DIM objects(5) AS STRING ' Declare an array to hold the names of the objects

DIM currentRoom AS INTEGER ' Declare a variable to hold the current room

' Set up the rooms and objects

rooms(1) = "Kitchen"

rooms(2) = "Living Room"

rooms(3) = "Bedroom"

rooms(4) = "Bathroom"

rooms(5) = "Backyard"

objects(1) = "Knife"

objects(2) = "Couch"

objects(3) = "Bed"

objects(4) = "Towel"

objects(5) = "Grass"

currentRoom = 1 ' Set the starting room


  ' Display the current room and objects

  PRINT "You are in the "; rooms(currentRoom)

  PRINT "There is a "; objects(currentRoom); " in the room."


  PRINT "What do you want to do?"

  PRINT "1. Look around"

  PRINT "2. Go to the next room"

  PRINT "3. Pick up the object"

  PRINT "4. Quit"


  INPUT "Enter your choice: ", choice

  ' Handle the user's choice

  SELECT CASE choice

    CASE 1

      PRINT "There is nothing else in the room."

    CASE 2

      currentRoom = currentRoom + 1

      IF currentRoom > 5 THEN currentRoom = 1

    CASE 3

      PRINT "You picked up the "; objects(currentRoom)

      objects(currentRoom) = ""

    CASE 4

      EXIT DO


      PRINT "Invalid choice."



END ' End the program

Example of Terminal Based Game in Qbasic:

Here’s an example of how you could create a simple rock-paper-scissors game in QBasic:

' QBasic rock-paper-scissors game

CLS ' Clear the screen


  ' Get the user's choice

  PRINT "Rock, paper, or scissors?"

  INPUT "Enter your choice: ", choice

  ' Convert the choice to lowercase

  choice = LCASE$(choice)

  ' Generate the computer's choice


  computerChoice = INT(RND * 3) + 1

  IF computerChoice = 1 THEN computerChoice$ = "rock"

  IF computerChoice = 2 THEN computerChoice$ = "paper"

  IF computerChoice = 3 THEN computerChoice$ = "scissors"

  ' Determine the winner

  IF choice = "rock" THEN

    IF computerChoice$ = "rock" THEN

      PRINT "It's a tie!"

    ELSEIF computerChoice$ = "paper" THEN

      PRINT "The computer wins!"


      PRINT "You win!"

  ELSEIF choice = "paper" THEN

    IF computerChoice$ = "rock" THEN

      PRINT "You win!"

    ELSEIF computerChoice$ = "paper" THEN

      PRINT "It's a tie!"


      PRINT "The computer wins!"

  ELSEIF choice = "scissors" THEN

    IF computerChoice$ = "rock" THEN

      PRINT "The computer wins!"

    ELSEIF computerChoice$ = "paper" THEN

      PRINT "You win!"


      PRINT "It's a tie!"


    PRINT "Invalid choice."



  PRINT "Play again? (Y/N)"

  INPUT "Enter your choice: ", playAgain

LOOP UNTIL UCASE$(playAgain) = "N"

END ' End the program

This code uses a loop to allow the user to play multiple rounds of the game. The randomize and RND functions are used to generate a random choice for the computer. The IF and ELSEIF statements are used to determine the winner based on the choices of the user and the computer.

To make the game more advanced, you could add additional features such as a scoring system or support for multiple players. You could also use QBasic graphics commands to create a more visually appealing interface for the game.

To create more advanced games, you’ll need to learn more about the QBasic language and programming concepts, such as loops, conditional statements, and functions. You may also want to consider using libraries or frameworks that provide additional functionality, such as support for graphics, sound, and networking.

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *