示例#1
0
        /// <summary>
        /// Prepares a new Turn in game:
        /// Adds points if a player won last turn and clears the panel.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">Used to tell which player won last round.</param>
        private void NewTurnStarted(object sender, NewTurnEventArgs e)
        {
            if (e.GuesserPlayerIndex >= 0)
            {
                var newScoreGuesser = int.Parse(listBoxGameScores.Items[e.GuesserPlayerIndex].ToString()) + Variables.PointsPlayerGuess;
                listBoxGameScores.SynchronizedInvoke(() => listBoxGameScores.Items[e.GuesserPlayerIndex] = newScoreGuesser);
                var newScoreDrawer = int.Parse(listBoxGameScores.Items[e.DrawerPlayerIndex].ToString()) + Variables.PointsPlayerDraw;
                listBoxGameScores.SynchronizedInvoke(() => listBoxGameScores.Items[e.DrawerPlayerIndex] = newScoreDrawer);
            }

            timeLeft = Variables.RoundTime;
            panelGame.SynchronizedInvoke(() => graphics.Clear(Color.White));
        }
示例#2
0
        /// <summary>
        /// Handles a NewTurnPacket.
        /// </summary>
        /// <param name="packet"></param>
        private void HandleNewTurn(NewTurnPacket packet)
        {
            var args = new NewTurnEventArgs(packet.GuesserPlayerIndex, packet.DrawerPlayerIndex);

            OnNewTurn?.Invoke(this, args);
        }