/// <summary> /// Осуществление ставки на участника. /// </summary> /// <param name="player">Игрок, осуществляющйи ставку</param> /// <param name="bug">Участник забега, на победу которого осуществляется ставка</param> /// <param name="amount">Сумма ставки</param> private void addBet(Player player, Bug bug, int amount) { this.bets[new KeyValuePair<Player, Bug>(player, bug)] = amount; this.updateBetsInfoboard(); }
/// <summary> /// Инициилизация жука: модели, для хранения его параметров, элементов управления и отображения в форме и т.п. /// </summary> /// <param name="name">Имя жука</param> /// <param name="bugRowN">Номер дорожки жука</param> private void initBug(string name, int bugRowN) { var bug = new Bug(name); this.bugs.Add(bug); var pictureBoxPanel = new Panel(); // Контейнер - обёртка, разрешающая управлять координатами PictureBox pictureBoxPanel.Dock = DockStyle.Fill; this.bugTracks.Controls.Add(pictureBoxPanel, 0, bugRowN); int rowHeightPx = pictureBoxPanel.Height; // Отобразим таракана на дорожке var bugPictureBox = new PictureBox(); bugPictureBox.Image = Properties.Resources.bug; bugPictureBox.SizeMode = PictureBoxSizeMode.Zoom; bugPictureBox.Anchor = AnchorStyles.Left | AnchorStyles.Top; bugPictureBox.Height = rowHeightPx; pictureBoxPanel.Controls.Add(bugPictureBox); this.bugsAvatars.Add(bug, bugPictureBox); bugPictureBox.Top = 0; Binding bugPositionBinding = new Binding("Left", bug, "distance"); bugPositionBinding.Format += new ConvertEventHandler(distanceToPx); bugPictureBox.DataBindings.Add(bugPositionBinding); // Селекторы тараканов в элементах управления var bugSelector = new RadioButton(); Binding radioNameBinding = new Binding("Text", bug, "name", true, DataSourceUpdateMode.OnPropertyChanged); bugSelector.DataBindings.Add(radioNameBinding); this.panelRacerSelect.Controls.Add(bugSelector); this.bugsBySelectors.Add(bugSelector, bug); }