Kiedyś robiłem podobny projekt z tym, że pól nie było dziesięć w rzędzie, tylko 8. Stanowiło to problem przy obliczeniach, dlatego wtedy tworzyłem sobie model "abstrakcyjny" do obliczeń, natomiast samo wyświetlanie realizował inny skrypt. Pola gry przedstawiała tablica dwuwymiarowa pole[5][6] oznaczało 5 wiersz 6 kolumnę. W przy takim oznaczeniu dość prosto sprawdzać co sąsiaduje z obiektem. W Twoim przypadku zrobiłbym coś w tym stylu:
Kod
if (pole[x-1][y]==statek||pole[x+1][y]==statek)//statek leży pionowo
else if (pole[x][y-1]==statek||pole[x][y+1]==statek) //statek leży pionowo
Oczywiście jest to uproszczenie, dla sprawdzenia, czy statek "jest kwadratem" musisz sprawdzić 8 sąsiadujących pól. Co do sprawy, iż masz 100 divów, obliczenie odbywa się na podobnej zasadzie
Kod
if (id-1==statek||id+1==statek) else if (id-10==statek||id+10==statek)
Aczkolwiek wygodniej jest pracować na tablicy. Oczywiście zmienna statek może oznaczać 1, pudło 2, pole bez interakcji 0. itp.