Re: Automat
Verfasst: Sa Jan 09, 2016 8:52 pm
Aber das macht doch in dem Fall keinen Unterschied weil es doch eh nur ein Feld gibt
Das ist richtig. Und falsch.sashpta hat geschrieben:Aber das macht doch in dem Fall keinen Unterschied weil es doch eh nur ein Feld gibt
Xin hat geschrieben: Ich kann die Auswertung also für ein von mir festgelegtes und übergebenes Feld testen - Du nicht, weil Du nicht weißt auf welches Spielfeld sich das Ergebnis bezieht.
Nimm erstmal Deinen Code soweit auseinander, dass Du eine Funktion zum erstellen des Spielfeldes hast, die zum evaluieren und eine für die Ausgabe - wie ich es vorher schon beschrieb.sashpta hat geschrieben:Gut also ich verstehe was du meinst, für mich macht es zwar bei dem hier keinen Sinn aber es schadet bestimmt nicht wenn man sich da direkt dran gewöhnt^^
Bleibt nur noch die Frage wie man das umsetzt.
Code: Alles auswählen
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
function Feld() {
$feld[0] = rand(1, 9);
$feld[1] = rand(1, 9);
$feld[2] = rand(1, 9);
$feld[3] = rand(1, 9);
$feld[4] = rand(1, 9);
$feld[5] = rand(1, 9);
$feld[6] = rand(1, 9);
$feld[7] = rand(1, 9);
$feld[8] = rand(1, 9);
for ($i = 0; $i < 3; $i++) {
Bilder($feld[$i]);
}
echo "<br>";
for ($i = 3; $i < 6; $i++) {
Bilder($feld[$i]);
}
echo "<br>";
for ($i = 6; $i < 9; $i++) {
Bilder($feld[$i]);
}
echo "<br>";
evaluieren();
}
function Bilder($feld) {
switch ($feld):
case 1:
echo '<img src="http://www.kissenjunkie.de/wp-content/uploads/2015/12/Celeste-Kissen-grau-kleine-Sterne-300x300.jpg" width = "50px" height "50px">';
break;
case 2:
echo '<img src="http://geschenke-fuer-maenner.bernaunet.eu/wp-content/uploads/2015/10/kleiner-Schutzengel-300x300.jpg" width = "50px" height "50px>';
break;
case 3:
echo '<img src="http://opensource.org/files/osi_keyhole_300X300_90ppi.png" width = "50px" height "50px>';
break;
case 4:
echo '<img src="http://www.tierisch-gut-drauf.com/wp-content/uploads/sites/12/2015/07/kleiner-kratzbaum-300x300.jpg" width = "50px" height "50px>';
break;
case 5:
echo '<img src="http://www.cricketlife.net/wp-content/uploads/2015/12/fliesen-fr-kleine-bder-300x300.jpg" width = "50px" height "50px>';
break;
case 6:
echo '<img src="http://www.opticbits.com/wp-content/uploads/2015/12/sofas-fr-kleine-rume-300x300.jpg" width = "50px" height "50px>';
break;
case 7:
echo '<img src="http://www.febs.de/wp-content/uploads/2015/05/LinkedIn_logo_initials-300x300.png" width = "50px" height "50px>';
break;
case 8:
echo '<img src="http://kleinehilfsaktion.de/wp-content/uploads/2014/10/ausblick-kleine-hilfsaktion-300x300.jpg" width = "50px" height "50px>';
break;
case 9:
echo '<img src="http://www.opticbits.com/wp-content/uploads/2015/11/fliesen-ideen-kleine-badezimmer-300x300.jpg" width = "50px" height "50px>';
break;
endswitch;
}
function evaluieren() {
$ReiheTOP = false;
$ReiheMID = false;
$ReiheBOT = false;
$DiaLR = false;
$DiaRL = false;
$DoppelReihe = false;
$DoppelDia = false;
$DoppelReihe_U_LRdia = false;
$DoppelReihe_U_RLdia = false;
$DoppelDia_U_Rtop = false;
$DoppelDia_U_Rmid = false;
$DoppelDia_U_Rbot = false;
$alleGleich = false;
# erste Reihe komplett gleich
if ($feld[0] == $feld[1]) {
if ($feld[1] == $feld[2]) {
$ReiheTOP = true;
}
}
# zweite Reihe komplett gleich
if ($feld[3] == $feld[4]) {
if ($feld[4] == $feld[5]) {
$ReiheMID = true;
}
}
# dritte Reihe komplett gleich
if ($feld[6] == $feld[7]) {
if ($feld[7] == $feld[8]) {
$ReiheBOT = true;
}
}
# diagonal (links nach rechts)
if ($feld[0] == $feld[4]) {
if ($feld[4] == $feld[8]) {
$DiaLR = true;
}
}
# diagonal (rechts nach links)
if ($feld[2] == $feld[4]) {
if ($feld[4] == $feld[6]) {
$DiaRL = true;
}
}
# 2 GLeiche, oben, mitte
if ($ReiheTOP == true and $ReiheMID == true) {
$DoppelReihe = true;
}
# 2 Gleiche, oben, unten
if ($ReiheTOP == true and $ReiheBOT == true) {
$DoppelReihe = true;
}
# 2 Gleiche, mitte, unten
if ($ReiheMID == true and $ReiheBOT == true) {
$DoppelReihe = true;
}
# 2 Gleiche, Diagonal
if ($DiaLR == true and $DiaRL == true) {
$DoppelDia = true;
}
# 3 Gleiche, 2 Reihe + Dia l-r
if ($DoppelReihe == true and $DiaLR == true) {
$DoppelReihe_U_LRdia = true;
}
# 3 Gleiche, 2 Reihe + Dia r-l
if ($DoppelReihe == true and $DiaRL == true) {
$DoppelReihe_U_RLdia = true;
}
# 3 Gleiche, 2 Dia + Reihe, oben
if ($DoppelDia == true and $ReiheTOP == true) {
$DoppelDia_U_Rtop = true;
}
# 3 GLeiche, 2 Dia + Reihe, mitte
if ($DoppelDia == true and $ReiheMID == true) {
$DoppelDia_U_Rmid = true;
}
# 3 Gleiche, 2 Dia + Reihe, unten
if ($DoppelDia == true and $ReiheBOT == true) {
$DoppelDia_U_Rbot = true;
}
# Alle gleich
if ($DoppelReihe == true and $ReiheTOP == true || $DoppelReihe == true and $ReiheMID == true || $DoppelReihe == true and $ReiheBOT == true) {
$alleGleich = true;
}
Ausgabe();
}
function Ausgabe() {
$Sieg_R = "SIEG! Du hast 3 Gleiche in einer Reihe!"; # done
$Sieg_D = "SIEG! Du hast 3 Gleiche diagonal!"; # done
$D_Sieg_R = "DOPPEL SIEG!! Du hast 2 mal 3 Gleiche in einer Reihe!"; # done
$D_Sieg_D = "DOPPEL SIEG!! Du hast 2 mal 3 Gleiche diagonale!"; # done
$T_Sieg_2R = "DREIFACH SIEG!!! Du hast 2 mal 3 Gleiche in einer Reihe und 1 diagonales!";
$T_Sieg_2D = "DREIFACH SIEG!!! Du hast 2 Diagonale und einmal 3 Gleiche in einer Reihe!";
$Jackpot = "JACKPOT!!!!!!!!!";
#Jackpot
if ($alleGleich == true):
echo $Jackpot;
# 2 Diagonal + Reihe
elseif ($DoppelDia_U_Rbot == true || $DoppelDia_U_Rmid == true || $DoppelDia_U_Rtop == true):
echo $T_Sieg_2D;
# 2 Reihe + Diagonal
elseif ($DoppelReihe_U_RLdia == true || $DoppelReihe_U_LRdia == true):
echo $T_Sieg_2R;
# 2 Diagonal
elseif ($DoppelDia == true):
echo $D_Sieg_D;
# 2 Reihen
elseif ($DoppelReihe == true):
echo $D_Sieg_R;
# Diagonal
elseif ($DiaRL == true || $DiaLR == true):
echo $Sieg_D;
# Reihe
elseif ($ReiheBOT == true || $ReiheMID == true || $ReiheTOP == true):
echo $Sieg_R;
endif;
}
Feld();
?>
</body>
</html>
Code: Alles auswählen
NOTICE Undefined variable: feld on line number 87
NOTICE Undefined variable: feld on line number 87
NOTICE Undefined variable: feld on line number 88
NOTICE Undefined variable: feld on line number 88
NOTICE Undefined variable: feld on line number 94
NOTICE Undefined variable: feld on line number 94
NOTICE Undefined variable: feld on line number 95
NOTICE Undefined variable: feld on line number 95
NOTICE Undefined variable: feld on line number 101
NOTICE Undefined variable: feld on line number 101
NOTICE Undefined variable: feld on line number 102
NOTICE Undefined variable: feld on line number 102
NOTICE Undefined variable: feld on line number 108
NOTICE Undefined variable: feld on line number 108
NOTICE Undefined variable: feld on line number 109
NOTICE Undefined variable: feld on line number 109
NOTICE Undefined variable: feld on line number 115
NOTICE Undefined variable: feld on line number 115
NOTICE Undefined variable: feld on line number 116
NOTICE Undefined variable: feld on line number 116
NOTICE Undefined variable: alleGleich on line number 191
NOTICE Undefined variable: DoppelDia_U_Rbot on line number 194
NOTICE Undefined variable: DoppelDia_U_Rmid on line number 194
NOTICE Undefined variable: DoppelDia_U_Rtop on line number 194
NOTICE Undefined variable: DoppelReihe_U_RLdia on line number 197
NOTICE Undefined variable: DoppelReihe_U_LRdia on line number 197
NOTICE Undefined variable: DoppelDia on line number 200
NOTICE Undefined variable: DoppelReihe on line number 203
NOTICE Undefined variable: DiaRL on line number 206
NOTICE Undefined variable: DiaLR on line number 206
NOTICE Undefined variable: ReiheBOT on line number 209
NOTICE Undefined variable: ReiheMID on line number 209
NOTICE Undefined variable: ReiheTOP on line number 209
Code: Alles auswählen
FATAL ERROR syntax error, unexpected '[', expecting ',' or ';' on line number 4
Code: Alles auswählen
global $variable;
$variable = new "Auto";
Schau Dir die ersten beiden Sätze meines vorherigen Postings an und setze sie um.sashpta hat geschrieben:Wie soll ich das machen?
Erstmal reicht es, wenn es ein Array bleibt. Du kannst da eine Struktur draus machen, aber es geht erstmal darum, dass die Funktionalität voneinander getrennt ist.sashpta hat geschrieben:Ja das ist mir klar aber wie mach ich dass es ein "ganzes" Feld ist? Sonst wärs doch nicht anders als jetzt