Skip to content

User Interaction

LeonBasic provides functions for interacting with users, including requesting input and creating simple menu systems.

1. Menu System

require("basic");
basic.print("1. Option One");
basic.print("2. Option Two");
basic.print("3. Exit");
var(choice) = basic.input("Please select: ");
if(choice == "1") {
    basic.print("You selected Option One");
} else if(choice == "2") {
    basic.print("You selected Option Two");
} else {
    basic.print("Exiting program");
}

2. Getting User Input

Use the basic.input() function to request input from the user:

require("basic");
var(name) = basic.input("What is your name? ");
basic.print(string:"Hello, " + var(name) + string:"!");

3. Input Validation

require("basic");
var(age_input) = basic.input("Please enter your age: ");
try {
    var(age) = int:var(age_input);
    if(age > 0) {
        basic.print(string:"You are " + string:age + string:" years old");
    } else {
        basic.print("Invalid age entered");
    }
} catch(error) {
    basic.print("Please enter a valid number");
}

4. Multi-step User Interaction

require("basic");
basic.print("--- User Information Form ---");

var(first_name) = basic.input("First Name: ");
var(last_name) = basic.input("Last Name: ");
var(email) = basic.input("Email: ");

basic.print("");
basic.print("Your information:");
basic.print(string:"Name: " + var(first_name) + string:" " + var(last_name));
basic.print(string:"Email: " + var(email));

5. Confirmation Dialog

require("basic");
var(confirm) = basic.input("Are you sure you want to continue? (y/n): ");
if(confirm == "y" || confirm == "Y") {
    basic.print("Continuing with the operation...");
} else {
    basic.print("Operation cancelled");
}

6. Using pause() for User Experience

The pause() function can be used to create better user experience by waiting for user confirmation before proceeding:

require("basic");
basic.print("Important information displayed here");
basic.print("Press any key to continue...");
basic.pause();
basic.print("Continuing with the program");

7. Interactive Calculator Example

require("basic");
basic.print("--- Simple Calculator ---");
var(num1_input) = basic.input("Enter first number: ");
var(num2_input) = basic.input("Enter second number: ");
var(operation) = basic.input("Select operation (+, -, *, /): ");

try {
    var(num1) = int:var(num1_input);
    var(num2) = int:var(num2_input);

    if(operation == "+ ") {
        basic.print(string:"Result: " + string:(num1 + num2));
    } else if(operation == "- ") {
        basic.print(string:"Result: " + string:(num1 - num2));
    } else if(operation == "* ") {
        basic.print(string:"Result: " + string:(num1 * num2));
    } else if(operation == "/ ") {
        basic.print(string:"Result: " + string:(num1 / num2));
    } else {
        basic.print("Invalid operation");
    }
} catch(error) {
    basic.print(string:"Error: " + error);
}