Top.Mail.Ru
Ответы

У кого есть внп дай 100₽ за него

У кого есть впн ключ дайте пж деньгу закину

По дате
По рейтингу
Аватар пользователя
cabbage_0248Профи
8мес

Че за впн ключ, я кста я впн пользуюсь и ютуб смотрю

Аватар пользователя
al_al_3069Ученик
8мес

ключ для Hiddify например

Аватар пользователя
user_317426864Ученик
8мес

// Структура, представляющая нашего робота

// Она хранит текущие координаты X и Y робота.

struct Robot {

x: i32,

y: i32,

// Можно добавить и другие свойства, например, направление,

// но для этой задачи команды абсолютны (move_left, move_up)

// и не зависят от текущего направления робота.

}

// Реализация методов для структуры Robot

impl Robot {

// Конструктор для создания нового робота с начальными координатами

fn new(start_x: i32, start_y: i32) -> Self {

Robot { x: start_x, y: start_y }

}

// Метод для перемещения робота влево

fn move_left(&mut self) {

self.x -= 1; // Уменьшаем координату X

println!("Робот двинулся влево. Текущая позиция: ({}, {})", self.x, self.y);

}

// Метод для перемещения робота вправо

fn move_right(&mut self) {

self.x += 1; // Увеличиваем координату X

println!("Робот двинулся вправо. Текущая позиция: ({}, {})", self.x, self.y);

}

// Метод для перемещения робота вверх

fn move_up(&mut self) {

self.y += 1; // Увеличиваем координату Y

println!("Робот двинулся вверх. Текущая позиция: ({}, {})", self.x, self.y);

}

// Метод для перемещения робота вниз

fn move_down(&mut self) {

self.y -= 1; // Уменьшаем координату Y

println!("Робот двинулся вниз. Текущая позиция: ({}, {})", self.x, self.y);

}

// Метод для проверки, находится ли робот на целевой клетке

fn at_target(&self, target_x: i32, target_y: i32) -> bool {

self.x == target_x && self.y == target_y

}

}

// Главная функция программы

fn main() {

// Определяем начальные и целевые координаты

let start_x = 3;

let start_y = 0;

let target_x = 0;

let target_y = 3;

// Создаем экземпляр робота

// mut ключевое слово означает, что robot может быть изменен

let mut robot = Robot::new(start_x, start_y);

println!("Робот начинает на позиции: ({}, {})", robot.x, robot.y);

println!("Целевая позиция: ({}, {})", target_x, target_y);

println!("--- Начинаем выполнение программы ---");

// Последовательность команд, как на скриншоте (и немного скорректировано для цели)

// 1. move_left (с 3,0 на 2,0)

robot.move_left();

// 2. move_up (с 2,0 на 2,1)

robot.move_up();

// 3. move_up (с 2,1 на 2,2) - добавляем еще один, чтобы пройти коридор вверх

robot.move_up();

// 4. move_left (с 2,2 на 1,2)

robot.move_left();

// 5. move_left (с 1,2 на 0,2) - добавляем еще один, чтобы пройти до конца коридора влево

robot.move_left();

// 6. move_up (с 0,2 на 0,3) - последний шаг к цели

robot.move_up();

println!("--- Выполнение программы завершено ---");

println!("Конечная позиция робота: ({}, {})", robot.x, robot.y);

// Проверяем, достиг ли робот цели

if robot.at_target(target_x, target_y) {

println!("Успех! Робот достиг целевой клетки.");

} else {

println!("Робот не достиг целевой клетки. Что-то пошло не так.");

}

}

Аватар пользователя
irate_1981Тролль
1нед
video preview

Аватар пользователя
irate_1981Тролль
2нед
video preview



Видео по теме