minor fixes - grammar and rng
This commit is contained in:
parent
d41ef0f8dc
commit
7eb0e0ad64
3 changed files with 13 additions and 8 deletions
|
|
@ -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)
|
||||
|
|
|
|||
15
src/main.rs
15
src/main.rs
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue