public Network(ShowMessageDelegate MsgDelegate, ReceiveShotDelegate ShotDelegate, ReceiveCellShotResultDelegate ShotResultDelegate) { msgDelegate = MsgDelegate; shotDelegate = ShotDelegate; shotResultDelegate = ShotResultDelegate; _terminated = false; }
public MainForm() { SuspendLayout(); //Делегат на функцию отображения сообщения в чате ShowMessageDelegate del = new ShowMessageDelegate(ShowMessage); //делегат на функцию выстрела соперника в поле игрока ReceiveShotDelegate delShot = new ReceiveShotDelegate(Shot); //делегат на функцию выстрела игрока в поле соперника ReceiveCellShotResultDelegate delShotRes = new ReceiveCellShotResultDelegate(ShotResults); _boardLeft = new Board(); //левое игровое поле _boardRight = new Board(false); //правое игровое поле. В конструкторе указываем, что не будем на нем рисовать корабли _scoreboard = new ScoreBoard(); //счёт _controller = new GameController(_boardLeft, _boardRight, _scoreboard); //контроллер игры network = new Network(del, delShot, delShotRes); //контроллер сетевого соединения _boardLeft.network = network; _boardRight.network = network; _shuffleButton = CreateButton(ShuffleCharacter.ToString(), ButtonBackColor); _newGameButton = CreateButton(NewGameCharacter.ToString(), ButtonBackColor); _connectButton = CreateButton(ConnectCharacter.ToString(), ButtonBackColor); _startGameButton = CreateButton(StartGameCharacter.ToString(), ButtonBackColor); _sendButton = CreateButton(SendCharacter.ToString(), ButtonBackColor); pnBot = new Panel { Dock = DockStyle.Bottom }; _richTextBox = new RichTextBox(); _gbMySocket = new GroupBox { Text = "Me" }; _gbFriendSocket = new GroupBox { Text = "Friend" }; friendIP = new TextBox { Text = "127.0.0.1" }; tbMyIP = new TextBox { Text = "127.0.0.1" }; tbMyPort = new TextBox { Text = "12345" }; friendPort = new TextBox { Text = "12346" }; pnBot = new Panel { Dock = DockStyle.Bottom }; outMsg = new TextBox(); _sendButton.Dock = DockStyle.Right; outMsg.Dock = DockStyle.Fill; _richTextBox.Dock = DockStyle.Top; pnBot.Controls.Add(outMsg); pnBot.Controls.Add(_sendButton); pnBot.Controls.Add(_richTextBox); SetupWindow(); LayoutControls(); _scoreboard.GameEnded += OnGameEnded; _shuffleButton.Click += OnShuffleButtonClick; _startGameButton.Click += OnStartGameButtonClick; _newGameButton.Click += OnNewGameButtonClick; _connectButton.Click += OnConnectButtonClick; _sendButton.Click += OnSendButtonClick; ToolTip toolTip1 = new ToolTip(); toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 1000; toolTip1.ReshowDelay = 500; toolTip1.SetToolTip(_shuffleButton, "Разместить автоматически"); toolTip1.SetToolTip(_startGameButton, "Начать игру"); toolTip1.SetToolTip(_newGameButton, "Новая игра"); toolTip1.SetToolTip(_connectButton, "Установить связь"); toolTip1.SetToolTip(_sendButton, "Отправить сообщение"); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed); ResumeLayout(); StartNewGame(); }