Themm: Fehler in einer Auswertung

Beitrag lesen

Hi euch allen :D,
ich hab´ ein kleines Problem: Ich habe einen Code für ein Mastermind-Spiel geschrieben, er funktioniert aber nicht vollständig - egal was man anwählt man bekommt die Meldung: "Herzlichen Glückwunsch, Sie haben gewonnen!", obwohl dies nicht (immer) stimmt.

Warum funktioniert er nicht richtig?? Bitte helft mir!!

Hier ist der Code:

[code lang=html]  
<form action="" method="post" name="color[]">  
<input type="submit" value="Nächster Versuch"><br>  
<label for="p1">Position 1:</label>  
<select name="p1" size="1" id="p1">  
<option value="yellow">Gelb</option><option value="red">Rot</option><option value="green">Grün</option><option value="blue">Blau</option>  
</select><br>  
<label for="p2">Position 2:</label>  
<select name="p2" size="1" id="p2">  
<option value="yellow">Gelb</option><option value="red">Rot</option><option value="green">Grün</option><option value="blue">Blau</option>  
</select><br>  
<label for="p3">Position 3:</label>  
<select name="p3" size="1" id="p3">  
<option value="yellow">Gelb</option><option value="red">Rot</option><option value="green">Grün</option><option value="blue">Blau</option>  
</select><br>  
</form>  
<?php  
$colo1 = mt_rand(1,4);  
$colo2 = mt_rand(1,4);  
$colo3 = mt_rand(1,4);  
if($colo1 == 1){  
$color1 = "yellow"; }  
elseif($colo1 == 2){  
$color1 = "red"; }  
elseif($colo1 == 3){  
$color1 = "green"; }  
else{ $color1 = "blue"; }  
if($colo2 == 1){  
$color2 = "yellow"; }  
elseif($colo2 == 2){  
$color2 = "red"; }  
elseif($colo2 == 3){  
$color2 = "green"; }  
else{ $color2 = "blue"; }  
if($colo3 == 1){  
$color3 = "yellow"; }  
elseif($colo3 == 2){  
$color3 = "red"; }  
elseif($colo3 == 3){  
$color3 = "green"; }  
else{ $color3 = "blue"; }  
$d = 0;  
$b = 0;  
$format = "Es sind %d Farben (auf %d Positionnen) richtig.";  
if(isset($_POST["color[]"])){  
if($_POST["color[p1]"] == $color1 || $_POST["color[p1]"] == $color2 || $_POST["color[p1]"] == $color3){  
$d++;  
if($_POST["color[p2]"] == $color1 || $_POST["color[p2]"] == $color2 || $_POST["color[p2]"] == $color3){  
$d++;  
if($_POST["color[p3]"] == $color1 || $_POST["color[p3]"] == $color2 || $_POST["color[p3]"] == $color3){  
$d++;  
}else{}}else{}}else{}  
if($_POST["color[p1]"] == $color1){  
$b++;  
if($_POST["color[p2]"] == $color2){  
$b++;  
if($_POST["color[p3]"] == $color3){  
$b++;  
}else{}}else{}}else{}  
}else{}  
if( $d = 3 && $b = 3){  
echo "Herzlichen Glückwunsch, Sie haben gewonnen!"; }  
else{ printf($format,$d,$b); }  

~~~[/code]