summaryrefslogtreecommitdiff
path: root/src/simpleworld.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-01-27 23:01:26 +0100
committertroido <troido@protonmail.com>2020-01-27 23:01:26 +0100
commitfde8695bbca220e5af85344a7da23bea0f6513b6 (patch)
tree3d971adb4111eed756bcd2d4e30a8919f4df093d /src/simpleworld.rs
parent599d7dc27df5e5ba37ef622d520399d7ca331425 (diff)
cleanup!
Diffstat (limited to 'src/simpleworld.rs')
-rw-r--r--src/simpleworld.rs79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/simpleworld.rs b/src/simpleworld.rs
deleted file mode 100644
index 5b89339..0000000
--- a/src/simpleworld.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-
-use std::collections::HashMap;
-
-#[derive(PartialEq, Eq, Hash, Clone, Copy)]
-pub struct Pos(pub i32, pub i32);
-
-
-pub struct Room {
- objects :HashMap<Pos, Vec<GameObject>>,
- pub area :(Pos, Pos),
- players :HashMap<String, GameObject>
-}
-
-
-impl Room {
-
- pub fn new(area :(Pos, Pos)) -> Room {
- Room {
- objects: HashMap::new(),
- area: area,
- players: HashMap::new()
- }
- }
-
-
- pub fn get_sprites(&self, pos :&Pos) -> Vec<String> {
- match self.objects.get(pos) {
- Some(objs) => {objs.iter().map(|o| o.sprite.clone()).collect()}
- None => {Vec::new()}
- }
- }
-
- pub fn add_obj(&mut self, pos :Pos, obj :GameObject) {
- let place = self.objects.entry(pos).or_insert(Vec::new());
- place.push(obj);
- }
-
-// let mut sprites :Vec<String> = Vec::new();
-// for maybe_obj in self.objects.get((x, y))
-// sprites.push
-
-
- pub fn draw(&self) -> (Vec<usize>, Vec<Vec<String>>) {
- let (minp, maxp) = &self.area;
- let Pos(xmin, ymin) = *minp;
- let Pos(xmax, ymax) = *maxp;
- let width = xmax - xmin;
- let height = ymax - ymin;
- let size = width * height;
- let mut values :Vec<usize> = Vec::with_capacity(size as usize);
- let mut mapping = Vec::with_capacity(size as usize);
- for y in ymin..ymax {
- for x in xmin..xmax {
- values.push(mapping.len());
- mapping.push(self.get_sprites(&Pos(x, y)));
- }
- }
- return (values, mapping)
- }
-}
-
-
-#[derive(Clone)]
-pub struct GameObject {
-// pos :Pos,
-// name :&str,
- sprite :String
-}
-
-impl GameObject {
-
- pub fn new(sprite :&str) -> GameObject {
- GameObject {
-// pos: pos,
- sprite: sprite.to_string()
- }
- }
-
-}