Ejemplo n.º 1
0
        private static void StartGame()
        {
            BoardSettings boardSettings = new BoardSettings() { Columns = 7, Rows = 6, WinningCount = 4 };

            Connect4 c4 = new Connect4(boardSettings, new Message());
            c4.Player1 = new Human();
            c4.Player2 = new Computer(2, boardSettings);

            c4.PlayGame();

            System.Console.Write("Would you like another game? (Y or N)");
            char c = System.Console.ReadKey().KeyChar;
            if (c.ToString().ToUpper() == "Y")
                StartGame();
            else
                Environment.Exit(0);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new board with the given settings and initial collection of subscribers
 /// </summary>
 /// <param name="settings">The difficulty level settings of the board</param>
 /// <param name="subscribers">The initial list of subscribers of the board</param>
 public Board(BoardSettings settings, List<IBoardObserver> subscribers)
 {
     this.InitializeBoard(settings.Rows, settings.Cols, settings.NumberOfBombs);
     this.Subscribers = subscribers;
 }
Ejemplo n.º 3
0
        public void Setup()
        {
            boardSettings = new BoardSettings() { Columns = 7, Rows = 6, WinningCount = 4};

            c4 = new Connect4(boardSettings, new Message());
            c4.Player1 = new Human();
            c4.Player2 = new Computer(2, boardSettings);
        }
Ejemplo n.º 4
0
 public Computer(int playerNumber, BoardSettings boardSettings)
 {
     _BoardSettings = boardSettings;
     number = playerNumber;
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Sends the digest to users.
        /// </summary>
        /// <param name="usersWithDigest">The users with digest.</param>
        /// <param name="boardSettings">The board settings.</param>
        private void SendDigestToUsers(IEnumerable <User> usersWithDigest, BoardSettings boardSettings)
        {
            var usersSendCount = 0;

            var currentContext = HttpContext.Current;

            usersWithDigest.AsParallel().ForAll(
                user =>
            {
                HttpContext.Current = currentContext;

                try
                {
                    var digestHtml = this.Get <IDigest>().GetDigestHtml(user.ID, boardSettings);

                    if (digestHtml.IsNotSet())
                    {
                        return;
                    }

                    if (user.ProviderUserKey == null)
                    {
                        return;
                    }

                    var membershipUser = UserMembershipHelper.GetUser(user.Name);

                    if (membershipUser == null || membershipUser.Email.IsNotSet())
                    {
                        return;
                    }

                    var subject = Regex.Match(digestHtml, "<title>(.*?)</title>", RegexOptions.Singleline)
                                  .Groups[1].Value.Trim();

                    // send the digest...
                    this.Get <IDigest>().SendDigest(
                        subject.Trim(),
                        digestHtml,
                        boardSettings.Name,
                        boardSettings.ForumEmail,
                        membershipUser.Email,
                        user.DisplayName);

                    usersSendCount++;
                }
                catch (Exception e)
                {
                    this.Get <ILogger>().Error(e, $"Error In Creating Digest for User {user.ID}");
                }
                finally
                {
                    HttpContext.Current = null;
                }
            });

            this.Get <ILogger>().Log(
                $"Digest send to {usersSendCount} user(s)",
                EventLogTypes.Information,
                null,
                "Digest Send Task");
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Constructs a new instance.
 /// </summary>
 public Plugin()
     : base("Procedural Midi VST", new VstProductInfo("Procedural Midi", "http://proceduralmidi.codeplex.com", 1000),
            VstPluginCategory.Generator, VstPluginCapabilities.NoSoundInStop | VstPluginCapabilities.ReceiveTimeInfo, 0, 0x77073233)
 {
     BoardSettings = BoardSettings.GetDefaultBoard();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Avatars"/> class.
 /// </summary>
 /// <param name="boardSettings">
 /// The board settings.
 /// </param>
 public Avatars(BoardSettings boardSettings)
 {
     this._yafBoardSettings = boardSettings;
 }
Ejemplo n.º 8
0
 public GridProcessor(BoardSettings boardSettings, IGridModel gridModel)
 {
     _boardSettings = boardSettings;
     GridModel      = gridModel;
     GridModel.Grid = new Transform[_boardSettings.boardRightBoundary + 1, _boardSettings.boardTopBoundary + 1];
 }