Proszę o pomoc ponieważ nie wiem jak napisać cześć programu w której plansza będzie skanowana w poszukiwaniu 5 takich samych znaków (w poziomie, pionie i po przekątnych).
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <conio.h>
/* Funkcja czyszcąca planszę */
void wyczysc(char plansza[15][15])
{
int i, j;
for (i = 0; i<15; i++)
for (j = 0; j<15; j++)
plansza[i][j] = ' ';
}
/* Funkcja rysująca planszę na ekranie */
void wypisz(char plansza[15][15])
{
system("cls");
for (int i = 0; i<15; i++){
for (int j = 0; j<15; j++)
{
printf("[%c]", plansza[i][j]);
}
printf("\n");
}
}
/* Ruch gracza 1 (o) */
void ruch_gracza1(char plansza[15][15])
{
unsigned int i = 15, j;
wypisz(plansza);
printf("\nPodaj wiersz i kolumne w ktorej chcesz wstawic krzyzyk\n");
while ((i>14) || (j>14) || (plansza[i][j] != ' '))
scanf_s("%u %u", &i, &j);
plansza[i][j] = 'x';
}
/* Ruch gracza 2 (x) */
void ruch_gracza2(char plansza[15][15])
{
unsigned int i = 15, j;
wypisz(plansza);
printf("\nPodaj wiersz i kolumne w ktorej chcesz wstawic kolko\n");
while ((i>14) || (j>14) || (plansza[i][j] != ' '))
scanf_s("%u %u", &i, &j);
plansza[i][j] = 'o';
}
/* Funkcja sprawdzająca tablicę */
char sprawdz(char plansza[15][15])
{
int i, j, c, k;
//sprawdz poziomie
for (i = 1; i < 15; i++);
{
c = 1;
for (j = 1; j < 15; j++);
{
if (plansza[i][j - 1] == plansza[i][j])
c++;
else c = 1;
if ((c == 5) && plansza[i][j])
{
if ((j < 14) && (plansza[i][j] == plansza[i][j + 1]))
return 0;
sprawdz(plansza) == 'x';
return 1;
}
}
}
return 0;
}
/* Główny kod programu (pentla) */
int main()
{
int ruch = 1;
char wynik = 0;
char plansza[15][15];
printf("***********************************************************************\n");
printf("=============================== Gomoku ================================\n");
wyczysc(plansza);
while (wynik == 0)
{
if (ruch == 0)
ruch_gracza1(plansza);
else
ruch_gracza2(plansza);
ruch = 1 - ruch;
wynik = sprawdz(plansza);
}
wypisz(plansza);
if (wynik == 'x')
printf("gracz\n");
}