Фиксация мамы нолнан с сфере IT с симпатией к атусу стоещему на полигоне
с афроо лошадьми
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
// Тест массивов
|
||||
print("=== Arrays Test ===");
|
||||
|
||||
// Создание массива
|
||||
array numbers 5;
|
||||
|
||||
// Заполнение массива
|
||||
set(numbers, 0, 10);
|
||||
set(numbers, 1, 20);
|
||||
set(numbers, 2, 30);
|
||||
set(numbers, 3, 40);
|
||||
set(numbers, 4, 50);
|
||||
|
||||
// Чтение из массива
|
||||
print("Array elements:");
|
||||
int i = 0;
|
||||
while (i < 5) {
|
||||
int value = get(numbers, i);
|
||||
print("numbers[" + i + "] = " + value);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
// Массив с подчеркиванием в имени
|
||||
array test_array 3;
|
||||
set(test_array, 0, 100);
|
||||
set(test_array, 1, 200);
|
||||
set(test_array, 2, 300);
|
||||
|
||||
print("Test array:");
|
||||
int j = 0;
|
||||
while (j < 3) {
|
||||
int val = get(test_array, j);
|
||||
print("test_array[" + j + "] = " + val);
|
||||
j = j + 1;
|
||||
}
|
||||
|
||||
// Сумма элементов массива
|
||||
int sum = 0;
|
||||
int k = 0;
|
||||
while (k < 5) {
|
||||
sum = sum + get(numbers, k);
|
||||
k = k + 1;
|
||||
}
|
||||
print("Sum of numbers: " + sum);
|
||||
|
||||
print("Arrays test completed!");
|
||||
fox();
|
||||
@@ -0,0 +1,15 @@
|
||||
// Тест встроенных функций
|
||||
print("=== Built-in Functions Test ===");
|
||||
|
||||
// Тест print
|
||||
print("Testing print function");
|
||||
|
||||
// Тест математических функций (заглушки)
|
||||
print("Testing math functions (built-in):");
|
||||
print("Math functions work!");
|
||||
|
||||
// Тест fox функции
|
||||
print("Testing fox function:");
|
||||
fox();
|
||||
|
||||
print("Built-in functions test completed!");
|
||||
@@ -0,0 +1,60 @@
|
||||
// Тест циклов и условий
|
||||
print("=== Control Flow Test ===");
|
||||
|
||||
// Тест if/else
|
||||
int x = 10;
|
||||
if (x > 5) {
|
||||
print("x is greater than 5");
|
||||
} else {
|
||||
print("x is not greater than 5");
|
||||
}
|
||||
|
||||
// Тест логических операторов
|
||||
bool a = true;
|
||||
bool b = false;
|
||||
|
||||
if (a && !b) {
|
||||
print("a is true and b is false");
|
||||
}
|
||||
|
||||
if (a || b) {
|
||||
print("a or b is true");
|
||||
}
|
||||
|
||||
// Тест while цикла
|
||||
print("While loop test:");
|
||||
int counter = 0;
|
||||
while (counter < 5) {
|
||||
print("Counter: " + counter);
|
||||
counter = counter + 1;
|
||||
}
|
||||
|
||||
// Тест for цикла
|
||||
print("For loop test:");
|
||||
int i = 0;
|
||||
while (i < 3) {
|
||||
print("For loop i: " + i);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
// Вложенные циклы
|
||||
print("Nested loops test:");
|
||||
int outer = 0;
|
||||
while (outer < 3) {
|
||||
int inner = 0;
|
||||
while (inner < 2) {
|
||||
print("outer: " + outer + ", inner: " + inner);
|
||||
inner = inner + 1;
|
||||
}
|
||||
outer = outer + 1;
|
||||
}
|
||||
|
||||
// Переменные с подчеркиваниями в циклах
|
||||
int loop_counter = 0;
|
||||
while (loop_counter < 3) {
|
||||
print("loop_counter: " + loop_counter);
|
||||
loop_counter = loop_counter + 1;
|
||||
}
|
||||
|
||||
print("Control flow test completed!");
|
||||
fox();
|
||||
@@ -0,0 +1,30 @@
|
||||
// Простой тест пользовательских функций
|
||||
print("=== Functions Test ===");
|
||||
|
||||
// Простая функция
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Функция со строкой
|
||||
string greet(string name) {
|
||||
return "Hello!";
|
||||
}
|
||||
|
||||
// Void функция
|
||||
void say_hello() {
|
||||
print("Hello from function!");
|
||||
}
|
||||
|
||||
// Тестирование
|
||||
print("Testing add function:");
|
||||
print("Result: " + add(5, 3));
|
||||
|
||||
print("Testing greet function:");
|
||||
print(greet("Alice"));
|
||||
|
||||
print("Testing void function:");
|
||||
say_hello();
|
||||
|
||||
print("Functions test completed!");
|
||||
fox();
|
||||
@@ -1,38 +0,0 @@
|
||||
print(">>> Library 'lib_utils.fox' loaded successfully!");
|
||||
|
||||
// Глобальные переменные для передачи "аргументов" в функции
|
||||
// (так как в v4.0 аргументы передаются через глобальную память)
|
||||
int arg_val = 0;
|
||||
int return_val = 0;
|
||||
|
||||
// --- Функция 1: Вычисление факториала ---
|
||||
void factorial() {
|
||||
int counter = 1;
|
||||
int result = 1;
|
||||
|
||||
// Цикл while
|
||||
while (counter < arg_val + 1) {
|
||||
result = result * counter;
|
||||
counter = counter + 1;
|
||||
}
|
||||
return_val = result;
|
||||
}
|
||||
|
||||
// --- Функция 2: Красивый заголовок ---
|
||||
void printHeader() {
|
||||
print("===================================");
|
||||
print(" FOX LANG v4.0 DEMO SYSTEM ");
|
||||
print("===================================");
|
||||
fox(); // Вызов встроенной лисы
|
||||
}
|
||||
|
||||
// --- Функция 3: Проверка четности ---
|
||||
void checkParity() {
|
||||
// Используем оператор остатка %
|
||||
int rem = arg_val % 2;
|
||||
if (rem == 0) {
|
||||
print("Number " + arg_val + " is EVEN (Chetnoe).");
|
||||
} else {
|
||||
print("Number " + arg_val + " is ODD (Nechetnoe).");
|
||||
}
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
// 1. Подключаем нашу библиотеку
|
||||
include("lib_utils.fox");
|
||||
|
||||
// Используем функцию из библиотеки
|
||||
printHeader();
|
||||
|
||||
// ==========================================
|
||||
// ЧАСТЬ 1: Работа с вводом и условиями
|
||||
// ==========================================
|
||||
print("");
|
||||
print("--- Step 1: User Interaction ---");
|
||||
print("Enter your name:");
|
||||
string name = input();
|
||||
|
||||
if (name == "Fox") {
|
||||
print("Hello, Creator!");
|
||||
} else {
|
||||
print("Welcome, user " + name);
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// ЧАСТЬ 2: Математика и Библиотечные функции
|
||||
// ==========================================
|
||||
print("");
|
||||
print("--- Step 2: Math & Logic ---");
|
||||
print("Enter a small number to calculate Factorial:");
|
||||
string inputNum = input();
|
||||
int num = inputNum; // Автоматическое преобразование типов (строка -> число)
|
||||
|
||||
// Передаем аргумент через глобальную переменную библиотеки
|
||||
arg_val = num;
|
||||
factorial(); // Вызываем функцию из lib_utils.fox
|
||||
|
||||
print("Factorial of " + num + " is: " + return_val);
|
||||
|
||||
// Проверяем на четность
|
||||
checkParity();
|
||||
|
||||
// ==========================================
|
||||
// ЧАСТЬ 3: Массивы и Сортировка (Bubble Sort)
|
||||
// ==========================================
|
||||
print("");
|
||||
print("--- Step 3: Array Sorting (Bubble Sort) ---");
|
||||
|
||||
// Объявляем массив на 5 элементов
|
||||
int arrSize = 5;
|
||||
array myNumbers arrSize;
|
||||
|
||||
// Заполняем массив случайными числами
|
||||
int i = 0;
|
||||
while (i < arrSize) {
|
||||
int rnd = random();
|
||||
set(myNumbers, i, rnd);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
// Выводим исходный массив
|
||||
print("Original Array:");
|
||||
int k = 0;
|
||||
while (k < arrSize) {
|
||||
print("Index " + k + ": " + get(myNumbers, k));
|
||||
k = k + 1;
|
||||
}
|
||||
|
||||
print("Sorting now... please wait...");
|
||||
|
||||
// Реализация сортировки пузырьком
|
||||
int n = arrSize;
|
||||
int pass = 0;
|
||||
|
||||
// Внешний цикл
|
||||
while (pass < n) {
|
||||
int j = 0;
|
||||
// Внутренний цикл (n - 1)
|
||||
while (j < n - 1) {
|
||||
// Получаем два соседних элемента
|
||||
int val1 = get(myNumbers, j);
|
||||
int val2 = get(myNumbers, j + 1);
|
||||
|
||||
// Если левый больше правого - меняем местами
|
||||
if (val1 > val2) {
|
||||
set(myNumbers, j, val2);
|
||||
set(myNumbers, j + 1, val1);
|
||||
}
|
||||
j = j + 1;
|
||||
}
|
||||
pass = pass + 1;
|
||||
}
|
||||
|
||||
// Выводим отсортированный массив
|
||||
print("Sorted Array (Result):");
|
||||
k = 0;
|
||||
while (k < arrSize) {
|
||||
print("Index " + k + ": " + get(myNumbers, k));
|
||||
k = k + 1;
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// ФИНАЛ
|
||||
// ==========================================
|
||||
print("");
|
||||
print("Test Complete. FoxLang is working perfectly!");
|
||||
@@ -0,0 +1,45 @@
|
||||
// Тест математических операций
|
||||
print("=== Math Operations Test ===");
|
||||
|
||||
// Базовые операции
|
||||
int a = 10;
|
||||
int b = 3;
|
||||
|
||||
print("a = " + a + ", b = " + b);
|
||||
print("a + b = " + (a + b));
|
||||
print("a - b = " + (a - b));
|
||||
print("a * b = " + (a * b));
|
||||
print("a / b = " + (a / b));
|
||||
print("a % b = " + (a % b));
|
||||
|
||||
// Операции с float
|
||||
float x = 10.5;
|
||||
float y = 3.2;
|
||||
|
||||
print("x = " + x + ", y = " + y);
|
||||
print("x + y = " + (x + y));
|
||||
print("x - y = " + (x - y));
|
||||
print("x * y = " + (x * y));
|
||||
print("x / y = " + (x / y));
|
||||
|
||||
// Сравнения
|
||||
print("Comparison tests:");
|
||||
print("10 == 10: true");
|
||||
print("10 != 5: true");
|
||||
print("10 > 5: true");
|
||||
print("5 < 10: true");
|
||||
|
||||
// Строковые операции
|
||||
string str1 = "Hello";
|
||||
string str2 = "World";
|
||||
string result = str1 + " " + str2;
|
||||
print("String concatenation: " + result);
|
||||
|
||||
// Переменные с подчеркиваниями
|
||||
int first_number = 15;
|
||||
int second_number = 25;
|
||||
int math_result = first_number + second_number;
|
||||
print("first_number + second_number = " + math_result);
|
||||
|
||||
print("Math operations test completed!");
|
||||
fox();
|
||||
@@ -0,0 +1,32 @@
|
||||
// math_utils.fox - Математические утилиты
|
||||
|
||||
int add_numbers(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
int multiply(int x, int y) {
|
||||
return x * y;
|
||||
}
|
||||
|
||||
int max_value(int a, int b) {
|
||||
if (a > b) {
|
||||
return a;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
int min_value(int a, int b) {
|
||||
if (a < b) {
|
||||
return a;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
float calculate_average(int a, int b) {
|
||||
return (a + b) / 2.0;
|
||||
}
|
||||
|
||||
// Функция с подчеркиванием
|
||||
int power_of_two(int n) {
|
||||
return n * n;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
// Тест модульной системы
|
||||
print("=== Modules Test ===");
|
||||
|
||||
// Подключаем математические утилиты
|
||||
include("math_utils.fox");
|
||||
|
||||
// Подключаем строковые утилиты
|
||||
include("string_utils.fox");
|
||||
|
||||
// Тестируем математические функции
|
||||
int sum = add_numbers(10, 20);
|
||||
print("add_numbers(10, 20) = " + sum);
|
||||
|
||||
int product = multiply(5, 6);
|
||||
print("multiply(5, 6) = " + product);
|
||||
|
||||
int maximum = max_value(15, 25);
|
||||
print("max_value(15, 25) = " + maximum);
|
||||
|
||||
int minimum = min_value(15, 25);
|
||||
print("min_value(15, 25) = " + minimum);
|
||||
|
||||
float avg = calculate_average(10, 20);
|
||||
print("calculate_average(10, 20) = " + avg);
|
||||
|
||||
int squared = power_of_two(7);
|
||||
print("power_of_two(7) = " + squared);
|
||||
|
||||
// Тестируем строковые функции
|
||||
string greeting = create_greeting("Alice");
|
||||
print(greeting);
|
||||
|
||||
string repeated = repeat_string("Fox", 3);
|
||||
print("repeat_string('Fox', 3) = " + repeated);
|
||||
|
||||
string user_info = format_user_info("john_doe", 25);
|
||||
print(user_info);
|
||||
|
||||
string full_name = get_full_name("John", "Doe");
|
||||
print("get_full_name('John', 'Doe') = " + full_name);
|
||||
|
||||
print("Modules test completed!");
|
||||
fox();
|
||||
@@ -0,0 +1,24 @@
|
||||
// Тест функции read_file
|
||||
print("=== Тест функции read_file ===");
|
||||
|
||||
// Создаем тестовый файл
|
||||
string test_content = "Hello from FoxLang!";
|
||||
|
||||
// Тестируем чтение существующего файла
|
||||
string content = read_file("telegram_bot/token.txt");
|
||||
if (content != "") {
|
||||
print("✅ Чтение файла: УСПЕШНО");
|
||||
print("Содержимое: " + content);
|
||||
} else {
|
||||
print("❌ Чтение файла: ОШИБКА");
|
||||
}
|
||||
|
||||
// Тестируем чтение несуществующего файла
|
||||
string empty = read_file("nonexistent.txt");
|
||||
if (empty == "") {
|
||||
print("✅ Обработка ошибки: УСПЕШНО");
|
||||
} else {
|
||||
print("❌ Обработка ошибки: ОШИБКА");
|
||||
}
|
||||
|
||||
print("=== Тест завершен ===");
|
||||
@@ -1,24 +0,0 @@
|
||||
// Функция, которая проверяет число и возвращает код ошибки
|
||||
int checkNumber(int n) {
|
||||
if (n < 0) {
|
||||
return 1; // Код ошибки 1: число отрицательное
|
||||
}
|
||||
if (n > 100) {
|
||||
return 2; // Код ошибки 2: число слишком большое
|
||||
}
|
||||
return 0; // 0 - всё хорошо
|
||||
}
|
||||
|
||||
// Переменная для теста
|
||||
int val = -5;
|
||||
|
||||
// присваиваем результат функции в переменную!
|
||||
int errorCode = checkNumber(val);
|
||||
|
||||
// Проверяем, что записалось
|
||||
if (errorCode == 0) {
|
||||
print("Success!");
|
||||
} else {
|
||||
print("Error happened. Code:");
|
||||
print(errorCode); // Выведет 1
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
int coins = 100;
|
||||
string playerName = "Alex";
|
||||
|
||||
// Коментприй
|
||||
void showStats() {
|
||||
print("--- Stats ---");
|
||||
print("Player: " + playerName);
|
||||
print("Coins: " + coins);
|
||||
}
|
||||
|
||||
void mainLogic() {
|
||||
print("Welcome to Fox Game!");
|
||||
showStats();
|
||||
|
||||
print("You found a chest! Adding 50 coins.");
|
||||
coins = coins + 50;
|
||||
|
||||
showStats();
|
||||
|
||||
print("Enter new name:");
|
||||
playerName = input();
|
||||
|
||||
print("Updated profile:");
|
||||
showStats();
|
||||
}
|
||||
|
||||
void init() {
|
||||
print("Initializing libs...");
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// string_utils.fox - Строковые утилиты
|
||||
|
||||
string create_greeting(string name) {
|
||||
return "Hello, " + name + "!";
|
||||
}
|
||||
|
||||
string repeat_string(string text, int count) {
|
||||
string result = "";
|
||||
int i = 0;
|
||||
while (i < count) {
|
||||
result = result + text;
|
||||
i = i + 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
string format_user_info(string user_name, int age) {
|
||||
return "User: " + user_name + ", Age: " + age;
|
||||
}
|
||||
|
||||
// Функция с подчеркиванием
|
||||
string get_full_name(string first_name, string last_name) {
|
||||
return first_name + " " + last_name;
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
include("script.fox");
|
||||
// Глоб. Переменные
|
||||
string Player = "Artem";
|
||||
int hpplayer = 100;
|
||||
int level = 1;
|
||||
int usr_input = 0;
|
||||
|
||||
void Hello() {
|
||||
print("Привет, " + Player + "!");
|
||||
print("Тебе предстоит пройти это подземелье");
|
||||
}
|
||||
Hello();
|
||||
|
||||
void ShowStats() {
|
||||
print("-----------Статистика-----------");
|
||||
print("Имя игрока: " + Player);
|
||||
print("Здоровье: " + hpplayer);
|
||||
print("Уровень: " + level);
|
||||
}
|
||||
ShowStats();
|
||||
|
||||
usr_input = input();
|
||||
|
||||
if (usr_input == 1) {
|
||||
init();
|
||||
} else {
|
||||
print("Не найдено действие для этого ввода.");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// Тест базовых типов данных и переменных
|
||||
print("=== Variables Test ===");
|
||||
|
||||
// Целые числа
|
||||
int age = 25;
|
||||
print("Age: " + age);
|
||||
|
||||
// Дробные числа
|
||||
float pi = 3.14159;
|
||||
print("Pi: " + pi);
|
||||
|
||||
// Строки
|
||||
string name = "FoxLang";
|
||||
print("Name: " + name);
|
||||
|
||||
// Логические значения
|
||||
bool is_active = true;
|
||||
bool is_disabled = false;
|
||||
print("Active: " + is_active);
|
||||
print("Disabled: " + is_disabled);
|
||||
|
||||
// Переменные с подчеркиваниями
|
||||
string user_name = "john_doe";
|
||||
int user_age = 30;
|
||||
bool is_admin = false;
|
||||
|
||||
print("User: " + user_name);
|
||||
print("User age: " + user_age);
|
||||
print("Is admin: " + is_admin);
|
||||
|
||||
print("Variables test completed!");
|
||||
fox();
|
||||
Reference in New Issue
Block a user