if value == 1 or value == 4 then >>problem

Hi,

I have this problem :

local function testGameOver()     if (Character[1].flag == 1) or (Character[1].flag == 4) and (Character[2].flag == 1) or (Character[2].flag == 4) and (Character[3].flag == 1) or (Character[3].flag == 4) and (Character[4].flag == 1) or (Character[4].flag == 4) then     flagGameOver = true     print("Character[1].flag", Character[1].flag, "Character[2].flag", Character[2].flag,"Character[3].flag", Character[3].flag, "Character[4].flag", Character[4].flag)     print("flagGameOver == true")     textGameOver.text = "Game Over"     end     return flagGameOver, buttonclic, textGameOver.txt end         testGameOver()

what the print say :

Character[1].flag    4    Character[2].flag    1    Character[3].flag    3    Character[4].flag    3 flagGameOver == true

 So i dont understand why my flagGameOver == true is true while my

Character[3].flag ==  3  and  Character[4].flag  == 3

where is my error ?

finded

    if (Character[1].flag == 1 or Character[1].flag == 4) and (Character[2].flag == 1 or Character[2].flag == 4) and (Character[3].flag == 1 or Character[3].flag == 4) and (Character[4].flag == 1 or Character[4].flag == 4) then

finded

    if (Character[1].flag == 1 or Character[1].flag == 4) and (Character[2].flag == 1 or Character[2].flag == 4) and (Character[3].flag == 1 or Character[3].flag == 4) and (Character[4].flag == 1 or Character[4].flag == 4) then