dax4fun
Goto Top

Würfelgenerator in php

Hi,

habe ein delikates Problem (wenn man das so nennen darf)

Ich soll einen Formular basteln:

Zahlenpool 1 bis 49 daraus sollen 35 Zahlen gemischt in die dafür vorgesehenen Felder eingetragen werden, eine schwierigkeit noch dazu, wenn in den Feldern schon Zahlen vorhanden sind (min6 max10), dürfen sie nicht überschrieben werden und ohne doppelte Zahlen

hat wer eine Idee

Bsp.
definierte Zahlen : 2 in Feld 4, 4 in Feld 7, 6 in Feld 8, 8 in Feld 9, 10 in Feld 11,.....usw min6 max10 Zahlen...
Feld1:45, Feld2:34, Feld3:27, Feld4:2, Feld5:21,Feld6:22,Feld7:4 usw. bis 35 Feld voll ist 

Content-ID: 265020

Url: https://administrator.de/forum/wuerfelgenerator-in-php-265020.html

Ausgedruckt am: 23.12.2024 um 16:12 Uhr

SlainteMhath
SlainteMhath 02.03.2015 um 16:55:47 Uhr
Goto Top
Moin,

hat wer eine Idee
Versuchs mal mit einem Array

lg,
Slainte

PS: Nein. wir machen dir nicht die Hausaufgaben face-smile
dax4fun
dax4fun 02.03.2015 aktualisiert um 17:06:39 Uhr
Goto Top
Yep face-smile

Ich holle mir Daten in ein Array aus Txt ... aus der Random funktion ... aber wie kann ich definieren ist die Zahl schon mal vorgekommen, geschweige wenn eine Zahl schon drinn steht überspring die mal und merk die dir auch weil die darf auch nicht ein zweites mal vorkommen
ich werd die Frage glaub ich löschen das werd ich sicher nicht schafen ich hab nicht mal einen Ansatz wie ich beginnen soll
colinardo
Lösung colinardo 02.03.2015, aktualisiert am 03.03.2015 um 01:21:46 Uhr
Goto Top
Moin dax4fun,
auch wenn man das eigentlich mit JavaScript machen könnte, hier mal schnell aus dem Ellenbogen was zum spielen mit PHP...
<?php
if(isset($_POST['btnWuerfel'])){  
	$arrUsed = array();
	$arrValues = array();
	// Vorhandene Zahlen in Array einlesen
	for ($i = 1;$i <= 7;$i++){
		if ($_POST['txt'.$i] != ""){  
			array_push($arrUsed,$_POST['txt'.$i]);  
		}
	}
	
	for ($i = 1;$i <= 7;$i++){
		$val = '';  
		// Wenn Feld leer ist ...
		if ($_POST['txt'.$i] == ""){  
			// generiere neue Zufallszahl
			$new = mt_rand(1,49);
			// prüfe ob Zufallszahl schon Verwendung findet und generiere solange eine neue
			// bis sie noch keine Verwendung findet
			while(in_array($new,$arrUsed)){
				$new = mt_rand(1,49);
			}
			// Füge die Zufallszahl zum Array der verwendeten hinzu
			array_push($arrUsed,$new);
			$val = $new;
		}else{
			$val = $_POST['txt'.$i];  
		}
		//füge finalen Wert zum Array hinzu
		array_push($arrValues,$val);
	}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">  
<title>PHP Würfeln</title>
</head>

<body>
<form name="form1" method="post" action="wuerfel.php">  
  <p>
    <input name="txt1" type="text" size="2" value="<?php echo $arrValues; ?>">  
    <input name="txt2" type="text" size="2" value="<?php echo $arrValues[1]; ?>">  
    <input name="txt3" type="text" size="2" value="<?php echo $arrValues[2]; ?>">  
    <input name="txt4" type="text" size="2" value="<?php echo $arrValues[3]; ?>">  
    <input name="txt5" type="text" size="2" value="<?php echo $arrValues[4]; ?>">  
    <input name="txt6" type="text" size="2" value="<?php echo $arrValues[5]; ?>">  
    <input name="txt7" type="text" size="2" value="<?php echo $arrValues[6]; ?>">  
    <input name="btnWuerfel" type="submit" value="Wuerfeln">  
  <input type="submit" name="btnReset" id="btnReset" value="Reset">  
  </p>
</form>
</body>
</html>
Grüße Uwe
dax4fun
dax4fun 03.03.2015 aktualisiert um 01:30:34 Uhr
Goto Top
Hi Uwe ,

glaub es mir oder nicht aber mir sind Glückstränen gekommen, halt nach 2 Std bis ich alles umgebogen habe und es verstanden habe

Wahnsinn... tolle Arbeit!!!

Danke viele 1000 mal

Mit freundlichen Grüßen dax