Automat

Fragen zum Thema HTML, JavaScript, PHP
sashpta
Beiträge: 104
Registriert: Fr Dez 12, 2014 2:55 pm

Automat

Beitrag von sashpta » Mo Dez 28, 2015 11:11 pm

Hey,
ich muss gerade für die Schule nen "Einarmigen Banditen" mit PHP programmieren.
Klappt soweit auch ganz gut, man kanns bestimmt viel kürzer und übersichtlicher schreiben aber hauptsache es funktioniert erst mal :D

Das Ziel ist es, wenn 3 Bilder gleich sind, entweder Diagonal oder in einer waagerechten Reihe, dass man dann gewinnt. (Man gewinnt "mehr", wenn man 2 Reihen hat oder alle gleich oder 2 Diagonale usw.)
Das Problem jetzt ist nur, dass ab und zu (echt super selten), man die Meldung bekommt, man hätte 3 in einer Reihe oder so, obwohl es nur 2 Gleiche sind. Nur ich finde den Fehler nicht. Ist das einfach eine Art "Bug" in PHP oder, was ich für viel wahrscheinlicher halte, ein Fehler bei meinem Code.
Das Einze was sein könnte ist, dass er das Falsche anzeigt, wenn man z.B. 2 mal 2 gleiche Reihen hat (-> 1. und 2. Reihe gleich, als bsp.), das habe ich bis jetzt noch nicht ausprobiert. Aber das kann doch eigentlich nicht der Grund dafür sein, dass er bei 2 Gleichen sagt es seien 3.

Hier mal der Code:

Code: Alles auswählen

<!DOCTYPE html>
<html>
<head>

</head>
<body>

<?php
	$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);



	# gewinne:
		# Reihe / Diagonal = Sieg
		# 2 Diagonal / 2 Reihen = Doppel Sieg
		# 2 Diagonal + 1 Reihe / 2 Reihen + 1 Diagonal = Dreifach Sieg
		# Alle = Jackpot

	# Texte bei Gewinn:

		$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!!!!!!!!!";																		



	# Variablen um zu überprüfen was für ein "Sieg" es ist:

		$ReiheTOP = false;
		$ReiheMID = false;
		$ReiheBOT = false;
		$DiaLR = false;
		$DiaRL = false;
		$DoppelReihe = false;
		$DoppelDia = false;

    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>";


	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;

}
	# erste Reihe komplett gleich
	if ($feld[0] == $feld[1]) {
		if ($feld[1] == $feld[2]) {
			echo $Sieg_R;
			$ReiheTOP = true;
		}
	}

	# zweite Reihe komplett gleich
	if ($feld[3] == $feld[4]) {
		if ($feld[4] == $feld[5]) {
			echo $Sieg_R;
			$ReiheMID = true;
		}
	}

	# dritte Reihe komplett gleich
	if ($feld[6] == $feld[7]) {
		if ($feld[7] == $feld[8]) {
			echo $Sieg_R;
			$ReiheBOT = true;
		}
	}

	# diagonal (links nach rechts)
	if ($feld[0] == $feld[4]) {
		if ($feld[4] == $feld[8]) {
			echo $Sieg_D;
			$DiaLR = true;
		}
	}

	# diagonal (rechts nach links)
	if ($feld[2] == $feld[4]) {
		if ($feld[4] == $feld[6]) {
			echo $Sieg_D;
			$DiaRL = true;
		}
	}
	
	
 	
 	# 2 GLeiche, oben, mitte
	if ($ReiheTOP == true and $ReiheMID == true) {
		echo $D_Sieg_R;
		$DoppelReihe = true;
	}

	# 2 Gleiche, oben, unten
	if ($ReiheTOP == true and $ReiheBOT == true) {
		echo $D_Sieg_R;
		$DoppelReihe = true;
	}

	# 2 Gleiche, mitte, unten
	if ($ReiheMID == true and $ReiheBOT == true) {
		echo $D_Sieg_R;
		$DoppelReihe = true;
	}
 
	# 2 Gleiche, Diagonal
	if ($DiaLR == true and $DiaRL == true) {
		echo $D_Sieg_D;
		$DoppelDia = true;
	}

	# 3 Gleiche, 2 Reihe + Dia l-r
	if ($DoppelReihe == true and $DiaLR == true) {
		echo $T_Sieg_2R;
	}

	# 3 Gleiche, 2 Reihe + Dia r-l
	if ($DoppelReihe == true and $DiaRL == true) {
		echo $T_Sieg_2R;
	}

	# 3 Gleiche, 2 Dia + Reihe, oben
	if ($DoppelDia == true and $ReiheTOP == true) {
		echo $T_Sieg_2D;
	}

	# 3 GLeiche, 2 Dia + Reihe, mitte
	if ($DoppelDia == true and $ReiheMID == true) {
		echo $T_Sieg_2D;
	}

	# 3 Gleiche, 2 Dia + Reihe, unten
	if ($DoppelDia == true and $ReiheBOT == true) {
		echo $T_Sieg_2D;
	}

	# Alle gleich
	if ($DoppelReihe == true and $ReiheTOP == true || $DoppelReihe == true and $ReiheMID == true || $DoppelReihe == true and $ReiheBOT == true) {
		echo $Jackpot;
	}



