Module fruits_manager

Source
Expand description

§Fruits Manager

This module defines the fruits_manager struct, which is responsible for handling fruit objects within a game. It includes methods for spawning, replacing, and interacting with fruits.

§Example

use rsnaker::game_logic::fruits_manager::FruitsManager;
use rsnaker::graphics::sprites::map::Map;
use std::sync::{Arc, RwLock};
use ratatui::layout::Rect;
use rsnaker::graphics::graphic_block::Position;

let case_size = 2;
let map_size = Rect::new(0, 0, 200, 10);
let map = Arc::new(RwLock::new(Map::new(case_size, map_size)));
let number_of_fruits_to_manage = 10;
let mut manager = FruitsManager::new(number_of_fruits_to_manage, map.clone());

// Simulate eating fruits
let position = Position { x: 10, y: 20 };
if let Some(eaten) = manager.eat_some_fruits(&position) {
    manager.replace_fruits(&eaten);
}

Structs§

FruitsManager
Manages fruit objects within the game logic. Map outlive fruits, so ’b lifetime >= ’a (fruits) lifetime