Код генерации лабиринта на языке Си генерирующий странные символы
Итак, я делаю проект в uni с C, и он генерирует лабиринт, но средние символы странные (случайные символы ascii), и я не знаю, откуда они берутся и как они генерируются. Я хотел заполнить все символом ascii, описанным в k, но внутренние стены не определяются этим. Кроме того, как я могу гарантировать, что есть вход и выход из моего лабиринта?
Что я уже пробовал:
#include <stdio.h> #include <time.h> #include <stdlib.h> #define N 20 void gerador_labirinto(char a[N][N]); int main(void) { char maze[N][N]; srand((unsigned int)time(NULL)); gerador_labirinto(maze); return 0; } void gerador_labirinto(char a[N][N]) { size_t linha,coluna = 0, r, k=(char)254; for ( linha = 0; linha < N; ++linha ) { a[linha][coluna] = k; } for ( linha = 0; linha < N; ++linha ) { a[linha][N - 1] = k; } linha = rand() % 20 + 1; a[linha][0] = k; linha = rand() % 20 + 1; a[linha][N - 1] = k; for (coluna = 1; coluna < N - 1; ++coluna) { a[0][coluna] = k; } for (coluna = 1; coluna < N - 1; ++coluna) { a[N - 1][coluna] = k; } puts(""); for (linha = 0; linha < N; ++linha) { for (coluna = 0; coluna < N; ++coluna) { printf_s("%2c",a[linha][coluna]); } puts(""); } puts(""); }