Exemple #1
0
        private void MenuScreen_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Down)
            {
                if (playIndex == 3)
                {
                    playIndex = 0;
                }
                else
                {
                    playIndex++;
                }
            }
            else if (e.KeyCode == Keys.Up)
            {
                if (playIndex == 0)
                {
                    playIndex = 3;
                }
                else
                {
                    playIndex--;
                }
            }
            else if (e.KeyCode == Keys.Space)
            {
                Form f = this.FindForm();
                f.Controls.Remove(this);

                switch (playIndex)
                {
                case 0:
                    StartScreen ss = new StartScreen();
                    f.Controls.Add(ss);
                    f.Height -= 10;
                    break;

                case 1:
                    MinigameScreen ms = new MinigameScreen();
                    f.Height += 50;
                    f.Controls.Add(ms);
                    break;

                case 2:
                    HighScoreScreen hs = new HighScoreScreen();
                    f.Controls.Add(hs);
                    break;

                case 3:
                    IntroScreen ns = new IntroScreen();
                    f.Controls.Add(ns);
                    break;
                }
            }
            Refresh();
        }
        private void NameScreen_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Space)
            {
                if (currentStringIndex == 44)//enter name position
                {
                    if (Form1.top5Name && name != "")
                    {
                        int gameSeconds = (11 - MinigameScreen.minTime) * 60 + MinigameScreen.secTime;

                        for (int i = 0; i < Form1.top5Players.Count; i++)
                        {
                            if (MinigameScreen.progress > Form1.top5Players[i].score ||
                                MinigameScreen.progress == Form1.top5Players[i].score &&
                                gameSeconds < Form1.top5Players[i].min * 60 + Form1.top5Players[i].sec)
                            {
                                for (int x = Form1.top5Players.Count - (i + 1); x > 0; x--)
                                {
                                    Form1.top5Players[i + x] = Form1.top5Players[i + x - 1];
                                }

                                if (MinigameScreen.secTime == 0)
                                {
                                    Form1.top5Players[i] = new MiniGamePlayer(Convert.ToInt32(MinigameScreen.progress), 11 - MinigameScreen.minTime,
                                                                              0, name);
                                }
                                else if (11 - MinigameScreen.minTime < 0)
                                {
                                    Form1.top5Players[i] = new MiniGamePlayer(Convert.ToInt32(MinigameScreen.progress), 12, 0, name);
                                }
                                else
                                {
                                    Form1.top5Players[i] = new MiniGamePlayer(Convert.ToInt32(MinigameScreen.progress), 11 - MinigameScreen.minTime,
                                                                              60 - MinigameScreen.secTime, name);
                                }
                                break;
                            }
                        }
                        XmlTextWriter writer = new XmlTextWriter("Resources/HighScores.xml", null);

                        //Write the root element
                        writer.WriteStartElement("players");

                        foreach (MiniGamePlayer p in Form1.top5Players)
                        {
                            //Start an element
                            writer.WriteStartElement("player");

                            //Write sub-elements
                            writer.WriteElementString("name", p.name);
                            writer.WriteElementString("score", p.score.ToString());
                            writer.WriteElementString("min", p.min.ToString());
                            writer.WriteElementString("sec", p.sec.ToString());

                            // end the element
                            writer.WriteEndElement();
                        }

                        // end the root element
                        writer.WriteEndElement();

                        //Write the XML to file and close the writer
                        writer.Close();

                        Form f = this.FindForm();
                        f.Controls.Remove(this);

                        MenuScreen ms = new MenuScreen();
                        f.Controls.Add(ms);
                        Form1.top5Name = false;
                    }
                    else if (Form1.gameName && name != "")
                    {
                        Form1.playerName             = name;
                        Form1.gameName               = false;
                        StartScreen.slideIndex       = 2;
                        StartScreen.messageLines[20] = "name is " + name + "!";
                        StartScreen.messageLines[30] = name + "!";

                        Form f = this.FindForm();
                        f.Controls.Remove(this);

                        StartScreen ss = new StartScreen();
                        f.Controls.Add(ss);
                    }
                    else if (Form1.rName && name != "")
                    {
                        Form1.rivalName              = name;
                        Form1.rName                  = false;
                        StartScreen.slideIndex       = 3;
                        StartScreen.messageLines[29] = "name is " + name + "!";

                        Form f = this.FindForm();
                        f.Controls.Remove(this);

                        StartScreen ss = new StartScreen();
                        f.Controls.Add(ss);
                    }
                }
                else
                {
                    name += indexLetterPairs[currentStringIndex];
                    letterIndex++;
                }
                if (letterIndex == 7)
                {
                    currentStringIndex = 44;
                    selectCol          = 8;
                    selectRow          = 4;
                }
            }
            else if (e.KeyCode == Keys.Back && name.Length != 0)
            {
                name = name.Substring(0, name.Length - 1);
                letterIndex--;
            }

            if (e.KeyCode == Keys.Right)
            {
                if (selectCol == 8)
                {
                    currentStringIndex -= 8;
                    selectCol           = 0;
                }
                else
                {
                    currentStringIndex++;
                    selectCol++;
                }
            }
            else if (e.KeyCode == Keys.Left)
            {
                if (selectCol == 0)
                {
                    currentStringIndex += 8;
                    selectCol           = 8;
                }
                else
                {
                    currentStringIndex--;
                    selectCol--;
                }
            }
            else if (e.KeyCode == Keys.Up)
            {
                if (selectRow == 0)
                {
                    currentStringIndex += 36;
                    selectRow           = 4;
                }
                else
                {
                    currentStringIndex -= 9;
                    selectRow--;
                }
            }
            else if (e.KeyCode == Keys.Down)
            {
                if (selectRow == 4)
                {
                    currentStringIndex -= 36;
                    selectRow           = 0;
                }
                else
                {
                    currentStringIndex += 9;
                    selectRow++;
                }
            }
            Refresh();
        }