Sonlu durum makinesi kullanmak daha mantıklı olabilir diye düşünüyorum. Wikipedia'daki bu diyagram çok güzel açıklıyor:
Eki Görüntüle 1800775
Örneğin, "Locked" durumundaki "Push" durumu 3 hakkı azaltmak üzere programlanabilir. Coin durumu başarılı girişi, "Unlocked" durumu altındaki "push" durumu ise başarılı çıkışı belirtebilir, veya isteğe bağlı olarak komple silinebilir gibi gibi. Bir fikir sadece.