?>

	</body>
</html>

Hoffe ihr versteht was ich meine und könnt mir helfen. :)
Danke

MFG

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Automat

Beitrag von Xin » Di Dez 29, 2015 3:25 pm

sashpta hat geschrieben:Hey,
ich muss gerade für die Schule nen "Einarmigen Banditen" mit PHP programmieren.
Klappt soweit auch ganz gut, man kanns bestimmt viel kürzer und übersichtlicher schreiben aber hauptsache es funktioniert erst mal :D
Naja, aktuell funktioniert es nicht und Du siehst den Fehler nicht.
Eine Möglichkeit dem Fehler auf die Schliche zu kommen wäre es also kürzer und übersichtlicher zu schreiben. ^^
sashpta hat geschrieben:Das Ziel ist es, wenn 3 Bilder gleich sind, entweder Diagonal oder in einer waagerechten Reihe, dass man dann gewinnt. (Man gewinnt "mehr", wenn man 2 Reihen hat oder alle gleich oder 2 Diagonale usw.)
Das Problem jetzt ist nur, dass ab und zu (echt super selten), man die Meldung bekommt, man hätte 3 in einer Reihe oder so, obwohl es nur 2 Gleiche sind.
Wie sind die Felder denn dann belegt?
sashpta hat geschrieben:Nur ich finde den Fehler nicht. Ist das einfach eine Art "Bug" in PHP oder, was ich für viel wahrscheinlicher halte, ein Fehler bei meinem Code.
Ich habe schon Bugs in PHP gesehen, aber grundsätzlich sollte man immer davon ausgehen, dass der Bug bei einem selbst liegt.
sashpta hat geschrieben:Das Einze was sein könnte ist, dass er das Falsche anzeigt, wenn man z.B. 2 mal 2 gleiche Reihen hat (-> 1. und 2. Reihe gleich, als bsp.), das habe ich bis jetzt noch nicht ausprobiert. Aber das kann doch eigentlich nicht der Grund dafür sein, dass er bei 2 Gleichen sagt es seien 3.
Bau das ganze doch mal in Funktionen und übergebe das Feld. Als Rückgabe solltest Du einen Ergebnisstring bekommen, der beschreibt, wie die Auswertung verlaufen ist.

Das Feld kann dann entweder über Random bestückt werden oder Du gibst Testfälle vor. Zum Beispiel nur die erste Reihe ist gleich, also erwartest Du als Ergebnis, dass nur die erste Reihe als gleich erkannt wird. So kannst Du deine Funktion sinnvoll abprüfen. Damit nimmst Du auch die ganzen Echos raus, die da drin sind.

Einen Fehler kann ich ansonsten in der Bestimmung nicht finden. Bei einer fraglichen Darstellung, schreibst Du Dir die Darstellung ab und machst einen Testfall draus: Du schreibst die Eingangsdaten in einen Test und der erwartet halt die richtige Bewertung. Wenn das nicht hinhaut, kann man genauer verfolgen, wie das Problem entsteht.
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.

