Akademik Ağaç Eğlencesi / Syntax Highlight denemesi
PHP ile ASCII yılbaşı ağacı.. Aslında sırf code pluginimi test etmek için koydum, kimsenin ilgileneceğini de sanmam. Adı nereden geldi böyle diye merak eden olursa, Korayla birlikte, profesörlerin “hadi 3 for kullanarak üçgen çizin” direktiflerine maruz kalan formasyon mağdurlarına yazdık. Eğlencelik dedik, çünkü onlarınki kesinlikle sıkıcı. Ayrıca çok da öğretici bulduk, ağacın sapının boyunun ne kadar olması gerektiğini denerken, dal boyunun kosinüsüne denk gelişini gördüğümüzde inanın biz de çok şaşırdık. Ne demişler matematik doğada. : - )
< ?php
/* Akademik Eglence Agaci
* Kullanım: ucgenCiz (int $kackat, bool $sapiolsun, bool $yanardonerliolsun)
* Description:
* Yilbasi agacli basamak sayisindan ucgen yaratan hede
* Yazarken pek eglendik.
*
* @author: koray, gokce
*
*/
function ucgenCiz ($basamak,$sapiniciz=false,$yilbasi=false) {
$n = $basamak*2-1;//tabani bul.
$s = "<pre>\n";
$yildiz = 1;
for($i=1;$i<($basamak+1);$i++) {
$bosluk = (($n-$yildiz)/2);
$satir = str_repeat(" ",$bosluk);
$satir .= str_repeat("*",$yildiz);
if ((time()/86400)==0) //saniye saniyesine yilbasinda calisirsa..
$yilbasi = true;
$satir .= str_repeat(" ",$bosluk); //*simetri hastaligi*
if ($yilbasi) {
$satir = "<span style=\"color: rgb(".rand(1,100)."%,".rand(1,100)."%,".rand(1,100)."%)\">$satir</span>";
}
$satir .= "\n\r";
$yildiz += 2;
$s .= $satir;
}
//tek forla bitirdik, bu da sapı, hocaya anlatırsın.
if ($sapiniciz) {
$sap = ceil($yildiz/5); //bir agacin sapinin eni, dal genisliginin 5'te birine tekabül eder.
$bosluk = ($n-$sap)/2;
$boy = cos($basamak)*100; //bir agacin sapinin boyu, dal boyunun cosinusüne denktir.
for ($i=0;$i<$boy;$i++) {
$satir = str_repeat(" ",$bosluk);
$satir .= str_repeat("#",$sap);
if ($yilbasi) $satir = "<font color=brown>$satir</font>";
$s .= $satir."\n\r";
}
}
$s .= "</pre>";
return $s;
}
?>
