php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.11.2010, 19:30  
Choba
Gast
 
Beiträge: n/a
Standard Tabellenfelder ansprechen

Hallo,

ich bin noch ein absoluter Anfänger in PHP, also entschuldigt, wenn das ne doofe Frage ist

Ich habe vor ein kleines 2D-Labyrinth-Spiel zu programmieren, bei dem das Labyrinth als Tabelle dargestellt wird und die Felder dann entweder Mauern oder Wege sind. Durch Anklicken der Felder um den Spieler herum, soll man sich dann auf das entsprechende feld bewegen können.

Ich habe die Felder bis jetzt einfach so:

Code:
<input type="image" ...>
erzeugt und in der php-Datei dann eben

Code:
if(ISSET($_POST[*feldname*_x])){ ... }
Würde das erstmal theoretisch so funktionieren können?
Und dann die eigentliche Frage: Wie ändere ich dann vom Server aus die Bilder in den einzelnen Feldern? Also wie setze ich das Bild von der Spielfigur dann auf das angeklickte Feld? Ich muss ja irgendwie die einzelnen Felder ansprechen können, also *feld*.src="bild.jpg" oder so ähnlich... Ist das möglich?

Danke schonmal
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.11.2010, 19:40  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was du bisher an hast, schaut soweit ganz gut aus.

Um die Bilder zu steuern, würde es sinnvoll sein, ein 2D-Array mit dem Spielfeld zu initialisiern. Idealerweise ist ein Feld in dem Array wieder ein Array in dem du den Pfad zum Bild (oder eine ID für das Bild) hinterlegst und bestimmte Eigenschaften (mauer: wenn true, darf es nciht betreten werden, ...) gesetzt werden.

Mit diesem Array und 2 Schleifen generierst du die Tabelle, wie du schon geschrieben hast. Ob du dafür input-Felder verwendest oder normale img-Tags ist eigentlich Geschmacksache.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline  
Alt 23.11.2010, 21:56  
Choba
Gast
 
Beiträge: n/a
Standard

Gut, vielen Dank

Ich hab jetzt versucht das umzusetzen, aber ich hab ein glaub ich ganz einfaches Problem:

Ich habe die Tabelle jetzt so erzeugt:

Code:
for ($i = 1; $i < 13; $i++)
       {
           echo "  <tr>\n";

           for($j = 1; $j < 17; $j++)
           {
              echo "    <td><input type=\"image\" name=\"$i%$j\" src=$icons[$i][$j]></td>\n";
           }

           echo "  </tr>\n";
       }
und das Array so:

