<?php
error_reporting(-1);
mb_internal_encoding("utf-8");
$phrase = "ПРИВЕТЛИЛИЧКА";
$phraseLenght = mb_strlen($phrase);
//$fromAngle = -80;
//$toAngle = 260;
$radius = 12.5;
$height = 30;
$centerX = 40;
$centerY = 15;
$screen = array();
for ($y=0; $y < $height; $y++) {
$screen[$y] = array_fill(0, 80, " ");
}
$degree = round(360/$phraseLenght);
for($i = 0, $curDegree = $degree; $i < $phraseLenght; $i++, $curDegree += $degree){
$x = floor($radius * sin(deg2rad($curDegree))) * 2;
$y = floor($radius * cos(deg2rad($curDegree)));
if ($x >= 0 and $y >= 0) {
$screen[$centerY - $y][$centerX + $x] = mb_substr($phrase, $i, 1);
} elseif ($x >= 0 and $y <= 0) {
$screen[$centerY + abs($y)][$centerX + $x] = mb_substr($phrase, $i, 1);
} elseif ($x <= 0 and $y <= 0) {
$screen[$centerY + abs($y)][$centerX - abs($x)] = mb_substr($phrase, $i, 1);
} elseif ($x <= 0 and $y >= 0) {
$screen[$centerY - $y][$centerX - abs($x)] = mb_substr($phrase, $i, 1);
}
}
foreach ($screen as $row) {
foreach ($row as $value) {
echo "$value";
}
echo "\n";
}
preferences:
29.65 ms | 402 KiB | 5 Q