Hej,
zajrzałem do Kółka i Krzyżyk, kiedyś pisałem (w czym ja to pisałem ??), chyba w VBA :) działa OK, ale okienko mi się dość male skaluje, zastanawiam się czy zależy to od SO czy nie, jeżeli nie, to ja bym zwiększył ze dwa razy, co najmniej. Co do gierki, to pomyśl nad jakąś wersją z komputerem, bo samemu z sobą ciężko się gra :) I najlepiej wymyślić taki algorytm (to nie takie proste), aby czasem dało się z komputerem wygrać :) Co do kodu, to nie przyglądałem się dokładnie, ale np. funkcję:
void ustawObrazek()
{
if (wartoscPola[0] + wartoscPola[1] + wartoscPola[2] == 3)
{
pole[0].setIcon(new ImageIcon("X-.gif"));
pole[1].setIcon(new ImageIcon("X-.gif"));
pole[2].setIcon(new ImageIcon("X-.gif"));
}
else if (wartoscPola[3] + wartoscPola[4] + wartoscPola[5] == 3)
{
pole[3].setIcon(new ImageIcon("X-.gif"));
pole[4].setIcon(new ImageIcon("X-.gif"));
pole[5].setIcon(new ImageIcon("X-.gif"));
}
else if (wartoscPola[6] + wartoscPola[7] + wartoscPola[8] == 3)
{
pole[6].setIcon(new ImageIcon("X-.gif"));
pole[7].setIcon(new ImageIcon("X-.gif"));
pole[8].setIcon(new ImageIcon("X-.gif"));
}
else if (wartoscPola[0] + wartoscPola[3] + wartoscPola[6] == 3)
{
pole[0].setIcon(new ImageIcon("X!.gif"));
pole[3].setIcon(new ImageIcon("X!.gif"));
pole[6].setIcon(new ImageIcon("X!.gif"));
}
else if (wartoscPola[1] + wartoscPola[4] + wartoscPola[7] == 3)
{
pole[1].setIcon(new ImageIcon("X!.gif"));
pole[4].setIcon(new ImageIcon("X!.gif"));
pole[7].setIcon(new ImageIcon("X!.gif"));
}
else if (wartoscPola[2] + wartoscPola[5] + wartoscPola[8] == 3)
{
pole[2].setIcon(new ImageIcon("X!.gif"));
pole[5].setIcon(new ImageIcon("X!.gif"));
pole[8].setIcon(new ImageIcon("X!.gif"));
}
else if (wartoscPola[6] + wartoscPola[4] + wartoscPola[2] == 3)
{
pole[6].setIcon(new ImageIcon("X ukosna w góre.gif"));
pole[4].setIcon(new ImageIcon("X ukosna w góre.gif"));
pole[2].setIcon(new ImageIcon("X ukosna w góre.gif"));
}
else if (wartoscPola[0] + wartoscPola[4] + wartoscPola[8] == 3)
{
pole[0].setIcon(new ImageIcon("X ukosna w dół.gif"));
pole[4].setIcon(new ImageIcon("X ukosna w dół.gif"));
pole[8].setIcon(new ImageIcon("X ukosna w dół.gif"));
}
else if (wartoscPola[0] + wartoscPola[1] + wartoscPola[2] == 30)
{
pole[0].setIcon(new ImageIcon("O-.gif"));
pole[1].setIcon(new ImageIcon("O-.gif"));
pole[2].setIcon(new ImageIcon("O-.gif"));
}
else if (wartoscPola[3] + wartoscPola[4] + wartoscPola[5] == 30)
{
pole[3].setIcon(new ImageIcon("O-.gif"));
pole[4].setIcon(new ImageIcon("O-.gif"));
pole[5].setIcon(new ImageIcon("O-.gif"));
}
else if (wartoscPola[6] + wartoscPola[7] + wartoscPola[8] == 30)
{
pole[6].setIcon(new ImageIcon("O-.gif"));
pole[7].setIcon(new ImageIcon("O-.gif"));
pole[8].setIcon(new ImageIcon("O-.gif"));
}
else if (wartoscPola[0] + wartoscPola[3] + wartoscPola[6] == 30)
{
pole[0].setIcon(new ImageIcon("O!.gif"));
pole[3].setIcon(new ImageIcon("O!.gif"));
pole[6].setIcon(new ImageIcon("O!.gif"));
}
else if (wartoscPola[1] + wartoscPola[4] + wartoscPola[7] == 30)
{
pole[1].setIcon(new ImageIcon("O!.gif"));
pole[4].setIcon(new ImageIcon("O!.gif"));
pole[7].setIcon(new ImageIcon("O!.gif"));
}
else if (wartoscPola[2] + wartoscPola[5] + wartoscPola[8] == 30)
{
pole[2].setIcon(new ImageIcon("O!.gif"));
pole[5].setIcon(new ImageIcon("O!.gif"));
pole[8].setIcon(new ImageIcon("O!.gif"));
}
else if (wartoscPola[6] + wartoscPola[4] + wartoscPola[2] == 30)
{
pole[6].setIcon(new ImageIcon("O ukosna w góre.gif"));
pole[4].setIcon(new ImageIcon("O ukosna w góre.gif"));
pole[2].setIcon(new ImageIcon("O ukosna w góre.gif"));
}
else if (wartoscPola[0] + wartoscPola[4] + wartoscPola[8] == 30)
{
pole[0].setIcon(new ImageIcon("O ukosna w dół.gif"));
pole[4].setIcon(new ImageIcon("O ukosna w dół.gif"));
pole[8].setIcon(new ImageIcon("O ukosna w dół.gif"));
}
}
da się uprościć (jeżeli się gdzieś nie pomyliłem) do funkcji (szkic pseudokodu):
function ustaw_obrazek(i, j, k):
if (i==6 and j==4 and k==2) or (i==0 and j==4 and k==8):
pole[i].setIcon(new ImageIcon("O ukosna w dół.gif"));
pole[j].setIcon(new ImageIcon("O ukosna w dół.gif"));
pole[k].setIcon(new ImageIcon("O ukosna w dół.gif"));
else: if wartoscPola[i] + wartoscPola[j] + wartoscPola[k] == 3:
x == "X!.gif"
else:
x == "O!.gif"
pole[i].setIcon(new ImageIcon(x));
pole[j].setIcon(new ImageIcon(x));
pole[k].setIcon(new ImageIcon(x));
end function