Курси програмування для дітей безкоштовно

07. Новорічна гра у стилі Ruby

Новорічна гра у стилі Ruby

Новорічна гра у стилі Ruby — це веселий спосіб показати, що програмування може бути святковим, творчим і зовсім не нудним. Сьогодні ми створимо святкові листівки, казкові картинки та магічні ефекти прямо в консолі, використовуючи базові можливості Ruby. Трішки фантазії — і звичайний код перетвориться на сніжинки, подарунки, ялинки та справжній новорічний настрій! 🎄✨

Правила гри:

  1. Це творчі завдання, тому немає неправильного виконання. Зробіть так, як хочете. Якщо у вас є краща ідея – втільте її у життя.
  2. Обирайте завдання на свій смак. Не обов’язково робити всі
  3. Ми не будемо оцінювати, але глянемо разом результат в кінці заняття.
  4. Сайт зі смайликами тут.

Практика. Новорічна гра у стилі Ruby

мем про відключення світла дтек

В деяких завданнях ви зустрінете цикли. Але не хвилюйтесь, вони вже написані за вас. Головне, що варто про них знати: цикли допомагають повторювати щось багато разів.

1: Допоможіть ДТЕК зробити більш правильний графік відключення світла, щоб він виглядав оптимістичніше.

puts  "💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡"
puts  "💡💡💡Графік відключень від ДТЕК 💡💡💡"
puts  "💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡"
puts  "💡 - світло є"
puts  "⬛️- світла немає"
myHouse=["⬛️", "⬛️","⬛️","⬛️","💡"]
neighbor=["⬛️", "💡","💡","💡","💡"]
for i in 1..12
    m=myHouse.sample()
    n=neighbor.sample()
    puts "Час : #{i}:00. Мій дім: #{m}  Дім навпроти: #{n} "
end    
мем про відключення світла дтек
мем про відключення світла дтек
мем про відключення світла дтек
мем про відключення світла дтек
Новорічна гра у стилі Ruby

2: Це мексиканська ялинка, висотою 12 метрів. Переробіть скрипт так, щоб він виводив українську ялинку висотою 18 метрів.

n=12
for i in 1..n
puts (” “*(n-i)+”🌵”*i)
end
puts (” “*(n/2+1)+”🦂🦂🦂🦂”)
puts (” “*(n/2+1)+”🦂🦂🦂🦂”)

Новорічна гра у стилі Ruby

3: Ця програма обере всім вам випадковий костюм на Новий Рік. Допишіть її таким чином, щоб програма обирала костюми не тільки дівчатам, а ще й хлопцям. (Використайте списки саме вашої групи!!)
Допишіть ще 1-2 варіанти костюмів для хлопців чи дівчат.

# groupGirls=["Таня",  "Діана",]
# groupBoys=["Даня", "Женя", "Міша Л.", "Віталік", "Льоша", "Еміль","Міша П.","Ваня", "Ярік", "Діма","Рома"]  

groupGirls=["Вероніка", "Даша", "Варя", "Настя"]
groupBoys=["Кирил","Діма","Міша К","Сева","Захар","Влад","Микита","Саша","Міша Д"]      
adjGirls=["Зіркова","Чарівна","Білосніжна","Запальна","Кольорова"]
adjBoys=["Приязний","Чудернацький","Веселий","Сором'язливий","Невгамовний","Гуманний",
    "Казковий", "Хоробрий","Кмітливий","Всемогутній","Навіжений", "Несамовитий", "Горделивий"]  
costumeGirls=["Фея","Сніжинка","Мандаринка","Вітамінка","Харлі Квін"]  
costumeBoys=["Чебурек","Пінгвін","Панда","Маленький Йода","Кіт Степан","Їжачок","Кактус",
    "Мачо","Єдиноріг","Моряк","Пес Патрон","Хірург","Огірок","Сніговик","Кентавр","Покемон"]
with=["з мармеладкою","у віночку", "на мопеді","на підборах","з качкою",
        "з кавуном","з зеленим волоссям","з золотими зубами","у тракторі",
        "на коні","з відром","на вєліку",
        "в ластах","у зелених шльопках","в навушниках","на роликах"]    
