Здравствуйте. В прошлой статье мы рассмотрели, как создать экран, установить цвет фона, нарисовать множество звезд разных размеров и с разным количеством вершин, сделали заливку наших звезд. Все это можете посмотреть в предыдущих статьях по ссылкам:
ЧАСТЬ 1
ЧАСТЬ 2
ЧАСТЬ 3
ЧАСТЬ 4
ЧАСТЬ 5
ЧАСТЬ 6
А сегодня рассмотрим, как раскрасить наши звезды в случайные цвета. Для этого можно просто создать список с наименованиями цветов и в случайном порядке обращаться к нему с помощью функции «random.choice». Этот метод рассматривать не будем, так как он имеет ограничения на количество цветов. Цвета будут выбираться только явные указанные в списке. А для нас будет интереснее использовать более обширную палитру цветов и их оттенков.
Поэтому разберем метод (RGB) или (RED, GREEN, BLUE). Многие знают, что любой цвет можно получить с помощью смешивания трех основных цветов (Красный, Зеленый и Синий) в определенных пропорциях. Так же и в компьютерах используют такую технологию. Каждый из цветов может принимать значение от 0 до 1. И в зависимости от этих пропорций будет получаться определенный цвет.
Рассмотрим простой пример. Создадим три переменные «red», «green» и «blue». И их значения будем передавать функции «bgcolor» которая устанавливает цвет заднего фона.
Если присвоить значения всем 1, то получим белый цвет, если всем 0 то черный. Если присвоим 1 определенному цвету, а остальным 0 то получим данный цвет. Разное сочетания параметров будет давать разные результаты цветов и оттенков. При том, что значения переменной может быть в диапазоне от 0 до 1, а не явным образом 0 или 1. Давайте создадим функцию, которая будет случайным образом менять нам цвет фона экрана. Импортируем библиотеку «random». Определим функцию «color», в которой функции «random.random» будет возвращать случайное число от 0 до 1. И вызываем нашу функции в «bgcolor». Теперь при запуске программы, фон окна будет закрашиваться в случайный цвет.
Добавим эту функцию в наш код, который рисует звездное небо, и будем ее вызывать в функции рисования звезд. Задний фон оставим черного цвета, а вот наши звезды будем раскрашивать в случайный цвет. Запускаем и смотрим результат.
На сегодня все. Листинг кода лежит ТУТ.
Спасибо за внимание!