From e6f4e5ee2940ebed958843ee83aa86427e72e7d7 Mon Sep 17 00:00:00 2001
From: Anton Vakhrushev <a.vakhrushev@elama.ru>
Date: Thu, 10 Oct 2019 16:58:35 +0300
Subject: [PATCH] Random map generation

---
 ROADMAP.md       | 2 +-
 src/expansion.cr | 4 ++--
 src/game/map.cr  | 9 ++++++---
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ROADMAP.md b/ROADMAP.md
index 3073753..56e9541 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -33,7 +33,7 @@
 
 ### Карта
 
--	[ ] Генерация карты
+-	[x] Генерация карты
 -	[x] Скалы
 -	[ ] Вода
 -	[ ] Расчет пути с учетом препятствий
diff --git a/src/expansion.cr b/src/expansion.cr
index 1743b33..b8e4cd4 100644
--- a/src/expansion.cr
+++ b/src/expansion.cr
@@ -2,7 +2,7 @@ require "colorize"
 require "./game/**"
 require "./cli/**"
 
-map = Game::Generator.make 5, 10
+map = Game::Generator.make 5, 5
 ts = Time.local.to_unix
 world = Game::World.new map, ts
 
@@ -69,7 +69,7 @@ def render_map(world)
     printf "|"
     (0...cols).each do |y|
       tile = world.map.get(x, y)
-      if tile.letter == 'f'
+      if tile.letter == 'v'
         printf "%6d|", world.map.get(x, y).cur
       else
         printf "      |", world.map.get(x, y).cur
diff --git a/src/game/map.cr b/src/game/map.cr
index 9f2ea04..cc5c292 100644
--- a/src/game/map.cr
+++ b/src/game/map.cr
@@ -78,11 +78,14 @@ module Game
 
   class Generator
     def self.make(rows, cols) : Map
+      rnd = Random.new
       map = Map.new(rows, cols)
+      5.times do
+        pnt = Point.new(rnd.rand(0...rows), rnd.rand(0...cols))
+        cap = rnd.rand(2...6)
+        map.set(CrystalTile.new(pnt, cap * 50))
+      end
       map.set(MainBaseTile.new(Point.new(0, 0)))
-      map.set(CrystalTile.new(Point.new(1, 2), 100))
-      map.set(CrystalTile.new(Point.new(4, 2), 200))
-      map.set(CrystalTile.new(Point.new(3, 3), 100))
       map
     end
   end