Vraag over arrays (PHP)

Status
Niet open voor verdere reacties.

julianmurillo

Gebruiker
Lid geworden
15 jan 2018
Berichten
41
Ik heb de volgende code die een soort voor Bingo-tabel laat zien.

PHP:
<?php
$size = 6;
echo '<table>';
for ($regel = 1; $regel <= 6; $regel++) {
    $number = range($regel * 10,(($regel + 1) * 10) - 1); 
    shuffle($number);
    echo '<tr>';
    for($i = 0; $i < $size; $i ++) {
        echo '<td>' . $number[$i] . '<td>';
    }
    echo '</tr>';
}
echo '</table>';
?>

Wat is een simpele manier om een array aan te maken, die willekeurige nummers genereert en tegelijkertijd checkt of dat gegenereerde nummers in de tabel staan (b.v. als het gegenereerde nummer in de tabel opstaat, wordt een kleur gegeven aan zijn 'achtergrond')?

Hoe kan ik ook een situatie creëren, zodat een melding wordt gegenereerd als een hele rij of kolom (met betrekking tot de nummers in de tabel) is gekleurd (bij de vorige stap)?

Dank voor de hulp :)
 
Zo heb je ze alvast in een array
Code:
$rows = 6;
$cols = 12;
// alle getallen in range 0-9
for ($i = 0; $i < ($rows * $cols); $i++) $arr[$i] = rand(0, 9);
// een paar keer shuffelen ;P
for ($i = 0; $i < 5; $i++) shuffle($arr);
// tabel maken
echo '<table>';
for ($row = 0; $row < $rows; $row++) {
    echo '<tr>';
    for ($col = 1; $col <= $cols; $col++) echo '<td>', $arr[($row * $col) + $col - 1], '</td>';
    echo '</tr>';
}
echo '</table>';
Wat is een simpele manier om een array aan te maken, die willekeurige nummers genereert en tegelijkertijd checkt of dat gegenereerde nummers in de tabel staan
Er staan dubbele cijfers in de tabel, dat is toch geen Bingo?
 
Laatst bewerkt:
Aan de browserkant zou je de cellen kunnen kleuren
Code:
<script>
// shuffle array
function shuffleArray(arr) {
    for (var i = arr.length - 1; i > 0; i--) {
        var j  = Math.floor(Math.random() * (i + 1));
        var t  = arr[i];
        arr[i] = arr[j];
        arr[j] = t;
    }
}
var arr10 = [0,1,2,3,4,5,6,7,8,9];
shuffleArray(arr10);
// loop 10x (cijfer 0-9) door aantal td cellen
var tdArr = document.getElementsByTagName('td');
var i, j, c;
for (i = 0; i < 10; i++) {
    for (j = 0; j < tdArr.length; j++) {
        // controleer of td het cijfer bevat
        if (parseInt(tdArr[j].innerHTML) == i) {
            // zoja geef een random kleur
            c = Math.floor(Math.random() * Math.floor(999));
            tdArr[j].style.color = ('#'+c.toString());
        }
    }
}
</script>
Function shuffleArray heb ik ergens van internet geplukt omdat javascript geen shuffle heeft.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan