Курсовая работа: Система координат канви
вліво-управо - перемикання з однієї кулі на іншій
"пропуск" - удар києм
"H", "h" - підказка для людини (як на його місці зробив би хід чоловік)
"I", "i" - включення/виключення нумерації куль
"S", "s" - включення/виключення лінії прицілювання
Опис файлу конфігурації settings.ini:
ballsize=10 - розмір куль
Pocketsize=20 - розмір лузи
Maxenergy=20 - максимальна сила удару
Cuelength=200 - довжина кия
Friction=0,97 - коефіцієнт тертя (строго менше 1)
Pyramidheight=5 - кількість рівнів в піраміді з кулями
Anglestep=0,03 - крок повороту кия навколо кулі
Movementlimit=0,1 - межа вектора швидкості, після якого рух кулі вважається припиненим.
Timeinterval=20 - час між кадрами перемальовування (у мілісекундах)
Висновок
Використання методів Canvasдля відображення графіки в проектах C++Builder допомогло реалізувати поставлену задачу. Але цей метод від малювання графіки на формі об’єктів є досить не практичний і тому важливо кожного разу перемалювати всю сцену з її об’єктами, а коли ми маємо анімацію то перемалювання сцени має ще й відбуватись непомітно для ока користувача, хоча цього часом буває досить важко добитись, особливо коли багато анімацій відбувається одночасно для декількох обєктів, що збільшує час виводу певного зображення на екран.
В даній роботі я зміг добитись пере малювання куль, кия та всього столу буз затримки картинки, що створює ілюзію анімації для людського ока. Сама логіка гри дуже проста, коли кілі торкаються одна одної то кожній передається імпульс і прискорення з початковою швидкістю, котра зменшується з часом та відбиттям від інших об’єктів, тобто зіткненням.
Програма широко використовує фізичні закони, для моделювання гри в середовищі C++Builder.
Використана література
1. С++ для начинающих Липпман 2003г332 стр.
2. Введение в язык С++ Бьярн Страустрап, 1995 г. ; Книга по Си; уроки Visual C++ 2004г,560 стр.
3. http://forums.delphi.com/ab_cplus/start
4. Программирование на языке СИ Ю.Ю.Громов, С.И.Татаренко 1998г 545 стр.;
5. Applied C++: Practical Techniques for Building Better Software Авторы: Philip Romanik, Amy Muntz 2003г. 470 стр.
6. C++ Unleashed Автор: Jesse Liberty 2005г.396p.