J'ai vu cela dans un défi PHP. L'objectif est de faire un échiquier de 64 cases (8 * 8) avec le minimum de code. Assez simple, j'ai fait le mien en PHP en 356 octets (pas impressionnant, je sais) et j'aimerais voir d'autres approches. Cela peut être fait dans la langue de votre choix, tant que vous le gardez vanille, donc pas d'importations. Le plus petit nombre d'octets gagne.
La sortie devrait ressembler à ceci:
Et mon code:
<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);}
Ou lisible:
<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);
}
Modifier:
Désolé, je n'étais pas très précis au début:
- Les carrés doivent avoir 50px * 50px sauf pour les images vectorielles.
- Le format ou la taille de sortie n'est pas pertinent ni ne doit être une image.
- À des fins d'évaluation, la sortie doit être visible, comme dans un fichier image ou une capture d'écran
- Aucune bibliothèque écrite après la publication du défi