Problem z tagami

0

Jak jusz udało mi sie przydzielić dla każdego gracza odpowiedni rysunek i udało mi się napisać proedure sprawdzającą
if (g1.tag = 1) and (g2.tag = 1) and
(g3.tag = 1) or (g1.tag = 2) and
(g2.tag = 2) and (g3.tag = 2) then
Wygrana;
to wystąpił kolejny błąd uznało że gra jest wygrana wtedy gdy w kolumnie, rzędzie lub przekątnej są trzy obrazki. A wygrywa ten kto jako ostatni dołożył obrazek do trójki. CZy jakiś błąd jest w procedurze czy jest na to jakiś specjalny sposób??

0

Musisz to wszystko jeszcze umieścić w nawiasach:

if ((g1.tag = 1) and (g2.tag = 1) and
(g3.tag = 1)) or ((g1.tag = 2) and
(g2.tag = 2) and (g3.tag = 2)) then
Wygrana;

0

To nic nie dało ciągle jest ten sam problem że liczą się dowolne obrazki w jednej kolumnie itp. a nie tylko te same

0

<font color="green">if ((g1.tag = 1) and (g2.tag = 1) and
(g3.tag = 1)) or ((g1.tag = 2) and
(g2.tag = 2) and (g3.tag = 2)) then
Wygrana; </span>

hmm a na pewno dobrze napisałeś ten warunek, bo mi się nie podobają te ułożenia, w dwóch wewnętrznych masz "and" 2 razy i "or" raz, a na zewnętrznych "and" - czy to jest na pewno dobrze... rozrysuj te plansze co robisz, to będzie łatwiej się zaznajomić...

0

Jeśli g1.tag =1 i g2.tag =1 i g3.tag=1 albo g1.tag =2 i g2.tag =2 i g3.tag=2 wtedy wygrana

0

Jeśli g1.tag =1 i g2.tag =1 i g3.tag=1 albo g1.tag =2 i g2.tag =2 i g3.tag=2 wtedy wygrana

if ((g1.tag=1) and (g2.tag=1) and (g3.tag=1)) or (((g1.tag=2) and (g2.tag=2) and (g3.tag=2)) then

Zakładam, że 'albo' używasz w znaczeniu a lub b lub jedno i drugie (tzn. zwykłe lub a nie wykluczające).
Można też jeszcze bawić się tak :
Sum := g1.tag or g2.tag or g3.tag;
Il := g1.tag and g2.tag and g3.tag;
Il := Sum and Il;
if (Il = 1) or (Il = 2) then
Chyba dobrze :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1