Садржај
1. Програмирање у пајтону - Увод у Pygame
15. Цртање уз помоћ петљи - обнављање
16. Завршни квиз

12.1. Употреба генератора случајних бројева

Функцијом random.randint(a, b) можемо добити насумично одабран цео број из интервала \([a, b]\) укључујући бројеве \(a\) и \(b\). Ово може бити веома корисно када је потребно да цртеж испунимо са већим бројем неправилно распоређених облика.

Насумичан реалан број интервала који задамо функцијом random.uniform(a, b) добијамо насумично одабрани реалан број из интервала \([a, b]\). Дакле, укључујући бројеве a и b.

Погледај како се круг полупречника 30 пиксела може поставити на насумичну позицију у прозору.

Хајде сада да применимо ново знање па да поставимо насумично и дужину полупречника круга.

Ноћно небо

Смркнуло се и небо је препуно звездица. Уз звездице се види и млад месец. Нацртај такав цртеж.

Покрени програм више пута, како би видео/видела другачији распоред звездица на небу.

Насумичне боје

Украсићемо собу тако што ћемо на плафон окачити 5 балона у насумично одабраним бојама. Напиши програм који исцртава овакав цртеж, при чему ћеш сваки балон цртати у облику елипсе.

Генератор случајних бројева можемо употребити и да насумично одаберемо боју. Довољно је да за сваку од црвене, зелене и плаве компоненте насумично одаберемо број између 0 и 255. Ово можемо издвојити у посебну функцију коју ћемо позвати када год нам затреба насумична боја.

Прикажимо и како да равномерно распоредимо балоне по плафону. Претпоставимо да треба да распоредимо \(n\) балона. Ширину прозора ћемо поделити на \(n\) једнаких делова. Сваки балон ћемо закачити на средину њему одговарајућег дела. Ширину једног дела можемо израчунати тако што ширину прозора поделимо са бројем делова, x координату левог краја i-тог дела (где бројање креће од 0) добијамо тако што ширину једног дела помножимо са i, док x координату средине тог дела (тачке у којој се налази врх балона) добијамо тако што на леви крај додамо још пола ширине дела. На основу те тачке лако израчунавамо горњу леву тачку правоугаоника описаног око елипсе (x координату добијамо тако што од x координате средине поља одузмемо пола ширине елипсе, док је y координата једнака нули).

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+