ки на перетин
{(Math. Sqrt (Math. Pow (_x - ball. _x + radS - ball. radS,
) + Math. Pow (_y - ball. _y + RadS - ball. RadS,
)) < (Ball. _radS + _radS)) true; false;
}
}
}
Клас Traekt
class Traekt: ISaveLoad
{
private int x, y;// Координати центру поверхні рісованіяPictureBox Space_pb;// Посилання на реальну поверхню рісованіяint _nextNum, _lastNum;// Поля, що зберігають номера такого і попереднього шарікаTraekt (PictureBox newPB, int next) / / основний конструктор класу
{_pb=newPB;=Space_pb. Image. Width / 2;=Space_pb. Image. Height / 2; c=Graphics. FromImage (Space_pb. Image); _pb. Refresh ();. Dispose ();
_nextNum=1;
}
/ / реалізація інтерфейсу, що виробляє запис
/ / в текстовий файл
public void Save (StreamWriter sw)
{. WriteLine (_lastNum);
}
/ / реалізація інтерфейсу, що виробляє запис
/ / в двійковий файлvoid Save (BinaryWriter bw)
{. Write (_lastNum);
}
/ / реалізація інтерфейсу, що виробляє читання
/ / з текстового файлаvoid Load (StreamReader sr)
{
_nextNum=Convert. ToInt32 (sr. ReadLine ()) +1;
}
/ / реалізація інтерфейсу, що виробляє читання
/ / із двійкового файлу
public void Load (BinaryReader br)
{
_nextNum=br. ReadInt32 () +1;
}
/ / властивість номерів куль дл доступу ззовні
public int nextN
{{return _nextNum + +; }
set {_lastNum=value; } / / Отримуємо номер при створенні в Form1
}
/ / властивість отримання доступу до компоненту, на якому проводиться відображення
public PictureBox S_picture
{{return Space_pb; }
}
/ / властивість координати Х, для достпа ззовні
public int S_x
{{return x; }
}
/ / властивість координати У, для доступу ззовні
public int S_y
{{return y; }
}
}
}
1.2 Побудова алгоритму реалізації
При функціонуванні програми можуть виконуватися такі операції:
додавання кульки;
- видалення кульки;
редагування параметрів кульки;
переміщення кульок по траєкторії, що представляє собою коло;
завантаження, або збереження параметрів кульки в окремий файл;