# Easy question about if and function

I’m trying to make a simple tic tac toe game in processing. I don’t understand why the functions don’t follow the if() statements.
CODE:

``````int counter=0;
void setup(){
size(500,500);
background(255);
strokeWeight(15);
line(150,0,150,500);
line(350,0,350,500);
line(0,150,500,150);
line(0,350,500,350);
}
void draw(){
if(counter%2==0)
{
ellipse();
}
else{
triangle();
}
}
void keyReleased(){
counter=counter+1;
println(counter);
}
void ellipse(){
if (key=='a'){

fill(0);
ellipse(75,75,50,50);
}
if(key=='b'){

fill(0);
ellipse(250,75,50,50);
}
if(key=='c'){

fill(0);
ellipse(425,75,50,50);
}
if(key=='d'){

fill(0);
ellipse(75,250,50,50);
}
if(key=='e'){

fill(0);
ellipse(250,250,50,50);
}
if(key=='f'){

fill(0);
ellipse(425,250,50,50);
}
if(key=='g'){

fill(0);
ellipse(75,425,50,50);
}
if(key=='h'){

fill(0);
ellipse(250,425,50,50);
}
if(key=='i'){

fill(0);
ellipse(425,425,50,50);
}
}
void triangle(){
if(key=='1'){

fill(0);
triangle(35,125,115,125,75,25);
}

if(key=='2'){

fill(0);
triangle(210,125,290,125,250,25);
}
if(key=='3'){

fill(0);
triangle(385,125,465,125,425,25);
}
if(key=='4'){

fill(0);
triangle(35,300,115,300,75,200);
}
if(key=='5'){

fill(0);
triangle(210,300,290,300,250,200);
}
if(key=='6'){

fill(0);
triangle(385,300,465,300,425,200);
}
if(key=='7'){

fill(0);
triangle(35,475,115,475,75,375);
}
if(key=='8'){

fill(0);
triangle(210,475,290,475,250,375);
}
if(key=='9'){

fill(0);
triangle(385,475,465,475,425,375);
}
}
``````
2 Likes

Are you using void setup? I didn’t see it, so first put those in then it would be easier.

Hello,

https://discourse.processing.org/faq#format-your-code

`:)`

1 Like

I am not sure what you mean.

I copied your code and it runs.

Circles and triangles are shown

It works better when you reset key to 0

``````void keyReleased() {
counter=counter+1;
key=0;
println(counter);
}
``````

but still a person can cheat when he presses 2 twice. Then he can make a move when it’s not his turn.

Chrisir

1 Like

thanks everyone for the answers, now i have solved it.