julianmurillo
Gebruiker
- Lid geworden
- 15 jan 2018
- Berichten
- 41
Hallo allemaal
Ik heb issues met de volgende bingo-kaart.
- Wat doet het precies? In een tabelletje van 6x6 worden nummers tussen 1 en 70 willekeurig gegenereerd
- Een trekking trekt willekeurige nummers tussen 1 en 70, en het checkt of de nummers in de tabelletje al staan; zo ja, wordt het nummertje gekleurd (blauw), zo niet gaat de trekking door tot een hele rij/kolom is helemaal gekleurd, en dan stop de trekking omdat het bingo is geworden.
- Er worden de nummers van de trekking geprint die in de tabelletje opstaan en het aantal getrokken nummers.
Echter, heb ik de volgende issues nog:
1. De rij/kolom waarop bingo is gevallen moet groen gekleurd worden.
2. Er moet een 7e rij en een 7e kolom komen voor het opslaan van het aantal "weggestreepte" getallen in respectievelijk de rij en de kolom. Deze rij en kolom mogen niet op het scherm worden getoond.
3. Er moet een functie komen voor het vullen van de bingokaart en het retourneren van de gevulde bingokaart.
4. Er moet een functie komen voor het afdrukken van de bingokaart.
5. Aangezien de grootte van de kaart is bekend, moet ik geen "for each", maar… (???)
6. Ga niet iedere keer alle getallen checken op de kaart. Check alleen het laatst getrokken getal.
Kunnen jullie mij hiermee helpen?
Hierbij de code:
Ik heb issues met de volgende bingo-kaart.
- Wat doet het precies? In een tabelletje van 6x6 worden nummers tussen 1 en 70 willekeurig gegenereerd
- Een trekking trekt willekeurige nummers tussen 1 en 70, en het checkt of de nummers in de tabelletje al staan; zo ja, wordt het nummertje gekleurd (blauw), zo niet gaat de trekking door tot een hele rij/kolom is helemaal gekleurd, en dan stop de trekking omdat het bingo is geworden.
- Er worden de nummers van de trekking geprint die in de tabelletje opstaan en het aantal getrokken nummers.
Echter, heb ik de volgende issues nog:
1. De rij/kolom waarop bingo is gevallen moet groen gekleurd worden.
2. Er moet een 7e rij en een 7e kolom komen voor het opslaan van het aantal "weggestreepte" getallen in respectievelijk de rij en de kolom. Deze rij en kolom mogen niet op het scherm worden getoond.
3. Er moet een functie komen voor het vullen van de bingokaart en het retourneren van de gevulde bingokaart.
4. Er moet een functie komen voor het afdrukken van de bingokaart.
5. Aangezien de grootte van de kaart is bekend, moet ik geen "for each", maar… (???)
6. Ga niet iedere keer alle getallen checken op de kaart. Check alleen het laatst getrokken getal.
Kunnen jullie mij hiermee helpen?
Hierbij de code:
PHP:
<!DOCTYPE html>
<html>
<head>
<title>Bingo</title>
</head>
<body>
<h2>Bingokaart waarop BINGO is gevallen</h2>
<?php
function ishetBingo($tabelletje, $nummers) {
$tabelRijen = array(0,0,0,0,0,0);
$tabelKolommen = array(0,0,0,0,0,0);
$voltooid = false;
foreach($tabelletje as $rij => $kolommen) {
foreach($kolommen as $kol => $nummer) {
if(in_array($nummer, $nummers)) {
$tabelRijen[$rij]++;
$tabelKolommen[$kol]++;
if($tabelRijen[$rij] == 6 || $tabelKolommen[$kol] == 6) $voltooid = true;
}
}
}
return $voltooid;
}
// initialiseer kaart
$kaart = array();
for ($rijen = 0; $rijen < 6; $rijen++) {
$kaart[$rijen] = array();
for($k = 0; $k < 6; $k++) {
do {
$regel = rand(($rijen + 1)*10, (($rijen + 1)*10)+9);
} while(in_array($regel, $kaart[$rijen]));
$kaart[$rijen][$k] = $regel;
}
}
$trekking = array();
do {
do {
$rijen = rand(10, 69);
} while(in_array($rijen, $trekking));
$trekking[] = $rijen;
} while(!ishetBingo($kaart, $trekking));
// teken kaart en bewaar score
echo "<table style='border:1px solid blue;'>";
foreach ($kaart as $tabelrij) {
echo "<tr>";
foreach ($tabelrij as $cel) {
// bewaar nummer v/d cell
if (in_array($cel, $trekking)) {
echo "<td style='background:blue;color:white;border:1px solid black;'>" . $cel . "</td>";
} else {
echo "<td>" . $cel . "</td>";
}
}
echo "</tr>";
}
echo "</table>";
// Bingo melding
// if (ishetBingo($kaart, $trekking)) {
// echo '<h2>BINGO!!!</h2>';
// };
// print trekking
echo "<br />Getrokken getallen:<table><tr>";
foreach ($trekking as $nummer) {
if (in_array($nummer, $trekking)) {
echo "<td>" . $nummer . "</td>";
}
}
echo "</tr></table>";
echo "<br/>Aantal getallen dat getrokken is: " . count($trekking);
?>
</body>
</html>