Здравствуйте. В предыдущей статье «бешеные черепашки 2» забыл добавить бешенства нашим черепашкам. Это делается с помощью функции «tracer», она ускоряет графику, и наши черепашки реально становятся бешенными. Этой функции можно передавать разные параметры, я ей передам «9». После этого наши черепашки становятся реально шустрые. Вот как вызвать эту функцию.
Продолжим изменять наш код из предыдущей статьи. Давайте сделаем, что бы кроме черепашек, так же появлялись геометрические фигуры: круги, квадраты, треугольники. Для этого создадим переменную «fig» и присвоим ей список, который будет содержать название фигур на английском. И с помощью функции «random» будем случайным образом выбирать фигуру для нашей черепашки. Теперь при запуске программы у нас будут появляться не только черепашки, а также шарики, квадратики и треугольники.
Перейдем непосредственно к главной теме статьи «ГРАВИТАЦИЯ», давайте сделаем, что бы наши черепашки не только бились об стенки и отлетали, а еще на них действовала сила притяжения. Для этого заведем переменную «grav» которая будет отвечать за силу притяжения. Переменную сдвинем внутрь цикла «for», который создает нам наших черепашек и что бы у каждой черепашки была своя сила притяжения, присваивать ей значения будем с помощью функции «random». И что бы значения гравитации получать (от 0.01 до 0.5), коридор чисел поставим от 1 до 50 и умноженное на 0.01. Изменим еще несколько настроек появления черепашек в этом цикле, а потом перейдем в другой цикл и будем применять гравитацию на наших черепашек. Уменьшим коридор появления наших черепашек, что бы не появлялись слишком высоко и слишком низко. Поставим границы рандома от -200 до 180. Так же поменяем границы скорости по оси X поставим от -2 до 2, а по оси Y поставим 0 и 0. Можно убрать функцию «random» и присвоить 0, но оставлю. Нулевую скорость ставим, что бы наши черепашки после появления всегда падали вниз, а не взлетали вверх.
Переходим в следующий наш цикл «while». Тут вспоминаем, что данные о черепашках и скорости хранятся в переменной «turt» в виде списка, где по индексу [0] – сама черепашка, по индексу [1] – скорость по оси x, а по индексу [2] – скорость по оси y. И что бы мы могли изменять скорость на величину гравитации нам необходимо обращаться к скорости через наш список «turt [i][2]» изменяя значения скорости по оси Y на значение гравитации. Вот как должно получиться.
Запускаем и смотрим результат. Количество черепашек можем менять с помощью переменной «col», если большое количество черепашек тормозит, прибавьте значение функции «tracer». Поставил количество черепашек 100, запускаю.
Листинг кода лежит ТУТ.
На сегодня все.
Спасибо за внимание!
До новых встреч!