Code:
$icons = array(	"1" => array("1" => "Icons/Mauer.jpg",
								"2" => "Icons/Mauer.jpg",
								"3" => "Icons/Mauer.jpg",
								"4" => "Icons/Mauer.jpg", ...
Allerdings bekomm ich als Ausgabe dann nur eine Tabelle in der in allen Feldern "Daten absenden" steht... Und wenn ich den Quelltext aufrufe, steht bei src auch nur src=[1] bzw. [2] usw...

Ist der Aufruf von dem Array mit [$i][$j] falsch?
 
Alt 23.11.2010, 22:00  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Choba Beitrag anzeigen
PHP-Code:
echo "    <td><input type=\"image\" name=\"$i%$j\" src=$icons[$i][$j]></td>\n"
http://www.php.net/manual/en/languag...string.parsing
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 23.11.2010, 22:00  
Erfahrener Benutzer
 
Benutzerbild von md5()
 
Registriert seit: 10.12.2009
Beiträge: 122
PHP-Kenntnisse:
Anfänger
md5() zeigte ein beschämendes Verhalten in der Vergangenheit
md5() eine Nachricht über ICQ schicken
Standard

wenn du etwas warten wuerdest, werde ich dir mein 2d spiel posten das ich gerade schreibe....aus langweile ^^
md5() ist offline  
Alt 23.11.2010, 22:07  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Wie ändere ich dann vom Server aus die Bilder in den einzelnen Feldern? Also wie setze ich das Bild von der Spielfigur dann auf das angeklickte Feld?
Mit einem Reload (Request). ALternativ Ajax.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 23.11.2010, 22:33  
Erfahrener Benutzer
 
Benutzerbild von md5()
 
Registriert seit: 10.12.2009
Beiträge: 122
PHP-Kenntnisse:
Anfänger
md5() zeigte ein beschämendes Verhalten in der Vergangenheit
md5() eine Nachricht über ICQ schicken
Standard

Spiel
Soweit bin ich gekommen. Soll ich code posten ?
md5() ist offline  
Alt 23.11.2010, 22:39  
Choba
Gast
 
Beiträge: n/a
Standard

Das wäre supernett, danke

Und ich hab jetzt auch versucht den Array-Aufruf $icons[$i][$j] in {} zu setzen und alles, was da auf dieser Seite stand ausprobiert, aber da ändert sich nichts...
Ich hab das Array auch schon geändert und statt

array("1" => array(...) jetzt nur array(array(...))

geschrieben, weil ich dachte, dass es vielleicht ein Problem ist, wenn die Indizes im Array Strings sind und die Schleife aber mit Integers durchlaufen wird, aber da ändert sich gar nichts...

Danke auf jeden Fall schonmal an alle
 
Alt 23.11.2010, 22:41  
Erfahrener Benutzer
 
Benutzerbild von md5()
 
Registriert seit: 10.12.2009
Beiträge: 122
PHP-Kenntnisse:
Anfänger
md5() zeigte ein beschämendes Verhalten in der Vergangenheit
md5() eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Choba Beitrag anzeigen
Das wäre supernett, danke

Und ich hab jetzt auch versucht den Array-Aufruf $icons[$i][$j] in {} zu setzen und alles, was da auf dieser Seite stand ausprobiert, aber da ändert sich nichts...
Ich hab das Array auch schon geändert und statt

array("1" => array(...) jetzt nur array(array(...))

geschrieben, weil ich dachte, dass es vielleicht ein Problem ist, wenn die Indizes im Array Strings sind und die Schleife aber mit Integers durchlaufen wird, aber da ändert sich gar nichts...

Danke auf jeden Fall schonmal an alle
Das hat spass gemacht dieses mini game zu coden, danke dass du mir die langweile vertrieben hast
da ist der code
PHP-Code:
<?php
//http://www.php-deutsch.de
//http://www.php-deutsch.de/forum/

//karte 1=wand ; 0=weg/pfad/grass
$karte = array(
=> array(1,1,1,1,1,1,1), 
=> array(1,0,0,0,1,0,1), 
=> array(1,1,0,0,1,0,1),
=> array(1,0,0,1,0,0,1),
=> array(1,1,0,0,1,0,1),
=> array(1,0,0,0,0,0,1),
=> array(1,1,1,1,1,1,1)
);


//position wechsel
if (isset($_GET['x'],$_GET['y']))
{
  
$karte[$_GET['y']][$_GET['x']] = 2;      
}


//spielfeld
echo "<table cellspacing=0 cellpadding=0>";
                     
for(
$i=0;$i<7;$i++) // y achse
{
       echo 
"<tr>";
              for (
$u=0;$u<7;$u++) // x achse
              
{
                     
                     if (
$karte[$i][$u] == 1)
                     {
                            echo 
"<td><img src=wand.png></td>";
                     }elseif (
$karte[$i][$u] == 0){
                            echo 
"<td><a href=spiel.php?y={$i}&x={$u}><img src=grass.jpg></a></td>";
                     }else{
                            echo 
"<td><img src=spieler.png></td>";
                     }      
                     
              }
       echo 
"</tr>";
}

echo 
"</table>";
?>
md5() ist offline  
Alt 23.11.2010, 22:45  
Choba
Gast
 
Beiträge: n/a
Standard

Ah ok, stimmt, ich kann den Pfad für das Bild ja auch einfach erst in der Schleife mit if-Abfragen eingeben... Danke^^ Da umgeh ich mein Problem dann ganz gut Ich versuchs gleich mal

Aber nur interesshalber... Was war denn da bei mir der Fehler? Warum konnte man das nicht so schreiben?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Dynamische Elemente (createElement) per CSS ansprechen Arne Drews JavaScript, Ajax und mehr 6 01.09.2010 21:52
jQuery Bild in DIV ansprechen. JanM JavaScript, Ajax und mehr 2 14.06.2010 13:12
Ansprechen eines Arrays aus *.csv D4rth R4tz3 PHP Tipps 2010 1 19.04.2010 21:06
[Erledigt] $_POST['Feld'] nicht direkt ansprechen Ahrta5 PHP Tipps 2009 21 15.01.2010 15:07
Java Server mit PHP ansprechen Broadcast PHP Tipps 2008 2 02.04.2008 16:34
Proxys mit Socks4 und 5 testen bzw. ansprechen? Frank Burian PHP-Fortgeschrittene 2 21.02.2007 19:40
Formular in Hauptfenster auf iframe ansprechen R.E.M. HTML, Usability und Barrierefreiheit 2 24.09.2006 15:33
Unsichtbares Formularfeld mit Javascript ansprechen mAy^daY HTML, Usability und Barrierefreiheit 6 13.08.2006 21:25
Prozedur auf MSSQL-Server mit php ansprechen duerov PHP Tipps 2006 2 03.08.2006 10:07
Seite per ID ansprechen? tayke PHP Tipps 2006 4 01.06.2006 23:37
leeren div-container ansprechen HTML, Usability und Barrierefreiheit 4 18.04.2005 11:04
Einen bestimmten Button in einer Radio Group ansprechen HTML, Usability und Barrierefreiheit 2 12.04.2005 16:31
AVM KEN als lokalen SMTP Server ansprechen workaholic PHP Tipps 2005 3 04.02.2005 13:20
Datenbankfelder ansprechen PHP Tipps 2005 1 04.01.2005 20:01
Einzelne Fetches aus MySQL Datenbank ansprechen PHP Tipps 2004-2 5 22.11.2004 15:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php tabelle ansprechen, html tabellen ansprechen php, jquery feld aus tabelle, php tabellenfelder, http://www.php.de/php-einsteiger/74303-tabellenfelder-ansprechen.html, php feldern und tabellen, quelltext array 1, javascript feld einer tabelle asprechen, php table ansprechen, javascript tabellenfeld ansprechen, mysql feld ansprechen, javascript tabellen ansprechen, element in tabelle ansprechen javascript, html-tabelle ansprechen, php tabellen felder, php array auf tabellennamen und feldern, tabelle ansprechen html, jedes dritte feld einer tabelle ansprechen, tabelle mit javascript ansprechen, html tabelle felder ansprechen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum