VB.CONSOLE Will be Your Friend!


Older BASIC games that I have come across and played around porting to VB.BET thrive in a console window app/program.  The vb.console class better mimics the DOS, CP/M, Apple or UNIX environments they originally swam in. As I get further and further into these old games I will post my lessons learned and tips here in this section.  I am not pro and will welcome you sending me via e-mail any advice, suggestions for improvements or bug reports. 


Currently, I am working on two games:

► Lunar Lander (The first computer game I ever played on an old IBM Mini (took up half the room))

► Star Trek simulator  (More Complex, many different versions and flavors out there to play around with)


The programs and versions I am working are from roughly the same mid-late 1970s period. You can find the Original Information, code, screen captures etc from the sites listed in the Old Code Links Page section.



1) Creating a VB.NET Console App

2) Creating Your First Console Program

3) Learn to love the Console Class PT1 

4) Learn to love the Console Class PT2

5) Learn to love the Console Class PT3 

6) Learn to love the Console Class PT4

7) Breaking the Code

8) Paper Tracing

9) Lunar Lander Snippets and Recode

10) Random Numbers

11) Variables

12) Console Manipulation

13) Simple Print Helper Module

Observations and Lessons I have gleaned from the programs I have reviewed so far: (Updated)

  1. Different BASIC’s had different rules for multiple commands on a single line

  2. Variable Naming was non-descriptive, so interpretive and tracing skills need sharpening

  3. Variable Scope didn’t matter it was all the same Namespace

  4. Some Commands no longer do what they did then.

    • OLD Print has become VB.NET console.write or console.writetline options 

    • OLD  Input has become VB.NET various options in the console.read family

    • OLD GOSUB/RETURN pairs have become in VB.NET Sub or Function Calls or possibly even full classes

    • OLD IF statements act quite different (Working on whole sub page for this one) and the way they were used for program flow control is no longer needed. 

    • OLD IF may require ELSE, ELSE IF and END IF or complete restructuring to utilize SELECT CASE or DO LOOP decision and flow controls

    • OLD TAB is not the same as the VB.NET TAB type function, still working on the real differences.

  5. Some Commands are gone:

    • OLD GOTO (can be emulated using line tags its messy and sometimes is harder than the original to trace See note on interpretive and tracing skills)

    • OLD DEF (While not really gone gone, it is now a Function or a class method or perhaps even a constant

  6. Sequential Flow with complex GOTOs can be a freakin’ nightmare to break into modules AND classes, GET YOUR PRINTER INK TOPPED OFF!.

  7. Input Validation and recovery code may no longer be needed as VB.NET can limit character types allowed from keypress.

  8. Variable Types need close review in some BASIC typing is done by adding a character to the variable name, ie x$ is string.

  9. Random Number Generation is easier now and more random

  10. Personal Observations...Someone will always interrupt when tracing, basement is cold (Please Donate for space heater funding) and I get distracted easy.


Hosting Provided by:

Affiliate Link

Affiliate Information and Disclaimer:

Ads and Affiliate Links allow us to remain in operation. If you click on links, buy products or subscribe to services from this site, we make money. It would be safe to assume that any/all links from this site are affiliate links.

Full Affiliate Disclosure