private void StartMultipleMode() { if (client.Player.IsHost) { if (client.ConnectedServer == null) { MessageBox.Show("Error, client not connected to local server"); } else { if (views.Count > 1) { var numCards = rbn20Cards.Checked ? 20 : rbn52Cards.Checked ? 52 : 36; if (numCards / views.Count >= 6) { client.RequestState(StateParameter.Construct(Names.AMOUNT_INIT_CARDS, numCards, true)); client.RequestStart(); } else { MessageBox.Show("You do not have enough cards for that number of players\nPlease ensure theres at least enough cards for 6 cards per player", "Alert", MessageBoxButtons.OK); } } else { MessageBox.Show("You need at least 2 players to play", "Alert", MessageBoxButtons.OK); } } } }
private void StartSingleMode() { if (singleServer.Player.IsHost) { if (singleServer.ConnectedServer == null) { MessageBox.Show("Error, client not connected to local server"); } else { if (views.Count > 1) { var numCards = rbn20Cards.Checked ? 20 : rbn52Cards.Checked ? 52 : 36; if (numCards / views.Count >= 6) { var parameter = StateParameter.Construct(Names.AMOUNT_INIT_CARDS, numCards, true); singleServer.GameState.Set(Names.AMOUNT_INIT_CARDS, parameter.GetValueInt(), true); singleServer.SetServerState(ServerState.InGame); singleServer.SetBotSettings(chkSimulateBotThinkTime.Checked); ServerStateUpdated(this, singleServer.ConnectedServer.State); } else { MessageBox.Show("You do not have enough cards for that number of players" + "\nPlease ensure theres at least enough cards for 6 cards per player", "Alert", MessageBoxButtons.OK); } } else { MessageBox.Show("You need at least 2 players to play", "Alert", MessageBoxButtons.OK); } } } }
/// <summary> /// Requests that the game starts /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStart_Click(object sender, EventArgs e) { if (myClient.IsHost) { if (myClient.ConnectedServer == null) { MessageBox.Show("Error, client not connected to local server"); } else { if (myClient.KnownPlayers.PlayerCount > 1) { int numCards = 36; if (rbn20Cards.Checked) { numCards = 20; } else if (rbn52Cards.Checked) { numCards = 52; } if (numCards / myClient.KnownPlayers.PlayerCount >= 6) { myClient.RequestBotSettings(chkSimulateBotThinkTime.Checked, 1000, 4000, Settings.Default.DefaultBotDifficulty); myClient.RequestState(StateParameter.Construct <int>(Names.NUM_INIT_CARDS, numCards, true)); myClient.RequestStart(); } else { MessageBox.Show("You do not have enough cards for that number of players\nPlease ensure theres at least enough cards for 6 cards per player", "Alert", MessageBoxButtons.OK); } } else { MessageBox.Show("You need at least 2 players to play", "Alert", MessageBoxButtons.OK); } } } else { myViews.FirstOrDefault(X => X.Player.PlayerId == myClient.PlayerId).IsReady = true; myClient.SetReadiness(true); } }
/// <summary> /// Invoked when the request help button is clicked /// </summary> /// <param name="sender">The object that raised the event (the button)</param> /// <param name="e">The blank event arguments</param> private void btnReqHelp_Click(object sender, EventArgs e) { StateParameter param = StateParameter.Construct <bool>(Names.REQUEST_HELP, !myClient.LocalState.GetValueBool(Names.REQUEST_HELP), true); myClient.RequestState(param); }