sashpta
Beiträge: 104
Registriert: Fr Dez 12, 2014 2:55 pm

Re: Automat

Beitrag von sashpta » Di Jan 05, 2016 3:44 pm

Xin hat geschrieben:
Bau das ganze doch mal in Funktionen und übergebe das Feld. Als Rückgabe solltest Du einen Ergebnisstring bekommen, der beschreibt, wie die Auswertung verlaufen ist.

Das Feld kann dann entweder über Random bestückt werden oder Du gibst Testfälle vor. Zum Beispiel nur die erste Reihe ist gleich, also erwartest Du als Ergebnis, dass nur die erste Reihe als gleich erkannt wird. So kannst Du deine Funktion sinnvoll abprüfen. Damit nimmst Du auch die ganzen Echos raus, die da drin sind.

Einen Fehler kann ich ansonsten in der Bestimmung nicht finden. Bei einer fraglichen Darstellung, schreibst Du Dir die Darstellung ab und machst einen Testfall draus: Du schreibst die Eingangsdaten in einen Test und der erwartet halt die richtige Bewertung. Wenn das nicht hinhaut, kann man genauer verfolgen, wie das Problem entsteht.

Meinst du ich soll diese Teile hier alle in Funktionen packen oder wie?

Code: Alles auswählen

  # erste Reihe komplett gleich
    if ($feld[0] == $feld[1]) {
        if ($feld[1] == $feld[2]) {
            echo $Sieg_R;
            $ReiheTOP = true;
        }
    }

    # zweite Reihe komplett gleich
    if ($feld[3] == $feld[4]) {
        if ($feld[4] == $feld[5]) {
            echo $Sieg_R;
            $ReiheMID = true;
        }
    }

    # dritte Reihe komplett gleich
    if ($feld[6] == $feld[7]) {
        if ($feld[7] == $feld[8]) {
            echo $Sieg_R;
            $ReiheBOT = true;
        }
    }

    # diagonal (links nach rechts)
    if ($feld[0] == $feld[4]) {
        if ($feld[4] == $feld[8]) {
            echo $Sieg_D;
            $DiaLR = true;
        }
    }

    # diagonal (rechts nach links)
    if ($feld[2] == $feld[4]) {
        if ($feld[4] == $feld[6]) {
            echo $Sieg_D;
            $DiaRL = true;
        }
    }
    
    
     
     # 2 GLeiche, oben, mitte
    if ($ReiheTOP == true and $ReiheMID == true) {
        echo $D_Sieg_R;
        $DoppelReihe = true;
    }

    # 2 Gleiche, oben, unten
    if ($ReiheTOP == true and $ReiheBOT == true) {
        echo $D_Sieg_R;
        $DoppelReihe = true;
    }

    # 2 Gleiche, mitte, unten
    if ($ReiheMID == true and $ReiheBOT == true) {
        echo $D_Sieg_R;
        $DoppelReihe = true;
    }
 
    # 2 Gleiche, Diagonal
    if ($DiaLR == true and $DiaRL == true) {
        echo $D_Sieg_D;
        $DoppelDia = true;
    }

    # 3 Gleiche, 2 Reihe + Dia l-r
    if ($DoppelReihe == true and $DiaLR == true) {
        echo $T_Sieg_2R;
    }

    # 3 Gleiche, 2 Reihe + Dia r-l
    if ($DoppelReihe == true and $DiaRL == true) {
        echo $T_Sieg_2R;
    }

    # 3 Gleiche, 2 Dia + Reihe, oben
    if ($DoppelDia == true and $ReiheTOP == true) {
        echo $T_Sieg_2D;
    }

    # 3 GLeiche, 2 Dia + Reihe, mitte
    if ($DoppelDia == true and $ReiheMID == true) {
        echo $T_Sieg_2D;
    }

    # 3 Gleiche, 2 Dia + Reihe, unten
    if ($DoppelDia == true and $ReiheBOT == true) {
        echo $T_Sieg_2D;
    }

    # Alle gleich
    if ($DoppelReihe == true and $ReiheTOP == true || $DoppelReihe == true and $ReiheMID == true || $DoppelReihe == true and $ReiheBOT == true) {
        echo $Jackpot;
    }
