private void button1_Click(object sender, EventArgs e) { if (label_X.Text == "" || label_Y.Text == "" || label_length.Text == "" || label_height.Text == "" || label_width.Text == "" || label_range.Text == "" || label_batteryCharge.Text == "" /*|| label_numSensors.Text == ""*/) { MessageBox.Show("Заповніть усі дані"); return; } //створення нового вузла і додавання його в існуючу мережу Node node = new Node(); node.set_X(Convert.ToInt32(label_X.Text)); node.set_Y(Convert.ToInt32(label_Y.Text)); if (network.get_3D()) { node.set_Z(Convert.ToInt32(label_Z.Text)); } node.setLength(Convert.ToInt32(label_length.Text)); node.setWidth(Convert.ToInt32(label_width.Text)); node.setHeight(Convert.ToInt32(label_height.Text)); node.setRandeOfAction(Convert.ToInt32(label_range.Text)); node.setBatteryCharge(Convert.ToInt32(label_batteryCharge.Text)); network.addNode(node); this.Close(); }
public void generate() { //для рандомного генерування Random rand = new Random(); //генерування наявності 3D (генеруємо число до 100, якщо менше 50 - має 3D, якщо більше - не має network.set_3D((rand.Next(100) < 50) ? true : false); //створення модульного класу для збереження меж генерування RangeOfRandomNode range = new RangeOfRandomNode(); //відкриття форми для заповнення меж Form generationRange = new SetRangeOfRandomNode(range); generationRange.ShowDialog(); //кількість майбутніх вузлів int num = rand.Next(range.get_minNumNodes(), range.get_maxNumNodes()); //цикл генерування вузлів for (int counter = 0; counter < num; counter++) { //створення нового вузла Node newNode = new Node(); //встановлення рандомно-згенерованих параметрів вузла { //встановлення координат newNode.set_X(rand.Next(range.get_minX(), range.get_maxX())); newNode.set_Y(rand.Next(range.get_minY(), range.get_maxY())); newNode.set_Z(rand.Next(range.get_minZ(), range.get_maxZ())); //встановлення наявності GPS у вузлі newNode.setGPS((rand.Next(100) < 50) ? true : false); //встановлення розмірів вузла newNode.setHeight(rand.Next(range.get_minHeight(), range.get_maxHeight())); newNode.setLength(rand.Next(range.get_minLength(), range.get_maxLength())); newNode.setWidth(rand.Next(range.get_minWidth(), range.get_maxWidth())); //встановлення списку сенсорів, радіусу дії та часу заряду акумулятора for (int numCurrentSensor = 0; numCurrentSensor < 0; numCurrentSensor++) { ; } int rangeOfAction = rand.Next(range.get_minRange(), range.get_maxRange()); newNode.setRandeOfAction(rangeOfAction - rangeOfAction % 100); newNode.setBatteryCharge(rand.Next(range.get_minBatteryCharge(), range.get_maxBatteryCharge())); } //додавання сформованого вузла в мережу network.addNode(newNode); } network.calculateSize(); }
private void button_Create_Click(object sender, EventArgs e) { Random rand = new Random(); int x = 0, y = 0, z = 0; int height = Convert.ToInt32(comboBox_Height.Text), width = Convert.ToInt32(comboBox_Width.Text), depth = 0; network.set_height(height); network.set_width(width); if (radioButton_3D.Checked == true) { depth = Convert.ToInt32(comboBox_Depth.Text); network.set_depth(depth); network.set_3D(true); } ////////////////////////////////////////////////////////////// //головний вузол Node node = new Node(); node.setBatteryCharge(Convert.ToInt32(comboBox_BatteryCharge.Text)); node.setRandeOfAction(Convert.ToInt32(comboBox_Range.Text)); if (comboBox_Head_X.Text == "Rand") { node.set_X(rand.Next(width)); } else { node.set_X(Convert.ToInt32(comboBox_Head_X.Text)); } if (comboBox_Head_Y.Text == "Rand") { node.set_Y(rand.Next(height)); } else { node.set_Y(Convert.ToInt32(comboBox_Head_Y.Text)); } if (radioButton_3D.Checked == true) { if (comboBox_Head_Z.Text == "Rand") { node.set_Z(rand.Next(depth)); } else { node.set_Z(Convert.ToInt32(comboBox_Head_Z.Text)); } } node.setType(3); network.addNode(node); ////////////////////////////////////////////////////////////// ///створення та побудова інших вузлів /// int num; if (comboBox_Num.Text == "Rand") { num = rand.Next(500); } else { num = Convert.ToInt32(comboBox_Num.Text); } for (int i = 1; i < num; i++) { //Створення вузла node = new Node(); node.setBatteryCharge(Convert.ToInt32(comboBox_BatteryCharge.Text)); node.setRandeOfAction(Convert.ToInt32(comboBox_Range.Text)); x = rand.Next(width); y = rand.Next(height); z = rand.Next(depth); node.set_X(x); node.set_Y(y); if (radioButton_3D.Checked == true) { node.set_Z(z); } node.setType(1); network.addNode(node); } //Малювання вузла draw(); }