Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Nejefektivnější vytvoření tabulek pro bingo

Zdarec. Mám vytvořit bingo pro několik desítek lidí. A aby to bylo rychlejší (pro ně), tak mám už předem vytisknout tabulky o rozměru 5x5 číslic.

Jak mám ale udělat to, aby se mi třeba několik desítek těchto tabulek automaticky vytvořilo s tím, že v žádné tabulce nebudou duplicitní hodnoty? Šlo by to nějak udělat v excelu? Protože jediný způsob, který mě napadá, je pomocí php a do toho se mi nechce.

Zkrátka a jasně - jak mám vytvořit několik tabulek 5x5 s čísly (třeba od 1-35, abych si ověřil funkci duplucity) tak, aby se v dané tabulce neobjevovaly duplicity?

Předem děkuji za rady. :)

Předmět Autor Datum
Možná je efektivnější zkusit nějaký free bingo generator, na netu jich je neúrekom. Znám jen z filmů…
karel 30.08.2016 14:30
karel
Kdysi dávno jsem udělal makro do Excelu, funguje do dnes. Po stisku tlačítka vygeneruje A4 tabulek p…
JR_Ewing 30.08.2016 14:35
JR_Ewing
Hledat na Googlu jsi pravděpodobně nezkoušel, že? Namátkou: Create Bingo Cards in Excel Excel Downlo…
Machr55 30.08.2016 14:36
Machr55
Tak obecne vyberes nahodne cislo, hodis ho do ty tabulky, pak vyberes dalsi cislo, zkontrolujes dupl…
Dwane Dibbley 30.08.2016 14:37
Dwane Dibbley
No, nakonec jsem si to sepsal sám pomocí php. :-D Takto to vypadá (design jsem neřešil nějak). Jinak… poslední
Vilak 31.08.2016 14:07
Vilak

Tak obecne vyberes nahodne cislo, hodis ho do ty tabulky, pak vyberes dalsi cislo, zkontrolujes duplicitu se vsemi predchozimi hodnotami a v pripade duplicity udelas "reroll" a znovu zkontrolujes.
Pokud mas ale vybrat hodne cisel z maleho rozsahu, mozna by bylo efektivnejsi udelat jednorozmerne pole se vsemi prvky a nahodne z neho vybrat a dany prvek z pole vytahnout. Pak nemusis resit duplicitu a spoustu "rerollu".

No, nakonec jsem si to sepsal sám pomocí php. :-D Takto to vypadá (design jsem neřešil nějak). Jinak díky za pomoc. :)

<!DOCTYPE html>
<html>
<head>
	<title>Figarovo bingíčko :3 :3</title>
	<meta charset="utf-8">
	<style type="text/css">
		.bingo_div {margin: 20px; float: left;}
	</style>
</head>
<body>
	<?php
		$size_min = 1;
		$size_max = 25;
		$numbers = array();
		function get_number($size_min, $size_max, $numbers) {
			$number = rand($size_min, $size_max);
			if (in_array($number, $numbers)) {
				$number = rand($size_min, $size_max);
				$c = 1;
				while ($c == 1) {
					if (in_array($number, $numbers)) {
						$number = rand($size_min, $size_max);
						$c = 1;
					}
					else {
						$c = 2;
						echo $number;
						$numbers[] = $number;
					}
				}
			}
			else {
				echo $number;
				$numbers[] = $number;
			}
			return $numbers;
		}

		$div = 1;
		$div_max = 50;
		while ($div <= $div_max) {
			echo "<div class=\"bingo_div\">";
			echo "<table class=\"bingo_tb\">";
				for ($i = 1; $i <= 5; $i++) { 
					echo "<tr>";
						for ($q = 1; $q <= 5; $q++) { 
							echo "<td>";
								$numbers = get_number($size_min, $size_max, $numbers);
							echo "</td>";
						}
					echo "</tr>";
				}
			$numbers = array();
			echo "</table>";
			echo "</div>";
			$div++;
		}
	?>
</body>
</html>

Zpět do poradny Odpovědět na původní otázku Nahoru