Description:
Adjust generation for map sizes.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r533:bdcc8f831593 -

@@ -13,6 +13,9
13 13
14 14 public int ZoneWidth = 10;
15 15 public int ZoneHeight = 10;
16
17
18 public int MapMultiplier; //Adjusts for larger maps.
16 19
17 20 public int tree_count
18 21 {
@@ -56,6 +59,9
56 59
57 60 this.cells = new List<List<Cell>>();
58 61
62 this.MapMultiplier = (int)(((this.MapWidth / 50) + (this.MapHeight / 50)) / 2);
63
64
59 65 for (int i = 0; i < height; i++)
60 66 {
61 67 List<Cell> newRow = new List<Cell>();
@@ -32,6 +32,8
32 32 private int MapWidth;
33 33 private int MapHeight;
34 34
35 private int MapMultiplier; //Adjustment factor for larger maps
36
35 37 private Simulation simulation;
36 38 private Grammar grammar;
37 39
@@ -45,7 +47,8
45 47
46 48 this.simulation = simulation;
47 49 this.grammar = grammar;
48 }
50
51 this.MapMultiplier = this.simulation.map.MapMultiplier; }
49 52 private Vector2 FindStart(HashSet<Vector2> occupied_squares)
50 53 {
51 54
@@ -53,7 +56,7
53 56
54 57 for (int i = 0; i < 5; i++)
55 58 {
56 new_square = new Vector2(random_generator.Next(0, 50), random_generator.Next(0, 50));
59 new_square = new Vector2(random_generator.Next(0, this.MapHeight), random_generator.Next(0, this.MapWidth));
57 60
58 61 if (!occupied_squares.Contains(new_square))
59 62 {
@@ -70,7 +73,7
70 73 var squares_to_add = new HashSet<Vector2>();
71 74
72 75 var attempts = 0;
73 var maxAttempts = max_size * 10;
76 var maxAttempts = max_size * this.MapMultiplier * 10;
74 77
75 78 while (squares.Count < max_size)
76 79 {
@@ -148,10 +151,10
148 151
149 152
150 153 int max_squares = (organization_type, message.min_squares) switch {
151 (OrganizationType.Family, null) => random_generator.Next(50, 100),
152 (OrganizationType.LargeCorporation, null) => random_generator.Next(90, 250),
153 (OrganizationType.Cooperative, null) => random_generator.Next(50, 75),
154 (_, null) => random_generator.Next(DEFAULT_MIN_SQUARES, DEFAULT_SQUARES),
154 (OrganizationType.Family, null) => random_generator.Next(50, 100 * this.MapMultiplier),
155 (OrganizationType.LargeCorporation, null) => random_generator.Next(90, 250 * this.MapMultiplier),
156 (OrganizationType.Cooperative, null) => random_generator.Next(50, 75 * this.MapMultiplier),
157 (_, null) => random_generator.Next(DEFAULT_MIN_SQUARES, DEFAULT_SQUARES * this.MapMultiplier),
155 158 _ => (message.max_squares == 0) ? DEFAULT_SQUARES : message.max_squares
156 159 };
157 160
@@ -39,6 +39,7
39 39 public int trees;
40 40 public int dead_trees;
41 41 public int crowded_trees;
42 //Kind of a hack but allos for tracking figures over time without creating a whole new infrastructure
42 43
43 44 }
44 45
@@ -236,9 +237,6
236 237 }
237 238 }
238 239
239 //Historical counts
240 // public List<int> tree_count
241
242 240 public Simulation(int width, int height, float[] millisecondsPerAdvance)
243 241 {
244 242 this.random = new Random();
You need to be logged in to leave comments. Login now