Automat
Re: Automat
Aber das macht doch in dem Fall keinen Unterschied weil es doch eh nur ein Feld gibt
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Automat
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
Das ganze nennt sich Software-Architektur. Du baust gerade einen Beton-Klumpen, der tut, was Du willst. Wenn Du damit fertig bist, wirst Du es nutzen können oder wegwerfen.
Gute Software schreibt man aber so, dass man sie mehrfach benutzen kann.
Nun willst Du die Software nicht mehrfach benutzen, oder? Oder?
Du willst die Software mehrfach benutzen - einmal so, wie Du sie nutzen möchtest und dann ganz oft mit Testfällen, um halbwegs sicherzustellen, dass die Software überhaupt funktioniert.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Automat
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.
ich müsste mit meinem Code doch auch noch weitere Felder erstellen können und dann auch überprüfen können. Dann kann ich doch das selbe die du
Bleibt nur noch die Frage wie man das umsetzt.
ich müsste mit meinem Code doch auch noch weitere Felder erstellen können und dann auch überprüfen können. Dann kann ich doch das selbe die du
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.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Automat
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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Automat
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
Hab versucht ein "global" davor zu setzten, jedoch kommt dann diese Meldung
Code: Alles auswählen
FATAL ERROR syntax error, unexpected '[', expecting ',' or ';' on line number 4
Code: Alles auswählen
global $variable;
$variable = new "Auto";
oder wie? oder nimmt man dort gar kein "global" ?
Hab das nur so (https://gyazo.com/49a845ea6425b0199694bd9e65d15a70) gesehen als ich bei php.net den Eintrag "Geltungsbereich von Variablen" überflogen hab^^
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Automat
Deine Funktion "Feld" sollte ein Feld zurückgeben. Dieses Feld solltest Du der Funktion evaluate übergeben. Die Sachen sollten unabhängig voneinander sein.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Automat
Wie soll ich das machen?
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Automat
Schau Dir die ersten beiden Sätze meines vorherigen Postings an und setze sie um.sashpta hat geschrieben:Wie soll ich das machen?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Automat
Ja das ist mir klar aber wie mach ich dass es ein "ganzes" Feld ist? Sonst wärs doch nicht anders als jetzt
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Automat
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
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.