# Procedural Arrays

• Hi, I'm confused about creating a simple but procedural 2d map.

First of all I think I should use neighbor technique such as;

if (0,0) = 1 then (1,0) is more likely equals to 1

or maybe more advanced but I don't know if it's efficent we can use;

Array Map:

2 3 1

1 X 3

1 2 1

Sum = sum of neighbor tiles values. In this example its 1(there are four pieces 1, two pieces 2 and two pieces 3)

X value is more likely to neighbor sum value.

To understand basics. First I randomly created an 2d array with random(3) to their values.

Then with a button click, I wanted to activate my procedur but it works differently. I looked

for each xy element,

if current array's value is different with array.front value then

randomize50(2)

if randomize50 = 1 then set current value as array.fronts value

if randomize50 = 0 then it's still at same value.

But it seems it chooses a value, and equals all arrays to that value as I click to button.

-------------------------------

I don't know how can I reach to all neighbors ? Maybe with array.at(cur.x-1,cury) and so on.

Maybe you already recognised, when I click to button, it doesn't create tiles at final x and y lines. How Can I prevent it to count if there is no array (-1,0) or (0,-1) or (array.width+1) I think reason of that problem is about that.

-------------------------------

Finally if I can resolve these problems, I may probably solve this but anyway I want to ask, how can I prevent array to create same value in range of X. For example if there is value 3 at (5,5) then if there are more value 3 at range of 2 (6,6)(7,7)(6,7)(7,6) and so on, then randomize that array till there aren't any 2 value at range.

Here is my cap file.

• ## Try Construct 3

Develop games in your browser. Powerful, performant & highly capable.

Construct 3 users don't see these ads
• 1 posts