コード例 #1
0
ファイル: Form1.cs プロジェクト: Jake-R17/FlappyBird
        private void KeyIsDown(object sender, KeyEventArgs e)
        {
            // Make flappy go up; key is pressed
            if (e.KeyCode == Keys.Space)
            {
                if (DefaultTimer.Enabled == false && Score.Visible == true && ResumeBtn.Visible == false)
                {
                    DefaultTimer.Start();
                }
                gravity = -5;
            }

            // Pause menu
            if (e.KeyCode == Keys.Escape && DefaultTimer.Enabled == true)
            {
                DefaultTimer.Stop();

                ResumeBtn.Visible = true;
                ResumeBtn.Enabled = true;

                Paused.Visible = true;
            }

            // Prevent windows sounds when clicking buttons
            e.SuppressKeyPress = true;
        }
コード例 #2
0
        public void start_and_callback()
        {
            var reset = new ManualResetEvent(false);

            var timer = new DefaultTimer();

            int i = 0;

            timer.Start(() => {
                i++;
                reset.Set();
                timer.Stop();
            }, 500);

            reset.WaitOne(1000);

            i.ShouldBe(1);

            // Should only fire once because timer.Stop was called
            reset.Reset();
            reset.WaitOne(1000);

            i.ShouldBe(1);

            timer.Dispose();
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: Jake-R17/FlappyBird
        private void EndGame()
        {
            DefaultTimer.Stop();

            // Add the score to the total score
            endCount += scoreCount;

            // Default display upon death
            Score.Visible = false;

            RetryBtn.Visible = true;
            RetryBtn.Enabled = true;
            RetryBtn.Text    = "Retry";

            // Logic behind the highscores and lives upon death
            if (lives > 0)
            {
                GameOver.Visible = true;
                GameOver.Text    = $"{lives} lives left!";

                if (lives == 2)
                {
                    GameOver.ForeColor = Color.Green;
                }
                if (lives == 1)
                {
                    GameOver.ForeColor = Color.Orange;
                }
            }
            else
            {
                using SqliteContext lite = new SqliteContext();
                var lowestScore = lite.Highscores.OrderByDescending(x => x.Score).Select(z => z.Score).LastOrDefault();

                if (endCount > lowestScore || lowestScore.ToString() == null || lite.Highscores.Count() <= 10)
                {
                    NewHighscore.Visible  = true;
                    HighscoreName.Visible = true;
                    RetryBtn.Visible      = true;
                    RetryBtn.Enabled      = true;
                    RetryBtn.Text         = "Submit";
                }
                else
                {
                    RetryBtn.Text = "Menu";

                    GameOver.Visible   = true;
                    GameOver.Text      = "GAME OVER!";
                    GameOver.ForeColor = Color.Red;
                }

                EndScore.Visible = true;
                EndScore.Text    = "Total Score: " + endCount;
            }
        }
コード例 #4
0
        public void polls()
        {
            var reset = new ManualResetEvent(false);

            var timer = new DefaultTimer();

            int i = 0;

            timer.Start(() =>
            {
                i++;
                if (i == 5)
                {
                    reset.Set();
                    timer.Stop();
                }
            }, 100);

            reset.WaitOne();

            i.ShouldBe(5);

            timer.Dispose();
        }