public static void Main() {
int[,] map = Cartogropher();
Movement(map, 8, 5, 6, 0);
static void FillHelper(Array tiles) {
static int[,] Cartogropher() {
int[,] map = new int[12,12];
for(int i = 0; i < map.GetLength(0); i++) {
for(int x = 0; x < map.GetLength(1); x++) {
for(int r = 0; r <= map.GetUpperBound(1); r++) {
for(int i = 0; i < map.GetLength(1); i++) {
Console.Write("{0}", map[r, i]);
static void DrawMap(int[,] map) {
for(int r = 0; r <= map.GetUpperBound(1); r++) {
for(int i = 0; i < map.GetLength(1); i++) {
Console.Write("{0}", map[r, i]);
static void Movement(int[,] map, int StartX, int StartY, int Speed, int RecCounter) {
Console.WriteLine("Lap: {0}", RecCounter);
try{ Console.WriteLine("{0}", map[StartX -1, StartY]);
if(map[StartX -1, StartY] == 0) {
Movement(map, StartX -1, StartY, s -1, RecCounter +1);
map[StartX -1, StartY] = 7;
} catch{ Console.WriteLine("Out of Bounds"); }
try{ Console.WriteLine("{0}", map[StartX +1, StartY]);
if(map[StartX +1, StartY] == 0) {
Movement(map, StartX +1, StartY, s -1, RecCounter +1);
map[StartX +1, StartY] = 7;
} catch{ Console.WriteLine("Out of Bounds"); }
try{ Console.WriteLine("{0}", map[StartX, StartY -1]);
if(map[StartX, StartY -1] == 0) {
Movement(map, StartX, StartY -1, s -1, RecCounter +1);
map[StartX, StartY -1] = 7;
} catch{ Console.WriteLine("Out of Bounds"); }
try{ Console.WriteLine("{0}", map[StartX, StartY +1]);
if(map[StartX, StartY +1] == 0) {
Movement(map, StartX, StartY +1, s-1, RecCounter +1);
map[StartX, StartY +1] = 7;
} catch{ Console.WriteLine("Out of Bounds"); }
Console.WriteLine("fin");