Choinka z kolorowymi bombkami

Kolory w konsoli - PHP: podstawy w przeglądarce (PHP)

Choinka z kolorowymi bombkami: każdy rząd to spacje i coraz więcej gwiazdek (1, 3, 5, ...). Część gwiazdek zamieniamy na bombki w innych kolorach, a pień jest żółty. Każdy znak dostaje swój kolor i reset, więc kolory się nie mieszają. Pomysł pochodzi z artykułu autora o choince w Pythonie (brylka.net).

<?php
const HEIGHT = 8;
const GREEN = "\e[32m";
const YELLOW = "\e[33m";
const RESET = "\e[0m";
$baubleColors = ["\e[31m", "\e[34m", "\e[35m", "\e[36m", "\e[93m"];
$baubles = ["o", "@", "$"];

// ziarno losowania: ta sama liczba = ta sama choinka; zmień je, a bombki się przestawią
mt_srand(2026);

for ($row = 0; $row < HEIGHT; $row++) {
  $line = str_repeat(" ", HEIGHT - $row - 1);
  for ($i = 0; $i < 2 * $row + 1; $i++) {
    if (rand(1, 100) <= 15) {
      $line .= $baubleColors[array_rand($baubleColors)] . $baubles[array_rand($baubles)] . RESET;
    } else {
      $line .= GREEN . "*" . RESET;
    }
  }
  echo $line . "\n";
}

for ($i = 0; $i < 2; $i++) {
  echo str_repeat(" ", HEIGHT - 2) . YELLOW . "###" . RESET . "\n";
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu PHP: podstawy w przeglądarce·Zaloguj się, aby zapisać postęp na koncie.