Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions uk-UA/code/rocket-launch-solution/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Імпортуй код бібліотеки
from p5 import *
from random import randint

# Встанови глобальні змінні
screen_size = 400
rocket_position = screen_size


# Тут буде функція draw_rocket
def draw_rocket():
global rocket_position
rocket_position = rocket_position - 1
image(rocket, width / 2, rocket_position, 64, 64)
fill(200, 200, 200, 100)
no_stroke()
for i in range(20):
circle_size = randint(5, 10)
ellipse(
screen_size / 2 + randint(-5, 5),
rocket_position + randint(20, 50),
circle_size,
circle_size,
)


# Тут буде функція draw_background
def draw_background():
background(0, 0, 0)
image(planet, screen_size / 2, screen_size, 300, 300)


def setup():
# Тут налаштуй анімацію
size(screen_size, screen_size)
image_mode(CENTER)
global planet, rocket
planet = load_image("purple_planet.png")
rocket = load_image("rocket.png")


def draw():
# Що відбувається на кожному кадрі
draw_background()
draw_rocket()


run()
Binary file added uk-UA/code/rocket-launch-solution/moon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-solution/planet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions uk-UA/code/rocket-launch-solution/project_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: 'Ракета летить у космос — приклад'
identifier: 'rocket-launch-example'
type: 'python'
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-solution/rocket.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions uk-UA/code/rocket-launch-starter/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Імпортуй код бібліотеки
from p5 import *
from random import randint

# Встанови глобальні змінні
screen_size = 400

# Тут буде функція draw_rocket



# Тут буде функція draw_background



def setup():
# Тут налаштуй анімацію
size(screen_size, screen_size)
image_mode(CENTER)
global planet
planet = load_image('planet.png')


def draw():
# Що відбувається на кожному кадрі




run()



Binary file added uk-UA/code/rocket-launch-starter/moon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-starter/planet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions uk-UA/code/rocket-launch-starter/project_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: "Ракета летить у космос"
identifier: 'rocket-launch-starter'
type: 'python'
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-starter/rocket.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
89 changes: 89 additions & 0 deletions uk-UA/code/rocket-launch-upgrade/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#!/bin/python3

# Імпортуй код бібліотеки
from p5 import *
from random import randint

# Встанови глобальні змінні
screen_size = 400
rocket_y = screen_size # Початок знизу
burn = 100 # Скільки палива спалюється у кожному кадрі
orbit_radius = 250
orbit_y = screen_size - orbit_radius
high_orbit_radius = 350
high_orbit_y = screen_size - high_orbit_radius
speed = 1 # Відстань, яку ракета пролітає за кожен кадр

# Тут буде функція draw_rocket


def draw_rocket():
global rocket_y, fuel, burn

if fuel >= burn and rocket_y > high_orbit_y: # Досі летить
rocket_y -= speed # Ракета рухається
fuel -= burn # Спалюється паливо
print('Залишилось палива: ', fuel)

no_stroke() # Вимкнути дим

for i in range(25): # Намалюй 25 еліпсів для вихлопних газів
fill(255, 255 - i*10, 0) # жовтий
# i збільшується з кожним повторенням циклу
ellipse(width/2, rocket_y + i, 8, 3)

fill(200, 200, 200, 100) # прозорий сірий

for i in range(20): # Намалюй 20 випадкових еліпсів для диму
ellipse(width/2 + randint(-5, 5), rocket_y +
randint(20, 50), randint(5, 10), randint(5, 10))

if fuel < burn and rocket_y > high_orbit_y: # Паливо закінчилось, не на орбіті
tint(255, 0, 0) # Невдача
elif rocket_y <= orbit_y and rocket_y > high_orbit_y:
tint(0, 255, 0) # Успіх
elif fuel < 1000 and rocket_y <= high_orbit_y:
tint(0, 100, 200) # Успіх на дальній орбіті
elif fuel >= 1000 and rocket_y <= high_orbit_y:
tint(255, 200, 0) # Забагато палива

image(rocket, width/2, rocket_y, 64, 64)
no_tint()


# Тут буде функція draw_background
def draw_background():
background(0) # Короткий запис замість background(0, 0, 0) — чорний
image(planet, width/2, height, 300, 300) # намалюй зображення

# Намалюй ближню орбіту
no_fill() # Вимкни заповнення
stroke(255) # Встанови білий колір лінії
stroke_weight(2)
ellipse(width/2, height, orbit_radius*2, orbit_radius*2)

# Намалюй дальню орбіту
stroke(0, 100, 200) # Встанови блакитний колір лінії
stroke_weight(2)
ellipse(width/2, height, high_orbit_radius*2, high_orbit_radius*2)


