Skip to content

Commit 966ddaa

Browse files
authored
Merge pull request #1684 from fffN0ISEfff/hvor_i_all_verden_del_ua
Hvor i all verden del ua
2 parents f807223 + 32367f8 commit 966ddaa

File tree

5 files changed

+267
-0
lines changed

5 files changed

+267
-0
lines changed
71.9 KB
Loading
Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
1+
---
2+
title: 'Де ж у світі? Частина 1'
3+
level: 3
4+
author: 'Geir Arne Hjelle'
5+
translator: Margo, Serhii Shumskyi
6+
language: ua
7+
---
8+
9+
10+
# Вступ {.intro}
11+
12+
Де ж у світі? — це гра про подорожі та географію, де потрібно якнайшвидше відвідати різні місця, розкидані по всій Європі.
13+
У цьому першому уроці ми розглянемо, як керувати персонажами на екрані і як змусити різних персонажів взаємодіяти між собою.
14+
У наступних уроках ми розширимо карту, над якою ми летимо, створюючи фон, що рухається.
15+
Ми також розглянемо, як створити списки, які відслідковують всі місця, які ми можемо відвідати.
16+
17+
![ілюстрація грі](hvor_i_all_verden_1-ua.png)
18+
19+
# Крок 1: Керуй гелікоптером! {.activity}
20+
21+
*Ми почнемо з того, що створимо невелику програму, яка дозволить керувати вертольотом за допомогою клавіш зі стрілками.*
22+
23+
## Котрольний список {.check}
24+
25+
- [ ] Розпочни новий проект у Scratch. Видали спрайт кота, наприклад, клацнувши на нього правою кнопкою миші і вибравши `Видалити`.
26+
27+
- [ ] Спочатку ми завантажимо вертоліт з інтернету. Відкрий посилання [helikopter.png](../bilder/fra-scratch-v2/helikopter.png)
28+
у новій вкладці вашого браузера. Це відкриє зображення вертольота.
29+
Клацни на зображення правою кнопкою миші і вибери "Зберегти зображення як" та збережи зображення.
30+
Вибери `Завантажити спрайт з файлу` під спрайтом майже в самому лівому куті екрана.
31+
32+
- [ ] Вибеіть ![Last opp figur fra fil](scratch3-last-opp-figur-ua.png) під `Фігури` в крайній лівій частині екрана.
33+
Вибери файл helikopter.png, який ти щойно завантажив.
34+
35+
- [ ] Натисни `i`{.blockmotion} та зміни назву спрайта на `Helikopter`.
36+
37+
- [ ] Клацни на сцену ліворуч від спрайтів і створи наступний скрипт:
38+
39+
```blocks
40+
коли @greenFlag натиснуто
41+
оповістити [Нова гра v]
42+
```
43+
44+
Ми детальніше обговоримо, чому це робимо, пізніше. Коротко кажучи, це дає нам більше гнучкості щодо того, як ми запускаємо та завершуємо гру.
45+
46+
- [ ] Натисни на вертоліт ще раз. Потім натисни `Дані`{.blockdata} і створи змінну `швидкість`{.blockdata}, яка буде застосовуватися лише до цього спрайту.
47+
48+
- [ ] Далі створимо кілька блоків, у яких задаємо властивості вертольота, які не змінюються під час гри, наприклад, розмір і швидкість.
49+
50+
```blocks
51+
коли @greenFlag натиснуто
52+
сховати
53+
стиль обертання [зліва-направо v]
54+
встановити розмір у (30)
55+
надати [швидкість v] значення [5]
56+
```
57+
58+
Експериментуй з іншими значеннями для цих блоків, щоб знайти найкращі параметри для своєї гри!
59+
60+
- [ ] Тепер ми створимо одну з найважливіших частин гри, а саме те, як вертоліт буде рухатися. Це ми вкладемо в цикл, який завжди виконується.
61+
62+
```blocks
63+
коли я отримую [Нова гра v]
64+
перемістити в x: (0) y: (0)
65+
показати
66+
завжди
67+
якщо <клавішу [стрілка вправо v] натиснуто?> то
68+
поверути в напрямку (90 v)
69+
перемістити на (швидкість) кроків
70+
кінець
71+
якщо <клавішу [стрілка ліворуч v] натиснуто?> то
72+
повернути в напрямку (-90 v)
73+
перемістити на (швидкість) кроків
74+
кінець
75+
кінець
76+
```
77+
78+
## Тестування проєкту {.flag}
79+
80+
__Натисни на зелений прапорець.__
81+
82+
- [ ] Чи можеш ти керувати вертольотом за допомогою стрілок? Ми запрограмували лише `стрілку вправо` і `стрілку вліво`. Спробуй додати код для `стрілки вгору` та `стрілки вниз`.
83+
84+
- [ ] Що робить блок `стиль обертання - зліва-направо`{.blockmotion}? Спробуй змінити значення в випадаючому меню, щоб побачити різницю.
85+
86+
87+
88+
# Крок 2: Просте тло {.activity}
89+
90+
*Додамо карту як фон. Пізніше ми навчимося робити так, щоб фон рухався разом із грою.*
91+
92+
## Контрольний список {.check}
93+
94+
- [ ] Завантаж карту з інтернету. Відкрий [europakart.png](europakart.png) у новій вкладці. Клацни правою кнопкою миші на зображенні та вибери `Зберегти зображення як`. Збережи його у зручному місці.
95+
96+
- [ ] Вибери ![Завантажити фон з файлу](scratch3-last-opp-bakgrunn-ua.png) у меню `Новий фон`. Завантаж `europakart.png`.
97+
98+
## Тестування проєкту {.flag}
99+
100+
__Натисни на зелений прапорець.__
101+
102+
- [ ] Чи виглядає так, ніби вертоліт літає над Європою? Спробуй змінити його параметри, як-от розмір і швидкість.
103+
104+
105+
# Крок 3: Додай пункт призначення {.activity}
106+
107+
*Додамо точку, куди має прилетіти вертоліт.*
108+
109+
## Контрольний список {.check}
110+
111+
- [ ] Намалюй маленький спрайт, який позначатиме місце призначення на карті. Вибери ![Намалювати новий спрайт](../bilder/tegn-ny.png) у меню `Спрайти`.
112+
113+
- [ ] Вибери яскравий колір, наприклад, червоний. Обери інструмент `Коло` та вибери залите коло (еліпс) (зліва під вікном малювання).
114+
115+
- [ ] Перед малюванням збільш масштаб до 800%. Утримуй `Shift` і намалюй коло діаметром приблизно чотири клітини.
116+
117+
![Зображення червоного круга](sirkel.png)
118+
119+
- [ ] Назви новий спрайт `Місце`.
120+
121+
- [ ] Перемісти `Місце` у будь-яку точку на карті. Ми вибрали `Барселону`, але ти можеш обрати інше місто.
122+
123+
- [ ] Дізнайся координати `Місце` у властивостях спрайта. Наприклад, x: -98, y: -120.
124+
Тепер нам потрібна позиція нашого спрайта "Місце". Найпростіше це зробити, подивившись на інформацію про спрайт після чисел,
125+
що стоять біля x і y. Ці числа називаються координатами. У прикладі нижче координати x: -84 і y: -112.
126+
Координати вказують, де на карті ми розмістили пункт призначення.
127+
128+
![Координати Scratch](reisemaal-ua.png)
129+
130+
- [ ] Додай код, щоб спрайт залишався на місці та визначав, коли вертоліт його торкається.
131+
132+
```blocks
133+
коли я отримую [Нова гра v]
134+
оповістити [Нове місце v]
135+
136+
коли я отримую [Нове місце v]
137+
перемістити в x: (-98) y: (-120)
138+
чекати поки <торкається [Вертоліт v]?>
139+
говорити [Знайдено Барселону!] (2) секунд
140+
```
141+
142+
## Тестування проєкту {.flag}
143+
144+
__Натисни на зелений прапорець.__
145+
146+
- [ ] Чи знаходиться червоне коло в правильному місці?
147+
148+
- [ ] Що станеться, якщо ти підлетиш до червоного кола?
149+
150+
151+
# Крок 4: Приховай місце призначення {.activity}
152+
153+
*Наразі це дуже проста гра, оскільки гравцю потрібно просто долетіти до червоного кола.
154+
Щоб зробити гру трохи складнішою, ми приховаємо коло і будемо лише повідомляти гравцю, до якого міста йому потрібно летіти!*
155+
156+
## Контрольний список {.check}
157+
158+
- [ ] Створи змінну `Лети до`{.blockdata}, зроби цю змінну доступною для всіх спрайтів.
159+
160+
- [ ] Зверніть увагу, що на карті з’явилося вікно з написом "Лети до: 0". Перемістіть це вікно в зручне місце, щоб його було легко читати.
161+
162+
- [ ] Онови код спрайта `Місце`, щоб він встановлював `Лети до`{.blockdata} як `Барселона`.
163+
Оновіть скрипт для `Місце` так, щоб змінна `Лети до`{.blockdata} була встановлена на `Барселона` одразу після блоку "Лети до".
164+
165+
Тепер ми приховаємо червоне коло. Спробуємо спершу найпростіший і очевидний спосіб:
166+
167+
- [ ] Додай блок `сховати`{.blocklooks} після `коли я отримую Нова гра`{.blockevents}.
168+
169+
## Тестування проєкту {.flag}
170+
171+
__Натисни на зелений прапорець.__
172+
173+
- [ ] Чи зникло червоне коло?
174+
175+
- [ ] Чи гра розпізнає, що ти прибув у Барселону?
176+
177+
Хмм... Гра більше не виявляє, що ми летимо до Барселони.
178+
Проблема в тому, що коли ми ховаємо коло, воно більше не торкається вертольота.
179+
Нам потрібно знайти інший спосіб зробити коло невидимим!
180+
181+
## Контрольний список {.check}
182+
183+
- [ ] Замість `сховати`{.blocklooks}, використаємо `змінити ефект`{.blocklooks}:
184+
185+
```blocks
186+
коли я отримую [Нова гра v]
187+
показати
188+
встановити [прозорість v] ефект в (100)
189+
оповістити [Нове місце v]
190+
```
191+
192+
## Тестування проєкту {.flag}
193+
__Натисни на зелений прапорець.__
194+
195+
- [ ] Чи зникло червоне коло?
196+
197+
- [ ] Чи гра розпізнає, що ти прибув у Барселону?
198+
199+
# Крок 5: Показати місце після знаходження {.activity}
200+
201+
*Давай створимо невелику анімацію, коли гравець летить до Барселони.
202+
Було б цікаво, якби місце призначення з’являлося після знаходження!*
203+
204+
## Контрольний список {.check}
205+
206+
- [ ] Спочатку потрібно показати червоне коло знову. Це робимо, встановивши прозорість до 0 після того, як коло торкнеться вертольота.
207+
208+
- [ ] Анімацію можна створити за допомогою наступного коду:
209+
210+
```blocks
211+
повторити (5)
212+
повторити (10)
213+
змінити розмір на (10)
214+
кінець
215+
повторити (10)
216+
змінити розмір на (-10)
217+
кінець
218+
кінець
219+
```
220+
Де потрібно розмістити цей код, щоб побачити анімацію?
221+
222+
## Тестування проєкту {.flag}
223+
224+
__Натисни на зелений прапорець.__
225+
226+
- [ ] Чи з'являється червоне коло після того, як ви долетіли до Барселони?
227+
228+
- [ ] Чи анімується коло після того, як його знайдено?
229+
230+
- [ ] Що відбувається з текстом `Знайшли Барселону!`?
231+
232+
## Контрольний список {.check}
233+
Можливо, краще виглядатиме, якщо коло казатиме `Знайшли Барселону!` одночасно з анімацією?
234+
Для цього потрібно використати блок `говорити`{.blocklooks}, а не `говорити 2 секунди`{.blocklooks},
235+
оскільки останній блокує виконання всього скрипта на 2 секунди.
236+
237+
- [ ] Додай блок
238+
239+
```blocks
240+
говорити [Знайшли Барселону!]
241+
```
242+
243+
одразу перед змінною `повторити`{.blockcontrol}.
244+
245+
- [ ] Щоб коло припинило говорити `Знайшли Барселону!` після завершення анімації, додай блок
246+
247+
```blocks
248+
говорити [ ]
249+
```
250+
в кінці вашого скрипта.
251+
252+
# Наступного разу {.activity}
253+
254+
Ми вже розпочали зі створення простої версії нашої гри. Наступного разу ми розглянемо,
255+
як можна зробити більшу карту, змусивши фон рухатися.
256+
Також ми ускладнимо гру, додавши більше пунктів призначення.
257+
258+
## Спробуйте самостійно {.challenge}
259+
260+
- [ ] Подумайте, як можна додати більше пунктів призначення! Спробуй створити код для цього!
261+
262+
- [ ] Щоб зробити гру трохи цікавішою, ми можемо відстежувати, скільки часу потрібно гравцеві,
263+
щоб долетіти до пункту призначення. Подивись, чи зможеш ти створити скрипт для цього!
264+
Підказка: ви можете створити нову змінну, наприклад, `Час`{.blockdata}, і скрипт, який працює в циклі,
265+
змінюючи `Час`{.blockdata} на 1, а потім чекаючи 1 секунду
266+
267+
26.7 KB
Loading
11.3 KB
Loading
7.02 KB
Loading

0 commit comments

Comments
 (0)