GML
/*
jesli przyjmiemy stale np:
czerwona = 1
zielona = 2
niebieska = 3
puste pole = -1
to jedziemy z tablica np plansza[a,b]
*/
rozmiar = 10; // 10x10
//wypelnienie przykladowe
for (a=0; a<rozmiar; a+=1)
{
for (b=0; b<rozmiar; b+=1)
{
plansza[a,b] = ceil(random(3));
}
}
//i sprawdzanie
for (a=0; a<rozmiar; a+=1)
{
for (b=0; b<rozmiar; b+=1)
{
get_kolor = plansza[a,b];
if ( get_kolor < 0 ) continue; //jesli pole jest puste
if ( plansza[a-1,b] == get_kolor && plansza[a+1,b] == get_kolor ) //sprawdzanie pionu
{
// ustawiamy pola jako puste (mozna oczywiscie wylosowac nowe czy tez przesunac calosc
plansza[a,b] = -1;
plansza[a-1,b] = -1;
plansza[a+1,b] = -1;
}
else
if ( plansza[a,b-1] == get_kolor && plansza[a,b+1] == get_kolor ) //sprawdzanie poziomu
{
// jak poprzednio
plansza[a,b] = -1;
plansza[a,b-1] = -1;
plansza[a,b+1] = -1;
}
}
}
Chyba coś takiego.