groupGirls.shuffle! #перетасувати список і записати в ту ж змінну
adjGirls.shuffle!
costumeGirls.shuffle!
with.shuffle!
for i in 0..groupGirls.length-1
    puts "#{groupGirls[i]} - костюм: #{adjGirls[i]} #{costumeGirls[i]} #{with[i]}"  
end  

4: Напишіть або намалюйте смайлами листівку для іншої команди з привітанням зі святами.

5: Створіть список фільмів та мультиків, які варто переглянути на зимових канікулах. Виведіть список на екран

6: Створіть програму, яка обирає випадкове побажання і виводить його на екран. Додайте у список кілька власних побажань за допомогою команд списків

wishes = [
  "Бажаю тобі магічного 2025 року! ✨",
  "Нехай здійсняться всі мрії у новому році! 🎆",
  "Тепла, радості та яскравих моментів! 🎄",
  "Нехай удача супроводжує тебе щодня! ⭐",
  "Щасливого, сяйливого та казкового року! ❄️"
]

7: Ця програма виводила гарний снігопад. Але ельфи її зламали. Переставте рядки таким чином, щоб програма знову працювала

end
  sleep(0.1)
puts "З Новим Роком! 🎆✨"
  puts " " * rand(40) + "❄️"
10.times do


# Підказка:
# Повторити 10 разів
#   вивести кілька пробілів(від 1 до 40) і потім сніжинку
#   нічого неробити 0.1 секунди
# закінчити повтори
# вивести привітання
Новорічна гра у стилі Ruby

