private void gameTimer_Tick(object sender, EventArgs e)
        {
            // Doe een seconden van de game tijd aftrekken en update de resterende tijd op het scherm.
            this.secondsLeftInGame--;
            this.DisplayGameTimeLeftOnScreen();

            if (secondsLeftInGame <= 0)
            {
                // Wanneer de tijd is afgelopen kan de verstopper zich niet meer verder bewegen en wordt de timer gestopt.
                // Verder wordt ook bij de resterende tijd afgelopen weergegeven.
                this.canHide = false;

                gameTimer.Stop();

                gameTimeLeftLabel.Text = "Afgelopen";

                if (this.currentSwitch != null)
                {
                    Domoticz.SendLogMessageToDomoticz("[HIDING] Ended, Current room: " + this.currentSwitch.idx);
                }
                else
                {
                    Domoticz.SendLogMessageToDomoticz("[HIDING] Ended, Current room: none");
                }
            }
        }
Exemplo n.º 2
0
        private void StopGame()
        {
            this.EnablePictureBoxStatus(false);

            this.gameOver = true;

            gameTimer.Stop();

            if (this.foundHider)
            {
                MessageBox.Show("Je hebt gewonnen!");

                Domoticz.SendLogMessageToDomoticz("[SEEKER] Won Lives" + this.seekerLives);
            }
            else
            {
                MessageBox.Show("Je hebt verloren!");

                Domoticz.SendLogMessageToDomoticz("[SEEKER] Lost Lives:" + this.seekerLives);
            }
        }
        private void GoToRoom(Switch @switch)
        {
            // Check of de verstopper zich nog kan verstoppen, zo niet wordt er een bericht gestuurd en wordt de code verder niet uitgevoerd.
            if (!this.canHide)
            {
                MessageBox.Show("Je kan je niet meer verder verstoppen! De tijd is namelijk afgelopen.", "Stop met verstoppen!");
                return;
            }

            // Huidige switch uitzetten
            if (this.currentSwitch != null)
            {
                Domoticz.UseSwitch(this.currentSwitch, SwitchActionEnum.Off);
            }

            // Nieuwe switch aanzetten
            Domoticz.UseSwitch(@switch, SwitchActionEnum.On);

            Domoticz.SendLogMessageToDomoticz("[HIDING] To: " + @switch.idx);

            this.currentSwitch = @switch;
        }
        public HideGameMenu(int playingTimeInSeconds)
        {
            InitializeComponent();

            // Haal alle sensoren op via de Domoticz API.
            this.switches = Domoticz.GetSwitches();

            // Doe alle switches uitzetten zodat deze niet al aanstaan voordat het spel begint.
            this.TurnOffAllSwitches();

            // Stuur een bericht naar Domoticz dat het verstoppen begint, zo kan dit in de zoekapplicatie gekeken worden wanneer het spel begonnen is.
            Domoticz.SendLogMessageToDomoticz("[HIDING] Started: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + ", Game length: " + playingTimeInSeconds + " seconds");

            // Zet het aantal seconden van het spel naar de gespecificeerde tijd.
            this.secondsLeftInGame = playingTimeInSeconds;

            // De tijd wordt gestart
            this.StartGameTimer();

            // Verder wordt ook aangezet dat de verstopper zich kan gaan verstoppen.
            this.canHide = true;
        }