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]