8: Ось список подарунків в мішку у Санти. Додайте ще кілька подарунків за допомогою функцій списків. І додайте також “вугілля” – це буде подарунок неслухняним дітям. Випадковим чином оберіть зі списку подарунок собі та ще одній людині на ваш вибір.
(a.push(“🌞”) # додає в кінець a.unshift(“🏓”) # додає на початок)

gifts = ["новий ноутбук 💻", "смачне какао ☕", "плюшевий ведмедик 🧸", "ігрова миша 🎮", "щасливий день ✨"]

9: Перепишіть програму випадкової ялинки на свій смак: Можете змінити або розширити список смайликів або вигляд ялинки

decor = ["✨", "⭐", "🎀", "🎈"]

puts "Твоя рандомна ялинка:"
puts "   #{decor.sample}"
puts "  #{decor.sample}🌲#{decor.sample}"
puts " #{decor.sample}🌲🌲🌲#{decor.sample}"
puts "  #{decor.sample}🌲#{decor.sample}"
puts "   🎁"
Новорічна гра у стилі Ruby

10: Ця програма новорічної гірлянди. Додайте ще різні елементи до гірлянди за допомогою функцій списків
(a.push(“🌞”) # додає в кінець a.unshift(“🏓”) # додає на початок)

lights = ["🔴","🟡"]
length = 40   # довжина гірлянди
frames = 30   # скільки раз показати анімацію

frames.times do
  system("clear") || system("cls")  # очистка екрана
  garland = (0...length).map { lights.sample }.join
  puts garland
  sleep 0.2
end

❄️ Завдання з зірочкою ❄️

1*: Попросіть людину обрати рівень побажань:
“Обери рівень побажань: (1) легкі, (2) потужні, (3) епічні” залежно від вибору виведіть на екран відповідне побажання. Наприклад (побажання можете змінити):
легке: “Нехай твій рік буде спокійним і затишним ❄️”
потужне: “Бажаю океан удачі та везіння! 🎆”
епічне: “Лови мегазаклинання успіху +1000 XP! 🧙‍♀️✨”
якщо обрали щось інше: “Ти обрав секретний рівень — бажаю всього й одразу! 🎁🌟”

2*: Створіть список з 3-4 людей з нашої групи. Створіть інший список з передбаченнями (можете використати приклад). Для кожної людини з першого списку виведіть випадкове передбачення

predictions = [
  "Цього року ти вивчиш нову суперсилу! 💫",
  "Тебе чекає неймовірна пригода! 🌍",
  "У тебе з'явиться новий крутий друг 🧡",
  "Ти станеш сильнішою та сміливішою! 🦸‍♀️",
  "2025 подарує тобі великий успіх! 🚀"
]

3*: Створіть новорічну листівку. Юзер вводить з клавіатури :
– для кого буде листівка (наприклад: для хлопця, дівчинки, для батьків)
– смайлик
– число
Програма має видати привітання для того, кого обрав юзер. Також програма має намалювати ялинку смайлами(див. приклад у завданні 2), програма має використати розмір і смайлик, які ввів користувач.

Для кого буде листівка? >  для батьків
Введіть смайлик для ялинки: > 🌲
Введіть число (розмір ялинки): > 4

🎉🌲 З НОВИМ РОКОМ! 🌲🎉
Дорогі батьки ❤️
Дякую вам за тепло, підтримку та любов. Нехай у новому році в домі буде затишок,
здоров’я та мир 🌟

   🌲
  🌲🌲
 🌲🌲🌲
🌲🌲🌲🌲
  🎁🎁
  🎁🎁

4*: Допишіть гру “Впіймай сніжинку”

# ❄️ Гра "Впіймай сніжинку"

positions = список з 5 чисел
snow_pos = випадковий елемент зі списку

puts "Сніжинка падає! Обери позицію (1–5):"
puts "   ❄️ падає десь тут..."
print "Куди ставиш руку? → "
guess = зчитати з клавіатури число, яке ввели

якшо число_яке_ввели==snow_pos 
  puts "Ти піймала сніжинку! ❄️😎"
інакше
  puts "Не встигла! Сніжинка була в позиції #{snow_pos} ❄️"
кінець
Новорічна гра у стилі Ruby

5*: І знову ельф зламав нам програму і перемішав всі рядки. Переставте рядки таким чином, щоб програма виводила кількість днів до Нового року ⏳

Новорічна гра у стилі Ruby
days_left = (new_year - today).to_i
new_year = Date.new(today.year + 1, 1, 1)
puts "До Нового Року залишилось: #{days_left} днів! 🎉"
today = Date.today
require 'date'

6*: Цей дивний список називається словник (будемо його вчити в наступному семестрі): він містить ялинкову іграшку і передбачення до неї. Допишіть список, додавши ще більше іграшок і пояснення. Програма обирає випадкову іграшку і виводить передбачення.
Додайте у програму список з кількох своїх вчителів. Виведіть іграшку і передбачення на Новий Рік для кожного вчителя

Новорічна гра у стилі Ruby
# 🎄 Ворожіння по ялинковій іграшці

toys = {
  "⭐" => "Успіх на горизонті!",
  "❤️" => "Кохання поруч ❤️"
}

toy = toys.keys.sample

puts "Тобі випала іграшка: #{toy}"
puts "Пророцтво: #{toys[toy]}"

7*: Створіть ASCII-мистецтво (ASCII-art): намалюйте малюнок за допомогою спецсимволів (в прикладі ялинка). Виведіть на екран. Потім перемішайте список art і виведіть на екран знову.

# Малюнок ялинки (ASCII-art)
art = [
  "        *",
  "       ***",
  "      *****",
  "     *******",
  "    *********",
  "       |||",
  "       |||"
]

# Показуємо ялинку
art.each { |line| puts line }
Уроки програмування для дітей. Домашня робота

Домашня робота

1: Якщо ви були на занятті – просто скиньте класну роботу і Санта зарахує вам дз. Якщо вас не було, зробіть 2 завдання на вибір

Уроки програмування для дітей ускладнені завдання level up

Level Up!
Новорічна гра у стилі Ruby

1: Якщо ви були на занятті та робили завдання з зірочкою, то просто додайте їх і Санта зарахує LU. Якщо ні, зробіть 2 завдання з зірочкою на ваш вибір

Календар програміста:

Не зупиняйтесь у вивченні Ruby! До зустрічі на наступних уроках!

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *