private void newGameButton_Click(object sender, EventArgs e) { this.Enabled = false; using (NewGameDialog dlg = new NewGameDialog()) { if (dlg.ShowDialog() == DialogResult.OK) { int playersCount = dlg.playersCount; float money = dlg.millions; using (PlayersChoosing dlg2 = new PlayersChoosing(playersCount, money)) { if (dlg2.ShowDialog() == DialogResult.OK) { players = dlg2.players; Hide(); using (Monopoly gw = new Monopoly(players)) { Game g = new Game(players, gw); if (gw.ShowDialog() == DialogResult.OK) { Show(); } }; } } } } this.Enabled = true; }
public void ShowNewProjectDialog(DateTime gameDate, Project.ProjectType type, Database.Database database, IEnumerable <GameEngine> gameEngines) { if (pauseOnNewProjectDialog) { hudController.SetDialogPause(true); } switch (type) { case Project.ProjectType.GameProject: newGameDialog.ShowDialog(gameDate, database, gameEngines, gameProject => { newGameDialog.HideDialog(); if (pauseOnNewProjectDialog) { hudController.SetDialogPause(false); } hudController.SubmitNewProjectDialog(gameProject); }); break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }
private void OpenNewGameDialog() { NewGameDialog dialog = new NewGameDialog { DataContext = this }; if (dialog.ShowDialog() == true) { Grid.Shuffle(); } }
private void miNewGame_Click(object sender, System.EventArgs e) { if (_model != null) { DialogResult result = MessageBox.Show(this, "Do you wish to discard the current game?" + "\n(changes since last save will be lost)", "Confirm", MessageBoxButtons.OKCancel); if (result != DialogResult.OK) { return; } } //create the dialog and show it NewGameDialog dlg = new NewGameDialog(); dlg.ShowDialog(this); if (dlg.DialogResult != DialogResult.OK) { return; } int NumberOfPlayers = dlg.NumberOfPlayers; int SizeOfMap = dlg.SizeOfMap; if (NumberOfPlayers > _numClients) { MessageBox.Show("Not enough players are connected"); return; } //Create new game with parameters from the New Game dialog _model = new GameModel(NumberOfPlayers, SizeOfMap, SizeOfMap, (SizeOfMap) * (SizeOfMap) / 17); //number of systems, we'll get //this from the new game //dialog eventually _mapBoard = new MapBoard(_model.Update(), -1); _mapBoard.HexSize = ClientSize.Width / (SizeOfMap * 2); InitializePlayers(); //miNextTurn.Text = "&Next Turn!"; miSaveGame.Enabled = true; PrepBoard(); Invalidate(); }
/// <summary> /// Starts a new game. /// </summary> private void DoNewGame() { if ((CheckersUI.IsPlaying) || (CheckersUI.Winner != 0)) { if (!DoCloseGame()) { return; } // Stop current game (with no winner) CheckersUI.Stop(); } // Get new game type NewGameDialog newGame = new NewGameDialog(settings, agentNames); // Set defaults newGame.GameType = gameType; newGame.Player1Name = lblNameP1.Text; newGame.Player2Name = lblNameP2.Text; // Show dialog if (newGame.ShowDialog(this) == DialogResult.Cancel) { return; } // Set new game parameters gameType = newGame.GameType; agent = null; // Set Game Panel properties lblNameP1.Text = newGame.Player1Name; lblNameP2.Text = newGame.Player2Name; picPawnP1.Image = newGame.ImageSet[0]; picPawnP2.Image = newGame.ImageSet[2]; // Set UI properties switch (gameType) { case CheckersGameType.SinglePlayer: CheckersUI.Player1Active = true; CheckersUI.Player2Active = false; agent = agents[newGame.AgentIndex]; break; case CheckersGameType.Multiplayer: CheckersUI.Player1Active = true; CheckersUI.Player2Active = true; break; case CheckersGameType.NetGame: remotePlayer = newGame.RemotePlayer; if (remotePlayer == null) { MessageBox.Show(this, "Remote user disconnected before the game began", "Checkers", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } CheckersUI.Player1Active = true; CheckersUI.Player2Active = (remotePlayer == null); if (!menuViewNetPanel.Checked) { menuViewNetPanel_Click(menuViewNetPanel, EventArgs.Empty); } tmrConnection.Start(); panNet.Visible = true; lnkLocalIP.Text = Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString(); lnkRemoteIP.Text = ((IPEndPoint)remotePlayer.Socket.RemoteEndPoint).Address.ToString(); AppendMessage("", "Connected to player"); break; default: return; } CheckersUI.CustomPawn1 = newGame.ImageSet[0]; CheckersUI.CustomKing1 = newGame.ImageSet[1]; CheckersUI.CustomPawn2 = newGame.ImageSet[2]; CheckersUI.CustomKing2 = newGame.ImageSet[3]; // Create the new game CheckersGame game = new CheckersGame(); game.FirstMove = newGame.FirstMove; // Start a new checkers game CheckersUI.Play(game); }