using Godot;
using System;
public class Game_Level : Node2D
{
[Export]
int gridSize = 8;
RandomNumberGenerator randomNum = new RandomNumberGenerator();
int[,] grid = new int[8, 8];
int lineCount = 0;
public override void _Ready()
{
CallDeferred("generateInitialPath");
CallDeferred("generateGrid");
}
int randNumGen(int range)
{
int num;
do
{
randomNum.Randomize();
num = randomNum.Randi() % range;
}
while(num < 0);
return num;
}
void generateInitialPath()
{
randomNum.Randomize();
int x, y, xl, yl;
int x1 = randNumGen(gridSize);
int y1 = randNumGen(gridSize);
int x2;
int y2;
do
{
x2 = randNumGen(gridSize);
}
while(x2 == x1);
do
{
y2 = randNumGen(gridSize);
}
while(y2 == y1);
grid[x1, y1] = 1;
grid[x2, y2] = 1;
int decideConnection = randNumGen(2);
if(decideConnection == 0)
{
int temp;
temp = x1;
x1 = x2;
x2 = temp;
temp = y1;
y1 = y2;
y2 = temp;
}
if(x1 < x2)
{
x = x1;
xl = x2;
}
else
{
x = x2;
xl = x1;
}
if(y1 < y2)
{
y = y1;
yl = y2;
}
else
{
y = y2;
yl = y1;
}
for(int i = x; i <= xl; i++)
{
grid[i, y1] = 1;
}
for(int i = y; i < yl; y++)
{
grid[x2, i] = 1;
}
}
void generateGrid()
{
for(int i = 0; i < 8; i++)
{
GD.Print("[" + grid[i, 0] + "] " + "[" + grid[i, 1] + "] " + "[" + grid[i, 2] + "] " + "[" + grid[i, 3] + "] " +
"[" + grid[i, 4] + "] " + "[" + grid[i, 5] + "] " + "[" + grid[i, 6] + "] " + "[" + grid[i, 7] + "]");
}
}
}