Anasayfa | Giriş Yapın | Üye Olun | Gökçe Kim? | İletişim
Gökçe’nin Web Güncesi (gwg)

Gökçe’nin Web Güncesi (gwg)

If you want to hide ‘things’, The Web is not the place.

Gökçe’nin Web Güncesi (gwg) RSS Feed
 
 

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;
}
?>

Bir cevap bırakın