def setup():
# Тут налаштуй анімацію
size(screen_size, screen_size)
image_mode(CENTER)
global planet, rocket
planet = load_image('orange_planet.png') # Вибрана планета
rocket = load_image('rocket.png')


def draw():
# Що відбувається на кожному кадрі
draw_background()
draw_rocket()


fuel = int(input('Скільки кілограмів пального ти хочеш використати?'))
burn = int(input('Скільки палива має спалювати ракета на кожному кадрі?'))
speed = int(input('Яку відстань має проходити ракета за кожен кадр?'))
run()
Binary file added uk-UA/code/rocket-launch-upgrade/moon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-upgrade/planet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions uk-UA/code/rocket-launch-upgrade/project_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: 'Ракета летить у космос — удосконалений проєкт'
identifier: 'rocket-launch-upgrade'
type: 'python'
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added uk-UA/code/rocket-launch-upgrade/rocket.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added uk-UA/images/.keep
Empty file.
Binary file modified uk-UA/images/burn_empty.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified uk-UA/images/burn_question.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified uk-UA/images/burn_question_full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed uk-UA/images/dorothy_vaughan.jpeg
Binary file not shown.
Binary file added uk-UA/images/image_gallery.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added uk-UA/images/rocket_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed uk-UA/images/trinket_image.png
Binary file not shown.
Binary file removed uk-UA/images/trinket_image_library.png
Binary file not shown.
Binary file removed uk-UA/images/trinket_rocket_image.png
Binary file not shown.
19 changes: 10 additions & 9 deletions uk-UA/meta.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
title: Запуск ракети
title: Ракета летить у космос
hero_image: images/banner.png
description: Створи анімацію польоту ракети, яка виводить супутник на орбіту
meta_title: Проєкти з кодування для дітей і підлітків | Ракета летить у космос
meta_description: Вивчай Python за допомогою проєктів з програмування Raspberry Pi Foundation для дітей і підлітків. Зроби анімацію, на якій ракета виводить супутник на орбіту.
version: 0.0.1
listed: true
copyedit: true
last_tested: "2021-10-06"
last_tested: "2024-10-21"
steps:
- title: Ти зробиш
- title: Створення фону
- title: Зліт!
- title: Що ти зробиш
- title: Намалюй фон
completion:
- engaged
- title: Зліт!
- title: Ефекти вихлопних газів
- title: Спалювання палива
- title: Вихід на орбіту
completion:
- internal
- title: Швидкий тест
Expand All @@ -25,5 +25,6 @@ steps:
passing_score: 3
completion:
- external
- title: Вдосконалення твого проєкту
- title: Що далі?
- title: Додаткове завдання
challenge: true
- title: Що робити далі?
82 changes: 6 additions & 76 deletions uk-UA/python-comments.txt
Original file line number Diff line number Diff line change
@@ -1,85 +1,15 @@
Імпорт коду бібліотеки

Налаштування глобальних змінних

Функція draw_rocket викликається тут

Функція draw_background викликається тут

Налаштувати анімацію можна тут
Тут буде функція draw_background

Що відбувається на кожному кадрі

Визначення для сумісності з бібліотекою p5py

Фігура

Шрифти

Текст

Колір

Зображення

Довкілля
Тут налаштуй анімацію

Перетворення
Встанови глобальні змінні

Клавіатура

Твоя обрана планета

Скорочено від background(0, 0, 0) - чорний

Малювання зображення

Старт знизу

Використання глобальної змінної rocket_y

Переміщення ракети

Видалення обведення

Малювання 25 овалів вихлопу

Жовтий

i збільшується з кожним повторенням циклу

Зменшити кількість зеленого кольору

Прозоро-сірий

Малювання 20 випадкових овалів диму

Скільки палива спалюється на кожному кадрі

Спалювання палива

Паливо ще є

Вимкнення будь-якої заливки

Встановлення білого обведення

Продовжує летіти

Палива більше немає та орбіти не досягнуто

Провал

Тобто на наступному кадрі планета не буде червоною!

Успіх

Занадто багато пального

Щоб на наступному кадрі планета не була підфарбована!
Тут буде функція draw_rocket

Зелений

Янтар
Жовтий

Червоний
Червоний
30 changes: 7 additions & 23 deletions uk-UA/python-translatable.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,17 @@
screen_size

rocket_y

burn

orbit_radius

orbit_y

draw_rocket

fuel

Пального залишилось:

rocket

draw_background

planet

Скільки кілограмів пального ти хочеш використати?
screen_size

rocket

Скільки палива повинна спалювати ракета на кожному кадрі?
rocket_position

Яку відстань повинна пролетіти ракета на кожному кадрі?
draw_rocket

Зациклення
circle_size

points

життя
життя
Loading
Loading