minor fixes - grammar and rng

This commit is contained in:
Llywelwyn 2023-07-10 11:13:54 +01:00
parent d41ef0f8dc
commit 7eb0e0ad64
3 changed files with 13 additions and 8 deletions

View file

@ -49,7 +49,7 @@ pub fn delete_the_dead(ecs: &mut World) {
if let Some(_item) = item {
log.entries.push(format!("{} was destroyed!", &victim_name.name));
} else {
log.entries.push(format!("{} died!", &victim_name.name));
log.entries.push(format!("The {} died!", &victim_name.name));
}
}
dead.push(entity)

View file

@ -1,4 +1,4 @@
use rltk::{GameState, Point, Rltk, RGB};
use rltk::{GameState, Point, RandomNumberGenerator, Rltk, RGB};
use specs::prelude::*;
use specs::saveload::{SimpleMarker, SimpleMarkerAllocator};
use std::ops::Add;
@ -125,7 +125,8 @@ impl State {
{
let mut worldmap_resource = self.ecs.write_resource::<Map>();
current_depth = worldmap_resource.depth;
*worldmap_resource = Map::new_map_rooms_and_corridors(current_depth + 1);
let mut rng = self.ecs.write_resource::<RandomNumberGenerator>();
*worldmap_resource = Map::new_map_rooms_and_corridors(&mut rng, current_depth + 1);
worldmap = worldmap_resource.clone();
}
@ -378,6 +379,7 @@ fn main() -> rltk::BError {
.build()?;
context.with_post_scanlines(false);
//context.screen_burn_color(RGB::named((150, 255, 255)));
let mut gs = State { ecs: World::new() };
gs.ecs.register::<Position>();
@ -409,12 +411,17 @@ fn main() -> rltk::BError {
gs.ecs.register::<SerializationHelper>();
gs.ecs.insert(SimpleMarkerAllocator::<SerializeMe>::new());
let map = Map::new_map_rooms_and_corridors(1);
// Create RNG.
let mut rng = rltk::RandomNumberGenerator::new();
// Use seed to generate the map.
let map = Map::new_map_rooms_and_corridors(&mut rng, 1);
// Insert seed into the ECS.
gs.ecs.insert(rng);
let (player_x, player_y) = map.rooms[0].centre();
let player_name = "wanderer".to_string();
let player_entity = spawner::player(&mut gs.ecs, player_x, player_y, player_name);
gs.ecs.insert(rltk::RandomNumberGenerator::new());
for room in map.rooms.iter().skip(1) {
spawner::spawn_room(&mut gs.ecs, room, 1);
}

View file

@ -92,7 +92,7 @@ impl Map {
}
/// Makes a procgen map out of rooms and corridors, and returns the rooms and the map.
pub fn new_map_rooms_and_corridors(new_depth: i32) -> Map {
pub fn new_map_rooms_and_corridors(rng: &mut RandomNumberGenerator, new_depth: i32) -> Map {
let mut map = Map {
tiles: vec![TileType::Wall; MAPCOUNT],
rooms: Vec::new(),
@ -113,8 +113,6 @@ impl Map {
const MIN_SIZE: i32 = 6;
const MAX_SIZE: i32 = 10;
let mut rng = RandomNumberGenerator::new();
for idx in 0..map.red_offset.len() {
let roll = rng.roll_dice(1, MAX_OFFSET as i32);
map.red_offset[idx] = roll as u8;