Hallo,
weiß jetzt nicht genau ob in die PHP sektion damit oder html, denke mal in php ist es besser aufgehoben
habe eine aufgabe in der schule bekommen, wo ich aus einem 2 dimensionalen array (buchstabenquadrat)
z.B.
http://www.mensa.at/images/Wortsuche.gif
tiernamen raussuchen lassen muss, und anschließend farblich markiere
also z.B. ist eingabe „Zebra“ und sucht dann im array (waagerecht und senkrecht) nach dem wort zebra
So, bin mit dem ganzen Teil schon so gut wie fertig
allerdings schaffe ich nicht die Variablen, die zum bereits gefundenen wort gehört, so zu ändern, dass sie in der tabelle mit einer anderen farbe zu versehen
[PHP]echo „<table border="1">“; //Schleife um Tabelle zu erzeugen
for($i=0;$i<20;$i++){
echo „“;
$y=$i;
for($j=0;$j<20;$j++){
$x=$j;
echo " ";
echo $array[$y][$x];
echo „“;
}
echo „“;
}
echo "</table>";[/PHP]so ist die gesammte tabelle gelb
die farbe will ich im script weiter oben direkt in einer schleife einfügen, indem ich die variable ändere (ich kann nicht alle variablen grundlegend ändern, dann klappt das raussuchen nicht mehr)
um nächträglich rot reinzukriegen (also in die variable) müsste ich ein neues td auf machen
also in etwa so:
[PHP]$array[$y][$x]=„“$array[$y][$x]„“;[/PHP]anders schluckt der die farbe nicht… wie also kann ich die noch einfügen?
so allerdings passt die gesamte tabelle nicht mehr…
hier auch mal der gesamte quelltext:
[PHP]
<body bgcolor="lightblue">
<h2>Willkommen beim Spiel "Buchstabenquadrat"</h2><br>
<h3> Es läuft wie folgt: <br>
Dort unten ist ein Buchstabenquadrat zu sehen, in diesem sind Tiernamen versteckt.<br>
Sie sind waagerecht von links nach rechts versteckt.<br>
Schaffst Du es alle Tiere zu finden?<br>
Des weiteren gelten nur Tiernamen, Buchstabenkombinationen wie "XY" mögen zwar vorhanden sein,<br>
zählen aber nicht als Tier!<br></h3><br>
Hier Tiername eingeben:
<form action="Buchstabenquadrat versuch.php" method="post">
<input type="text" name="tiername">
z.B. "AFFE",Wichtig: vorallem in <font color=darkred><b>GROßBUCHSTABEN!!! </b> </font> <br>
<input type="submit">
</form>
<?php
// Hier wäre nun ein array mit 400 zeilen, da ich aber max 10k buchstaben nutzen darf, einach mal gekürzt
$array[0][0]=„A“;
$array[0][1]=„M“;
$array[0][2]=„S“;
$array[0][3]=„E“;
$array[0][4]=„L“;
.
.
.
$array[19][17]=„E“;
$array[19][18]=„E“;
$array[19][19]=„S“;
$tiername=$_POST[‚tiername‘];
$a=strlen($tiername);
IF(isset($tiername)){ // für zähl. gesteuerte Schleife
if(empty($tiername)){
echo „Gib bitte den Tiernamen an!
“; //wenn nicht gesetzt oder leer, anfragen
}
}else{
echo „Gib bitte den Tiernamen an!
“;
}
$x=0; // X-Achse im Array
$y=0; //Y-Achse im Array
$richtig=0; // weiterer Zähler
$treffer=0; // 0 oder 1 Variable um zu sagen ob das Wort vorhanden ist
for($y=0;$y<20;$y++){ //Vorgang für Waggerecht l nach r
for($x=0;$x<20;$x++){ //Durchzählen der Felder von 0/0 bis 19/19
if($tiername[0]==$array[$y][$x]){ //Checken ob 1. Buchstabe im jetzigen Feld gleich ist
for($b=1;$b<$a;$b++){ //wenn ja, dann wird weiter gerpüft, in oben genannten Richtung
if($tiername[$b]==$array[$y][$x+$b]){
$richtig=$richtig+1; //Zähler für die Richtigen Buchstaben
}
if($richtig==$a-1){ //wenn Zähler hoch genug, dann „treffer“, somit das richtige Wort
$treffer=1;
}
}
$richtig=0;
if($treffer==1){
$array[$y][$x]=$array[$y][$x]; //Hier habe ich vor, die Farbe einzufügen
for($b=1;$b<$a;$b++){
if($tiername[$b]==$array[$y][$x+$b]){
$array[$y][$x+$b]=$array[$y][$x+$b];
}
}
}
}
}
}
echo „Deine Antwort:“.$tiername."
";
if($treffer==0&&isset($tiername)){
echo „Schade! Das war wohl nichts! “;
}
if($treffer==1&&isset($tiername)){
echo „Treffer! Der Tiername ist vorhanden!“;
}
echo „<table border="1">“; //Schleife um Tabelle zu erzeugen
for($i=0;$i<20;$i++){
echo „“;
$y=$i;
for($j=0;$j<20;$j++){
$x=$j;
echo " ";
echo $array[$y][$x];
echo „“;
}
echo „“;
}
echo "</table>";
?>
</body>
[/PHP]