und wenn ja jedes dann in ne eigene oder wie?

Aber das wär dann doch noch unübersichtlicher und noch mehr oder?





Habs jetzt mal bisschen getestet, klappt soweit alles :)
Ist halt nur noch das Problem, dass er immer alle zutreffenden Texte anzeigt und nicht den höchten Gewinn. (https://gyazo.com/fda5f2f999cc6c01dc4d36e41e446c69) Aber das könnte ich doch eigentlich mit Variablen machen. Jedoch hätte ich dann immer noch das Problem mit der Unübersichtlichkeit, wahrscheinlich wärs dann noch schlimmer. :x

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Automat

Beitrag von Xin » Mi Jan 06, 2016 12:45 am

sashpta hat geschrieben:Meinst du ich soll diese Teile hier alle in Funktionen packen oder wie?

Code: Alles auswählen

  # erste Reihe komplett gleich
    if ($feld[0] == $feld[1]) {
        if ($feld[1] == $feld[2]) {
            echo $Sieg_R;
            $ReiheTOP = true;
        }
    }
Auch das ist eine gute Idee.

Code: Alles auswählen

  $reiheTop = reiheTop( $feld );
  $reiheMid = reiheMid( $fekd );
  ...
sashpta hat geschrieben:und wenn ja jedes dann in ne eigene oder wie?
Aber das wär dann doch noch unübersichtlicher und noch mehr oder?
Halte ich für eine brauchbare Möglichkeit die Sachen übersichtlicher zu machen.

Was ich aber wirklich meinte ist, dass Du das Feld bestückst und dann die Auswertung machst.

Code: Alles auswählen

$field = randomField();

$result = evaluate( $field );

presentResult( $result );
[code]

Dadurch, dass Du kapselst, kannst Du nun auch Tests schreiben:

[code]
$field = generate( 1, 1, 1, 0, 0, 0, 0, 0, 0 );  // First Row
$result = evaluate( $field );
testResult( $result, "SIEG! Du hast 3 Gleiche in einer Reihe!" );

$field = generate( 0, 0, 0, 1, 1, 1, 0, 0, 0 );  // Second Row
$result = evaluate( $field );
testResult( $result, "SIEG! Du hast 3 Gleiche in einer Reihe!" );

...
[code]


Habs jetzt mal bisschen getestet, klappt soweit alles :)
Ist halt nur noch das Problem, dass er immer alle zutreffenden Texte anzeigt und nicht den höchten Gewinn. (https://gyazo.com/fda5f2f999cc6c01dc4d36e41e446c69) Aber das könnte ich doch eigentlich mit Variablen machen. Jedoch hätte ich dann immer noch das Problem mit der Unübersichtlichkeit, wahrscheinlich wärs dann noch schlimmer. :x[/quote]

Die Funktion evaluate() sollte nichts mehr ausgeben. Also erst recht nichts doppelt. Die solltest Du so programmieren, dass sie einfach genau das Ergebnis liefert, das Du haben möchtest. Hier denke ich aber eher an eine Enum, als an "SIEG! Du hast 3 Gleiche in einer Reihe!". ^^
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.

sashpta
Beiträge: 104
Registriert: Fr Dez 12, 2014 2:55 pm

Re: Automat

Beitrag von sashpta » Do Jan 07, 2016 3:10 pm

Xin hat geschrieben:Was ich aber wirklich meinte ist, dass Du das Feld bestückst und dann die Auswertung machst.

Code: Alles auswählen

$field = randomField();

$result = evaluate( $field );

presentResult( $result );
[code]

Dadurch, dass Du kapselst, kannst Du nun auch Tests schreiben:

[code]
$field = generate( 1, 1, 1, 0, 0, 0, 0, 0, 0 );  // First Row
$result = evaluate( $field );
testResult( $result, "SIEG! Du hast 3 Gleiche in einer Reihe!" );

$field = generate( 0, 0, 0, 1, 1, 1, 0, 0, 0 );  // Second Row
$result = evaluate( $field );
testResult( $result, "SIEG! Du hast 3 Gleiche in einer Reihe!" );

...
[code]

[/quote]

Wenn ich das so mache wie du das vorgeschlagen hast muss ich doch alles umschreiben ? Zudem hab ich um ehrlich zu sein keine Ahnung was du meinst mit deiner Idee^^ 

[quote="Xin"]
Die Funktion evaluate() sollte nichts mehr ausgeben. Also erst recht nichts doppelt. Die solltest Du so programmieren, dass sie einfach genau das Ergebnis liefert, das Du haben möchtest. Hier denke ich aber eher an eine Enum, als an "SIEG! Du hast 3 Gleiche in einer Reihe!". ^^[/quote]
Das mit dem "SIEG" und "DOPPELSIEG" kann man ja noch ändern, aber erst mal solls funktionieren. ^^
Aber in die Funktion evaluate() müsste ich dann die ganze ifs reinmachen, die zZ testen was es ist, ob alle gleich sind, etc. oder?


Und mal was anderes :D
wie füg ich denn nen Button ein der das alles ausführt?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Automat

Beitrag von Xin » Fr Jan 08, 2016 12:18 am

sashpta hat geschrieben:Wenn ich das so mache wie du das vorgeschlagen hast muss ich doch alles umschreiben ? Zudem hab ich um ehrlich zu sein keine Ahnung was du meinst mit deiner Idee^^
Zum einen glaube ich nicht, dass Du so viel Code hast, dass ein neuschreiben ein Problem darstellt, zum anderen ist Neuschreiben eine gute Möglichkeit, um Alternativen auszuprobieren und zu lernen.

Die Idee ist, dass Du Dein Problem in kleinere Blöcke unterteilst.
Erstelle ein Feld.
Prüfe, ob das Feld gewinnt.
Gebe ein Ergebnis aus.
sashpta hat geschrieben:Aber in die Funktion evaluate() müsste ich dann die ganze ifs reinmachen, die zZ testen was es ist, ob alle gleich sind, etc. oder?
Richtig.
sashpta hat geschrieben:Und mal was anderes :D
wie füg ich denn nen Button ein der das alles ausführt?

Code: Alles auswählen

<form method="get" action="script.php">
<input type="submit" /> 
</form>
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.

sashpta
Beiträge: 104
Registriert: Fr Dez 12, 2014 2:55 pm

Re: Automat

Beitrag von sashpta » Fr Jan 08, 2016 10:43 am

Ich werde das mit dem Button später mal ausprobieren danke
Wie kann ich denn für jedes Feld einzeln überprüfen ob es gewinnt? Das hängt ja von den anderen Felder ab.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Automat

Beitrag von Xin » Sa Jan 09, 2016 11:39 am

sashpta hat geschrieben:Wie kann ich denn für jedes Feld einzeln überprüfen ob es gewinnt? Das hängt ja von den anderen Felder ab.
Ich meine mit Feld "Spielfeld", welches aus 9 Elementen besteht.
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.

sashpta
Beiträge: 104
Registriert: Fr Dez 12, 2014 2:55 pm

Re: Automat

Beitrag von sashpta » Sa Jan 09, 2016 1:46 pm

Aber so hab ich das doch oder nicht? Man hat das Feld und dann wird es ausgewertet. Wo ist denn da der Unterschied zu deinem?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Automat

Beitrag von Xin » Sa Jan 09, 2016 2:21 pm

sashpta hat geschrieben:Aber so hab ich das doch oder nicht? Man hat das Feld und dann wird es ausgewertet. Wo ist denn da der Unterschied zu deinem?
Ich übergebe das Feld der Auswertungsfunktion, Du erzeugst es innerhalb der Auswertungsfunktion.
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.
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.

Antworten