Ejemplo n.º 1
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
        /// <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);
        }