Graphics Programming in QBASIC

5 Min Read

Getting Started with QBASIC Graphics

QBASIC’s graphics commands were straightforward yet powerful, allowing users to create impressive visuals. To begin, users needed to enable graphics mode using the SCREEN command and pick a resolution. The popular choice was SCREEN 13, offering 320×200 pixel resolution and 256 colors.

SCREEN 13 ' Enable graphics mode with resolution 320x200 and 256 colors

Drawing Basic Shapes

Once you enter graphics mode in QBASIC, you can draw different shapes and patterns on the screen. QBASIC provides simple commands like LINE (for drawing lines), CIRCLE (for circles), RECT (for rectangles), and PAINT (for filling enclosed areas with color) to help you create your designs.

' Draw a line
LINE (50, 50)-(200, 100), 15 ' Draws a line from (50, 50) to (200, 100) with color 15 (white)

' Draw a circle
CIRCLE (160, 100), 50, 14 ' Draws a circle with center (160, 100), radius 50, and color 14 (yellow)

' Draw a rectangle
RECT (100, 150)-(220, 180), 6, , 1 ' Draws a rectangle from (100, 150) to (220, 180) with color 6 (cyan) and border color 1 (black)

' Fill an enclosed area with color
PAINT (250, 50), 9, 4 ' Fills the enclosed area at (250, 50) with color 9 (blue) and boundary color 4 (red)

Creating Animations

With QBASIC’s graphics capabilities, you can create fascinating animations. By regularly updating the screen and moving objects around, you can achieve captivating and dynamic visual effects.

Here’s an example of a simple animation that moves a circle across the screen:

SCREEN 13 ' Enable graphics mode

' Set initial coordinates
DIM x, y
x = 160
y = 100

    CLS ' Clear the screen
    CIRCLE (x, y), 50, 14 ' Draw the circle at the new coordinates
    x = x + 2 ' Increment x coordinate to move the circle horizontally
    IF x > 320 THEN x = 0 ' Reset x coordinate when the circle moves off the screen
    SLEEP 15 ' Introduce a delay to control animation speed
LOOP UNTIL INKEY$ <> "" ' Exit animation loop when a key is pressed

Implementing Interactive Graphics

Graphics programming in QBASIC offers more than just basic animations; it can involve user interaction as well. You can make graphics applications that respond to user input, like mouse clicks or keyboard presses, to create interactive and engaging experiences.

SCREEN 13 ' Enable graphics mode

    ' Check for mouse input
        LOCATE 1, 1: PRINT "Move the mouse to draw!"
        DO WHILE LEN(INKEY$) = 0
            mx = MOUSEX ' Get mouse X coordinate
            my = MOUSEY ' Get mouse Y coordinate
            ' Draw a point at the current mouse position
            PSET (mx, my), 15
    END IF

    ' Check for keyboard input
    IF INKEY$ <> "" THEN
        LOCATE 1, 1: PRINT "Press any key to clear the screen!"
        CLS ' Clear the screen when a key is pressed
    END IF
LOOP UNTIL INKEY$ = CHR$(27) ' Exit loop when Esc key is pressed

Creating Your Artistic Masterpieces

QBASIC graphics programming provides a creative canvas to express yourself. You can combine shapes, colors, animations, and interactivity to create mesmerizing visuals through code. Whether you’re a beginner or an experienced developer, QBASIC graphics is a fun and unique way to explore your creativity. As you delve deeper into QBASIC graphics, you’ll find more exciting techniques like pixel manipulation, sprite animations, and fractal art generation. The possibilities are endless!


QBASIC’s graphics programming offers a valuable glimpse into the past, despite not matching today’s advanced graphics capabilities. It serves as an excellent platform for beginners and enthusiasts to explore graphics fundamentals and unleash their creativity through code. Using commands like LINE, CIRCLE, RECT, and PAINT, users can create captivating visuals and animations. Interactivity with user input adds another dimension to graphics applications, making them engaging and interactive. While QBASIC is nostalgic and enjoyable, transitioning to more modern languages like Python, JavaScript, or C++ with robust graphics libraries will keep you current in the tech world. Embrace QBASIC’s simplicity, experiment with code, and let your imagination soar on the screen, appreciating the pioneers who shaped modern graphics. It’s about the joy of learning and the sense of accomplishment with every line of code you write.

Share This Article
Leave a comment

Leave a Reply

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