refactor: move entity-related code into src/entity submodule

This commit is contained in:
2025-07-24 12:36:48 -05:00
parent 5728effcc6
commit cfa73c58a8
8 changed files with 12 additions and 12 deletions

View File

@@ -1,7 +1,7 @@
//! Debug rendering utilities for Pac-Man. //! Debug rendering utilities for Pac-Man.
use crate::{ use crate::{
constants::{MapTile, BOARD_HEIGHT, BOARD_WIDTH}, constants::{MapTile, BOARD_HEIGHT, BOARD_WIDTH},
ghosts::blinky::Blinky, entity::blinky::Blinky,
map::Map, map::Map,
}; };
use glam::{IVec2, UVec2}; use glam::{IVec2, UVec2};

View File

@@ -5,10 +5,10 @@ use sdl2::render::{Canvas, Texture};
use sdl2::video::Window; use sdl2::video::Window;
use crate::direction::Direction; use crate::direction::Direction;
use crate::entity::ghost::{Ghost, GhostMode, GhostType};
use crate::entity::pacman::Pacman;
use crate::entity::{Entity, Moving, Renderable, StaticEntity}; use crate::entity::{Entity, Moving, Renderable, StaticEntity};
use crate::ghost::{Ghost, GhostMode, GhostType};
use crate::map::Map; use crate::map::Map;
use crate::pacman::Pacman;
use glam::{IVec2, UVec2}; use glam::{IVec2, UVec2};
pub struct Blinky<'a> { pub struct Blinky<'a> {
@@ -29,7 +29,7 @@ impl<'a> Blinky<'a> {
} }
/// Gets Blinky's chase target - directly targets Pac-Man's current position /// Gets Blinky's chase target - directly targets Pac-Man's current position
fn get_chase_target(&self) -> IVec2 { pub fn get_chase_target(&self) -> IVec2 {
let pacman = self.ghost.pacman.borrow(); let pacman = self.ghost.pacman.borrow();
let cell = pacman.base().cell_position; let cell = pacman.base().cell_position;
IVec2::new(cell.x as i32, cell.y as i32) IVec2::new(cell.x as i32, cell.y as i32)

View File

@@ -5,10 +5,10 @@ use rand::SeedableRng;
use crate::animation::{AnimatedAtlasTexture, FrameDrawn}; use crate::animation::{AnimatedAtlasTexture, FrameDrawn};
use crate::constants::{MapTile, BOARD_WIDTH}; use crate::constants::{MapTile, BOARD_WIDTH};
use crate::direction::Direction; use crate::direction::Direction;
use crate::entity::pacman::Pacman;
use crate::entity::{Entity, MovableEntity, Moving, Renderable}; use crate::entity::{Entity, MovableEntity, Moving, Renderable};
use crate::map::Map; use crate::map::Map;
use crate::modulation::{SimpleTickModulator, TickModulator}; use crate::modulation::{SimpleTickModulator, TickModulator};
use crate::pacman::Pacman;
use glam::{IVec2, UVec2}; use glam::{IVec2, UVec2};
use sdl2::pixels::Color; use sdl2::pixels::Color;
use sdl2::render::Texture; use sdl2::render::Texture;

View File

@@ -1,3 +1,7 @@
pub mod blinky;
pub mod ghost;
pub mod pacman;
use crate::{ use crate::{
constants::{MapTile, BOARD_OFFSET, BOARD_WIDTH, CELL_SIZE}, constants::{MapTile, BOARD_OFFSET, BOARD_WIDTH, CELL_SIZE},
direction::Direction, direction::Direction,

View File

View File

@@ -22,10 +22,10 @@ use crate::constants::RAW_BOARD;
use crate::debug::{DebugMode, DebugRenderer}; use crate::debug::{DebugMode, DebugRenderer};
use crate::direction::Direction; use crate::direction::Direction;
use crate::edible::{reconstruct_edibles, Edible, EdibleKind}; use crate::edible::{reconstruct_edibles, Edible, EdibleKind};
use crate::entity::blinky::Blinky;
use crate::entity::pacman::Pacman;
use crate::entity::Renderable; use crate::entity::Renderable;
use crate::ghosts::blinky::Blinky;
use crate::map::Map; use crate::map::Map;
use crate::pacman::Pacman;
/// The main game state. /// The main game state.
/// ///
@@ -232,7 +232,7 @@ impl<'a> Game<'a> {
self.blinky.base.base.cell_position = *pos; self.blinky.base.base.cell_position = *pos;
self.blinky.base.in_tunnel = false; self.blinky.base.in_tunnel = false;
self.blinky.base.direction = Direction::Left; self.blinky.base.direction = Direction::Left;
self.blinky.mode = crate::ghost::GhostMode::Chase; self.blinky.mode = crate::entity::ghost::GhostMode::Chase;
} }
} }

View File

@@ -1 +0,0 @@
pub mod blinky;

View File

@@ -63,12 +63,9 @@ mod edible;
mod emscripten; mod emscripten;
mod entity; mod entity;
mod game; mod game;
mod ghost;
mod ghosts;
mod helper; mod helper;
mod map; mod map;
mod modulation; mod modulation;
mod pacman;
#[cfg(not(target_os = "emscripten"))] #[cfg(not(target_os = "emscripten"))]
fn sleep(value: Duration) { fn sleep(value: Duration) {