static void Main() { //SETTINGS STRUCT //Used to pass setting variables between menus and game StartMenu.GameSettings settings = new StartMenu.GameSettings(); //Create and run the menu form SMenu = new StartMenu(settings); Application.Run(SMenu); //If start game was pressed if (settings.isGameCreated) { //Create and run the game TronGame newGame = new TronGame(settings.num, settings.Colours, settings.Names); newGame.Run(); } }
//CONSTRUCTOR public MultiplayerMenu(StartMenu.GameSettings set) { settings = set; InitializeComponent(); //Put form into fullscreen and make background black FormBorderStyle = FormBorderStyle.None; this.Size = Screen.PrimaryScreen.WorkingArea.Size; WindowState = FormWindowState.Maximized; BackColor = Color.FromArgb(0, 0, 0); //Find middle points of form for positiong objects int midX, midY; midX = this.Width / 2; midY = this.Height / 2; this.KeyDown += new KeyEventHandler(Form_KeyDown); //EXIT BUTTON var Exit = new PictureBox { Name = "Exit", AutoSize = true, Image = Image.FromFile("Images/All Menus/Exit.png") }; Exit.Click += new EventHandler(Exit_Click); this.Controls.Add(Exit); Exit.Location = new Point((this.Width / 15) * 14 - Exit.Width / 2, 0); //BACK BUTTON var Back = new PictureBox { Name = "Back", AutoSize = true, Image = Image.FromFile("Images/All Menus/Back.png") }; Back.Click += new EventHandler(Back_Click); this.Controls.Add(Back); Back.Location = new Point((this.Width / 15) - Exit.Width / 2, 0); //MULTIPLAYER TITLE var Multiplayer = new PictureBox { Name = "Multiplayer", AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Multiplayer Heading.png") }; this.Controls.Add(Multiplayer); Multiplayer.Location = new Point(midX - (Multiplayer.Width / 2), 0); //NUMBER OF PLAYERS LABEL var NumOfPlayers = new PictureBox { Name = "NumOfPlayers", AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Number Of Players.png") }; this.Controls.Add(NumOfPlayers); NumOfPlayers.Location = new Point(midX - (NumOfPlayers.Width / 2), (this.Height / 16) * 5 - (NumOfPlayers.Height / 2)); //RADIO BUTTONS for (int i = 0; i < 3; i++) { RadioButtons[i] = new RadioButton { Name = "RadioButton" + (i + 2), Text = (i + 2).ToString(), AutoSize = true, ForeColor = Color.White, Font = new Font("Ariel", 15, FontStyle.Bold), AutoCheck = true, Cursor = Cursors.Cross, }; this.Controls.Add(RadioButtons[i]); RadioButtons[i].Location = new Point((this.Width / 10) * (i + 4), (this.Height / 16) * 6 - (RadioButtons[i].Height / 2)); } RadioButtons[2].Checked = true; RadioButtons[0].Click += new EventHandler(TwoPlayers); RadioButtons[1].Click += new EventHandler(ThreePlayers); RadioButtons[2].Click += new EventHandler(FourPlayers); for (int i = 0; i < 4; i++) { //PLAYER LABELS PlayerLabels[i] = new PictureBox { Name = "PlayerLabel" + (i + 1), AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Player " + (i + 1) + ".png") }; this.Controls.Add(PlayerLabels[i]); PlayerLabels[i].Location = new Point(((this.Width / 5) * (i + 1)) - (PlayerLabels[i].Width / 2), (this.Height / 16) * 8 - (PlayerLabels[i].Height / 2)); //NAME TEXT BOXES NameBoxes[i] = new TextBox { Name = "NameBox" + (i + 1), AutoSize = false, Font = new Font("Ariel", 20, FontStyle.Bold), Size = new Size(this.Width / 10, 38), MaxLength = 18, }; NameBoxes[i].KeyPress += new KeyPressEventHandler(TextResize); this.Controls.Add(NameBoxes[i]); NameBoxes[i].Location = new Point(((this.Width / 5) * (i + 1)) - (NameBoxes[i].Width / 2), (this.Height / 16) * 10 - (NameBoxes[i].Height / 2)); //COLOUR BUTTONS ColourButtons[i] = new Button { Name = "ColourButton" + (i + 1), Size = new Size(this.Width / 10, this.Height / 20), }; ColourButtons[i].Click += new EventHandler(ColourButton_Click); this.Controls.Add(ColourButtons[i]); ColourButtons[i].Location = new Point(((this.Width / 5) * (i + 1)) - (ColourButtons[i].Width / 2), (this.Height / 16) * 12 - (ColourButtons[i].Height / 2)); } //Default colours ColourButtons[0].BackColor = Color.MidnightBlue; ColourButtons[1].BackColor = Color.DarkRed; ColourButtons[2].BackColor = Color.Yellow; ColourButtons[3].BackColor = Color.DarkGreen; //NAME LABEL var Name = new PictureBox { Name = "Name", AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Name.png") }; this.Controls.Add(Name); Name.Location = new Point((NameBoxes[0].Left / 2) - (Name.Width / 2), (this.Height / 16) * 10 - (Name.Height / 2)); //COLOUR LABEL var Colour = new PictureBox { Name = "Colour", AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Colour.png") }; this.Controls.Add(Colour); Colour.Location = new Point((NameBoxes[0].Left / 2) - (Colour.Width / 2), (this.Height / 16) * 12 - (Colour.Height / 2)); //SETTINGS LABEL var Settings = new PictureBox { Name = "Settings", AutoSize = true, Image = Image.FromFile("Images/All Menus/Settings.png") }; this.Controls.Add(Settings); Settings.Location = new Point((this.Width / 8) * 1 - Settings.Width / 2, (this.Height) - (Settings.Height)); //HELP LABEL var Help = new PictureBox { Name = "Help", AutoSize = true, Image = Image.FromFile("Images/All Menus/Help.png") }; this.Controls.Add(Help); Help.Location = new Point((this.Width / 8) * 7 - Help.Width / 2, (this.Height) - (Help.Height)); //START GAME BUTTON var StartGame = new PictureBox { Name = "StartGame", AutoSize = true, Image = Image.FromFile("Images/Multiplayer Menu/Start Game.png") }; StartGame.Click += new EventHandler(GameStart); this.Controls.Add(StartGame); StartGame.Location = new Point(midX - (StartGame.Width / 2), (this.Height) - (StartGame.Height)); }
//CONSTRUCTOR public SinglePlayerMenu(StartMenu.GameSettings set) { settings = set; InitializeComponent(); //Put form into fullscreen and make background black FormBorderStyle = FormBorderStyle.None; this.Size = Screen.PrimaryScreen.WorkingArea.Size; WindowState = FormWindowState.Maximized; BackColor = Color.FromArgb(0, 0, 0); //Find middle points of form for positiong objects int midX, midY; midX = this.Width / 2; midY = this.Height / 2; this.KeyDown += new KeyEventHandler(Form_KeyDown); //EXIT BUTTON var Exit = new PictureBox { Name = "Exit", AutoSize = true, Image = Image.FromFile("Images/All Menus/Exit.png") }; Exit.Click += new EventHandler(Exit_Click); this.Controls.Add(Exit); Exit.Location = new Point((this.Width / 15) * 14 - Exit.Width / 2, 0); //BACK BUTTON var Back = new PictureBox { Name = "Back", AutoSize = true, Image = Image.FromFile("Images/All Menus/Back.png") }; Back.Click += new EventHandler(Back_Click); this.Controls.Add(Back); Back.Location = new Point((this.Width / 15) - Exit.Width / 2, 0); //SINGLE PLAYER TITLE var SinglePlayer = new PictureBox { Name = "SinglePlayer", AutoSize = true, Image = Image.FromFile("Images/Single Player Menu/Single Player Heading.png") }; this.Controls.Add(SinglePlayer); SinglePlayer.Location = new Point(midX - (SinglePlayer.Width / 2), 0); //NAME LABEL var Name = new PictureBox { Name = "Name", AutoSize = true, Image = Image.FromFile("Images/Single Player Menu/Name.png") }; this.Controls.Add(Name); Name.Location = new Point(midX - (Name.Width / 2), (this.Height / 16) * 4 - (Name.Height / 2)); //NAME TEXT BOX var NameEntry = new TextBox { Name = "NameEntry", Font = new Font("Ariel", 30, FontStyle.Bold), TextAlign = HorizontalAlignment.Center, AutoSize = true, Width = this.Width / 3, MaxLength = 18, }; this.Controls.Add(NameEntry); NameEntry.Location = new Point(midX - (NameEntry.Width / 2), (this.Height / 16) * 6 - (NameEntry.Height / 2)); //COLOUR LABEL var Colour = new PictureBox { Name = "Colour", AutoSize = true, Image = Image.FromFile("Images/Single Player Menu/Colour.png") }; this.Controls.Add(Colour); Colour.Location = new Point(midX - (Colour.Width / 2), (this.Height / 16) * 8 - (Colour.Height / 2)); //COLOUR BUTTON var ColourEntry = new Button { Name = "ColourEntry", Size = new Size(NameEntry.Width / 2, NameEntry.Height), BackColor = Color.MidnightBlue, }; ColourEntry.Click += new EventHandler(ColourEntry_Click); this.Controls.Add(ColourEntry); ColourEntry.Location = new Point(midX - (ColourEntry.Width / 2), (this.Height / 16) * 10 - (ColourEntry.Height / 2)); //SETTINGS LABEL var Settings = new PictureBox { Name = "Settings", AutoSize = true, Image = Image.FromFile("Images/All Menus/Settings.png") }; this.Controls.Add(Settings); Settings.Location = new Point((this.Width / 8) * 1 - Settings.Width / 2, (this.Height) - (Settings.Height)); //HELP LABEL var Help = new PictureBox { Name = "Help", AutoSize = true, Image = Image.FromFile("Images/All Menus/Help.png") }; this.Controls.Add(Help); Help.Location = new Point((this.Width / 8) * 7 - Help.Width / 2, (this.Height) - (Help.Height)); //START GAME BUTTON var StartGame = new PictureBox { Name = "StartGame", AutoSize = true, Image = Image.FromFile("Images/Single Player Menu/Start Game.png") }; this.Controls.Add(StartGame); StartGame.Location = new Point(midX - (StartGame.Width / 2), (this.Height) - (StartGame.Height)); }