Tablo Hücre Renklendirme
-

hocalar elimde şöyle bir tablo var. kodları da aşağıdaki gibi;
<?php $a=0; echo "<table border='1'>"; for($sat=0;$sat<16;$sat++) { echo "<tr>"; for($sut=0;$sut<16;$sut++) { if($sut%2==1) { $renk = sprintf("%02X",($sat*16+$sut)); echo "<td bgcolor='#".$renk.$renk.$renk."'>     </td>\n"; } else { $renk = sprintf("%02X",255-($sat*16+$sut)); echo "<td>".$renk." </td>\n"; } } echo"</tr>"; } echo"</table>"; ?>şimdi ben bu siyahtan beyaza doğru renklerin sarmal şekilde gitmesini istiyorum, nasıl yapabilirim. yani kabaca şu şekilde.

-
yok mudur çözümü?
-
Tosbağa grafik ile çözülüyor. C# için kod aşağıda:
program.cs
using System; namespace CSTurtleGraph { class Program { static void Main(string[] args) { Tosbaga tosbaga = new Tosbaga(10 , 5); tosbaga.Basla(0); Tosbaga.EYon ey = Tosbaga.EYon.ASAGI; int i = 1; while (!tosbaga.HepsiDolasildiMi()) { while (tosbaga.HareketEt(ey, i)) { ++i; tosbaga.Ciz(); } if (ey == Tosbaga.EYon.ASAGI) { ey = Tosbaga.EYon.SAG; continue; } else if (ey == Tosbaga.EYon.SAG) { ey = Tosbaga.EYon.YUKARI; continue; } else if (ey == Tosbaga.EYon.YUKARI) { ey = Tosbaga.EYon.SOL; continue; } else if (ey == Tosbaga.EYon.SOL) { ey = Tosbaga.EYon.ASAGI; continue; } } tosbaga.Ciz(); Console.WriteLine("Bitti"); Console.ReadKey(); } } }tosbaga.cs
using System; namespace CSTurtleGraph { class Tosbaga { private int x_; private int y_; private int en_; private int boy_; private int[,] matris_; public enum EYon { YUKARI, SAG, ASAGI, SOL }; public Tosbaga(int en, int boy) { matris_ = new int[boy,en]; en_ = en; boy_ = boy; x_ = 0; y_ = 0; for (int x = 0; x < en; ++x) { for (int y = 0; y < boy; ++y) { matris_[ y,x] = -1; } } } public void Basla(int deger) { matris_[0, 0] = deger; } public bool HareketEt(EYon yon, int deger) { switch (yon) { case EYon.YUKARI: if (((y_ + 1) < boy_) && (matris_[y_ + 1, x_] == -1)) { matris_[y_ + 1, x_] = deger; ++y_; return true; } return false; case EYon.SAG: if (((x_ + 1) < en_) && (matris_[y_, x_ + 1] == -1)) { matris_[y_, x_ + 1] = deger; ++x_; return true; } return false; case EYon.ASAGI: if (((y_ - 1) >= 0) && (matris_[y_ - 1, x_] == -1)) { matris_[y_ - 1,x_] = deger; --y_; return true; } return false; case EYon.SOL: if (((x_ - 1) >= 0) && (matris_[y_, x_ - 1] == -1)) { matris_[y_, x_ - 1] = deger; --x_; return true; } return false; } return false; } public bool HepsiDolasildiMi() { for (int i = 0; i < en_; i++) { for (int j = 0; j < boy_; j++) { if (matris_[j, i] == -1) { return false; } } } return true; } public void Ciz() { Console.WriteLine("----------------------------------"); for (int i = 0; i < en_; i++) { for (int j = 0; j < boy_; j++) { Console.Write(matris_[j,i].ToString("D2") + "\t"); } Console.WriteLine(); } Console.WriteLine("----------------------------------"); } } } -
hocam eline sağlık, teşekkür ederim ama sorunu php kodu ile çözmem gerekli. bu örneği derste hoca yaptı bize ve dediğim şekle dönüştürmenin de 2 dakikamızı alacağını söyledi. yani bi döngü ekleyerek ya da var olanlardan birini değiştirerek yapılıyor olsa gerek.
Toplam Hit: 991 Toplam Mesaj: 4
