         case GAME_END_OUT:
             goalline();
             break;
-
+        case GAME_OFFSIDE:
+            offside();
+            break;
         default:
         // выполняется, если не выбрана ни одна альтернатива
         // default необязателен

                        {
                            digitalWrite(l4r, HIGH);
                        }
                        break;
                default:
            }
        }
        digitalWrite(field[x][y], HIGH); // проверка наличия светодиода в новой координате
    }
    digitalWrite(field[xPrev][yPrev], LOW);
    if (y == 0 || y == 4)

                {
                    newxy(10, 1, GREENS);
                }
        }
}

void offside()
{
    currentMillis = millis();
    log("Side out at " + String(currentMillis) + " after " + String(previousMillis));
    previousMillis = currentMillis;
    reset_buttons_flagClick();
    ballkick = false;
    game = GAME_PERFORMED;
    if (vector == GREENS)
    {
        newxy(6, 2, REDS);
    }
    else
        if (vector == REDS)
        {
            newxy(5, 2, GREENS);
        }
}

