Bunu bir PHP mücadelesinde gördüm. Amaç, minimum miktarda kodla 64 kareye (8 * 8) sahip bir satranç tahtası yapmaktır. Yeterince basit, benimki PHP'yi 356 baytta yaptım (etkileyici değil, biliyorum) ve başka bazı yaklaşımları görmek istiyorum. Bu, vanilya sakladığınız sürece herhangi bir dilde yapılabilir, bu nedenle ithalat yapılmaz. En küçük bayt sayısı kazanır.
Çıktı şöyle görünmelidir:
Ve benim kodum:
<table><?php
$c='black';function p($c,$n){echo'<td style="width:50px;height:50px;background:'.$c.'"></td>';if($n==1){echo"<tr>";}}for($i=1;$i<=64;$i++){if($i%8==0&&$c=="black"){$c="white";$n=1;}elseif($i%8==0&&$c=="white"){$c="black";$n=1;}elseif(isset($n)&&$n==1){$n=0;}elseif($c=="black"){$n=0;$c="white";}elseif($c=="white"){$n=0;$c="black";}p($c,$n);}
Veya okunabilir:
<table><tr>
<?php
$color = 'black';
function printcolor($color, $nl) {
echo '<td style="width:50px; height:50px; background:' . $color . '"></td>';
if ($nl == true) {
echo "</tr><tr>";
}
}
for ($i=1; $i<=64;$i++) {
if ($i % 8 == 0 && $color == "black") {
$color = "white";
$nl = true;
} elseif ($i % 8 == 0 && $color == "white") {
$color = "black";
$nl = true;
} elseif (isset($nl) && $nl == true) {
$nl = false;
} elseif ($color == "black") {
$nl = false;
$color = "white";
}
elseif ($color == "white") {
$nl = false;
$color = "black";
}
printcolor($color, $nl);
}
Düzenle:
Üzgünüm, ilk başta çok spesifik değildim:
- Kareler, vektörel görüntüler hariç, 50px * 50px boyutlarında olmalıdır.
- Çıktı formatı veya boyutu önemli değil, ayrıca bir görüntü olması da gerekiyor.
- Değerlendirme amacıyla çıktı, görüntü dosyasındaki veya ekran görüntüsündeki gibi görünür olmalıdır
- Mücadelenin yayınlanmasından sonra yazılı hiçbir kütüphane