Ваша проблема заключается в заявлении if:
if (state = 1) {
вы присваиваете состояние значению 1: state = 1
, в то время как вам нужно проверить, является ли состояние в данный момент 1: state ==1
Это довольно распространенная ошибка (особенно в языках, которые допускают присваивание в операторах if). Один из приемов, чтобы научиться обходить это, состоит в том, чтобы сделать ваши проверки сравнения следующим образом:
if (1 == state)
Вы не можете присвоить 1
другому значению. Поэтому, если вы по ошибке используете =
вместо ==
, вы получите ошибку компилятора, и это легко исправить.