// Добавляем private void addEnemy(int col, Random rand) { while (colichVragov > 0) { Point point = new Point(rand.Next(tableLayoutPanel1.ColumnCount), rand.Next(tableLayoutPanel1.RowCount)); // берём рандомную точку на панели do { if (pointIsEmpty(point)) { positionMan position = manIsClose(point); if (position == positionMan.OfFar) { PictureBox saw = new PictureBox(); saw.Click += tableLayoutPanel1_Click; LoadPicture(saw, "Медведь.jpg"); tableLayoutPanel1.Controls.Add(saw, point.X, point.Y); colichVragov--; break; } else { if (position == positionMan.OfLeft) { point.X += 1; } else if (position == positionMan.OfRight) { point.X -= 1; } else if (position == positionMan.manOfUp) { point.Y += 1; } else if (position == positionMan.OfDown) { point.Y -= 1; } point = normalization(point, true); } } else { break; } }while(true); } }
// Шаг противника private void EnemyTurn() { Point newpoint = new Point(); int poz = tableLayoutPanel1.Controls.Count; for (int i = 0; i < poz; i++) { Control enemy = tableLayoutPanel1.Controls[i]; if (enemy as PictureBox == man) { continue; } TableLayoutPanelCellPosition enemyPos = tableLayoutPanel1.GetPositionFromControl(enemy); positionMan positions = manIsClose(new Point(enemyPos.Column, enemyPos.Row)); if (positions != positionMan.OfFar) { man = null; break; } int colPr = 50; do { newpoint.X = enemyPos.Column + rand.Next(2000) / 750 - 1; newpoint.Y = enemyPos.Row + rand.Next(2000) / 750 - 1; newpoint = normalization(newpoint); if (pointIsEmpty(newpoint)) { tableLayoutPanel1.Controls.Add(enemy, newpoint.X, newpoint.Y); break; } colPr--; }while (colPr != 0); } }