PHP: "Würfel-Projekt"
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgeben
code
dank
double
durchlauf
durchschnitt
erreichen
fehler
gewisse anzahl
grund
hauptproblem
problem
programm
rand
schleife
stand
summe
versuch
zahl
zufallsgenerator
-
Hallo!
Ich habe ein Programm, das würfeln simuliert, bis eine gewisse Anzahl erreicht ist. Dann bricht es ab. Das Programm hat folgenden source code:
<html>
<head>
<title>
Würfel
</title>
</head>
<body>
<?php
srand((double)microtime()*1000000); // Zufallsgenerator initalisieren
$summe = 0;
while($summe<30) /* bis die Summe der gewürfelten Zahlen 30 überschreitet wird das Programm
ausgeführt */
{
$zufallszahl=rand(1,6); // Zufallszahl zw. 1 und 6 generieren
$summe = $summe + $zufallszahl;
echo "Zahl $zufallszahl, Summe $summe<p/>"; //Würfelzahl + und Summe aller Würfe ausgeben
}
?>
</body>
</html>
Ich möchte jetzt, dass dieses Programm 100 mal abläuft und dann der Durchschnitt der Würfe, die nötig waren um die Zahl 30 zu erreichen, ausrechnen.
PROBLEM:
Mein Versuch war, dass ich die while-Schleife in eine for-Schleife gesetzt habe, um sie 100 mal auszuführen, aber aus irgendeinem Grund wird die while-Schleife nur 1x durchlaufen und ich weiß nicht wieso - dies ist eigentlich mein Hauptproblem!!!
Ich hoffe auf baldige Hilfe!!!
MfG Sinew -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hast du $summe=0 auch mit in die for-Schleife genommen? Weil falls das draußen stand, war $summe nach einem Durchlauf ja schon auf 30 erhöht und die while-Schlife wird nicht mehr ausgeführt.
-
Hallo!
Ich habe ein Programm, das würfeln simuliert, bis eine gewisse Anzahl erreicht ist. Dann bricht es ab. Das Programm hat folgenden source code:
<html>
<head>
<title>
Würfel
</title>
</head>
<body>
<?php
srand((double)microtime()*1000000); // Zufallsgenerator initalisieren
$summe = 0;
while($summe<30) /* bis die Summe der gewürfelten Zahlen 30 überschreitet wird das Programm
ausgeführt */
{
$zufallszahl=rand(1,6); // Zufallszahl zw. 1 und 6 generieren
$summe = $summe + $zufallszahl;
echo "Zahl $zufallszahl, Summe $summe<p/>"; //Würfelzahl + und Summe aller Würfe ausgeben
}
?>
</body>
</html>
Ich möchte jetzt, dass dieses Programm 100 mal abläuft und dann der Durchschnitt der Würfe, die nötig waren um die Zahl 30 zu erreichen, ausrechnen.
PROBLEM:
Mein Versuch war, dass ich die while-Schleife in eine for-Schleife gesetzt habe, um sie 100 mal auszuführen, aber aus irgendeinem Grund wird die while-Schleife nur 1x durchlaufen und ich weiß nicht wieso - dies ist eigentlich mein Hauptproblem!!!
Ich hoffe auf baldige Hilfe!!!
MfG Sinew
Der Code hat keine Fehler. ;)
Aber auch keine For-Schleife.
Übrigens: 30 / ((1 + 2 + 3 + 4 + 5 + 6) / 6) = 8.57142857
Jens -
tct schrieb:
Hast du $summe=0 auch mit in die for-Schleife genommen? Weil falls das draußen stand, war $summe nach einem Durchlauf ja schon auf 30 erhöht und die while-Schlife wird nicht mehr ausgeführt.
Danke, genau das war mein Fehler *schäm*, das habe ich übersehen. Danke Vielmals!
MfG Sinew
Ich habe jetzt das Programm so erweitert, dass es simuliert, dass man mit 2 Würfeln abwechselnd würfelt, bis die Summe der gewürfelten Zahlen größergleich 50 ist und dann abbricht. Dies macht es 100 mal und rechnet dann den Durchschnitt, der Würfe aus, die benötigt wurden um größergleich 50 zu erreichen.
Die Würfe werden ausgegeben und nach dem Erreichen von größergleich 50 werden Trennstriche eingefügt am Ende wird der Durchschnitt ausgegeben.
Code:
<html>
<head>
<title>
Würfel Projekt
</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
srand((double)microtime()*1000000);
$z = 0;
for($i=0; $i<=100; $i++)
{
$summe1 = 0;
$summe2 = 0;
$wurfanzahl = 0;
while($summe1+$summe2<=50)
{
while($summe1+$summe2<=50){
$zufallszahl=rand(1,6);
$summe1 = $summe1 + $zufallszahl;
echo "Würfel 1: $zufallszahl, Summe: $summe1<br/>";
$wurfanzahl=$wurfanzahl+1;
}while($summe1+$summe2<=50){
$zufallszahl=rand(1,6);
$summe2 = $summe1 + $zufallszahl;
echo "Würfel 2: $zufallszahl, Summe: $summe2<br/>";
$wurfanzahl=$wurfanzahl+1;
}
}
for ($e=0; $e<=40; $e++)
{
echo "-";
}
echo "<p/>";
$z=$z+$wurfanzahl;
}
$end = $z/100;
echo "Die durschnittliche Wurfanzahl ist: $end";
?>
</body>
</html>
Beitrag geändert: 2.11.2007 19:47:24 von sinew -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage