php.de

Zurück   php.de > Stellengesuche und Projekthilfe > Freizeit

Freizeit Suche nach neuen Betätigungsfeldern, zur Mitwirkung an bestehenden Projekten o.ä.

Antwort
 
LinkBack Themen-Optionen
Alt 15.02.2012, 22:06  
Neuer Benutzer
 
Registriert seit: 15.02.2012
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Mutschuk befindet sich auf einem aufstrebenden Ast
Standard Hilfe bei Schulprojekt - Schach für 2 Spieler

Ich müsste in der Schule ein Schachspiel für 2 Spieler programmieren. Ich habe gerade erst mit PHP angefangen um bräuchte Hilfe beim Projekt.

Ich möchte in meinem Programm zuerst einmal eine Ausgabe der Spielfelder machen. Die Felder habe ich schon mit mehrdimensionalen Arrays gemacht und eine Abfrage ob die Felder richtig geordnet sind.

Macht euch am besten selbst ein Bild von meinem Code :

PHP-Code:
<?PHP

$Feld
[11] = array(
   
Nummer=>"A1",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Turm",
   
Farbe=>"Weiss");

$Feld[21] = array(
   
Nummer=>"B1",
   
FeldFarbe=>"Weiss",
   
Figur=>"Springer",
   
Farbe=>"Weiss");

$Feld[31] = array(
   
Nummer=>"C1",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Laufer",
   
Farbe=>"Weiss");

$Feld[41] = array(
   
Nummer=>"D1",
   
FeldFarbe=>"Weiss",
   
Figur=>"Dame",
   
Farbe=>"Weiss");

$Feld[51] = array(
   
Nummer=>"E1",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Konig",
   
Farbe=>"Weiss");

$Feld[61] = array(
   
Nummer=>"F1",
   
FeldFarbe=>"Weiss",
   
Figur=>"Laufer",
   
Farbe=>"Weiss");

$Feld[71] = array(
   
Nummer=>"G1",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Springer",
   
Farbe=>"Weiss");

$Feld[81] = array(
   
Nummer=>"H1",
   
FeldFarbe=>"Weiss",
   
Figur=>"Turm",
   
Farbe=>"Weiss");

$Feld[12] = array(
   
Nummer=>"A2",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[22] = array(
   
Nummer=>"B2",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[32] = array(
   
Nummer=>"C2",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[42] = array(
   
Nummer=>"D2",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[52] = array(
   
Nummer=>"E2",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[62] = array(
   
Nummer=>"F2",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[72] = array(
   
Nummer=>"G2",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[82] = array(
   
Nummer=>"H2",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Weiss");

$Feld[13] = array(
   
Nummer=>"A3",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[23] = array(
   
Nummer=>"B3",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[33] = array(
   
Nummer=>"C3",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[43] = array(
   
Nummer=>"D3",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[53] = array(
   
Nummer=>"E3",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[63] = array(
   
Nummer=>"F3",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[73] = array(
   
Nummer=>"G3",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[83] = array(
   
Nummer=>"H3",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[14] = array(
   
Nummer=>"A4",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[24] = array(
   
Nummer=>"B4",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[34] = array(
   
Nummer=>"C4",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[44] = array(
   
Nummer=>"D4",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[54] = array(
   
Nummer=>"E4",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[64] = array(
   
Nummer=>"F4",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[74] = array(
   
Nummer=>"G4",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[84] = array(
   
Nummer=>"H4",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[15] = array(
   
Nummer=>"A5",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[25] = array(
   
Nummer=>"B5",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[35] = array(
   
Nummer=>"C5",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[45] = array(
   
Nummer=>"D5",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[55] = array(
   
Nummer=>"E5",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[65] = array(
   
Nummer=>"F5",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[75] = array(
   
Nummer=>"G5",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[85] = array(
   
Nummer=>"H5",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[16] = array(
   
Nummer=>"A6",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[26] = array(
   
Nummer=>"B6",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[36] = array(
   
Nummer=>"C6",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[46] = array(
   
Nummer=>"D6",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[56] = array(
   
Nummer=>"E6",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[66] = array(
   
Nummer=>"F6",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[76] = array(
   
Nummer=>"G6",
   
FeldFarbe=>"Weiss",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[86] = array(
   
Nummer=>"H6",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Leer",
   
Farbe=>"Leer");

$Feld[17] = array(
   
Nummer=>"A7",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[27] = array(
   
Nummer=>"B7",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[37] = array(
   
Nummer=>"C7",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[47] = array(
   
Nummer=>"D7",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[57] = array(
   
Nummer=>"E7",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[67] = array(
   
Nummer=>"F7",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[77] = array(
   
Nummer=>"G7",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[87] = array(
   
Nummer=>"H7",
   
FeldFarbe=>"Weiss",
   
Figur=>"Bauer",
   
Farbe=>"Schwarz");

$Feld[18] = array(
   
Nummer=>"A8",
   
FeldFarbe=>"Weiss",
   
Figur=>"Turm",
   
Farbe=>"Schwarz");

$Feld[28] = array(
   
Nummer=>"B8",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Springer",
   
Farbe=>"Schwarz");

$Feld[38] = array(
   
Nummer=>"C8",
   
FeldFarbe=>"Weiss",
   
Figur=>"Laufer",
   
Farbe=>"Schwarz");

$Feld[48] = array(
   
Nummer=>"D8",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Dame",
   
Farbe=>"Schwarz");

$Feld[58] = array(
   
Nummer=>"E8",
   
FeldFarbe=>"Weiss",
   
Figur=>"Konig",
   
Farbe=>"Schwarz");

$Feld[68] = array(
   
Nummer=>"F8",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Laufer",
   
Farbe=>"Schwarz");

$Feld[78] = array(
   
Nummer=>"G8",
   
FeldFarbe=>"Weiss",
   
Figur=>"Springer",
   
Farbe=>"Schwarz");

$Feld[88] = array(
   
Nummer=>"H8",
   
FeldFarbe=>"Schwarz",
   
Figur=>"Turm",
   
Farbe=>"Schwarz");


#========================================Spielfelder-Eigabe=============================================================


foreach($Feld AS $wert_x)
{
   foreach(
$wert_x AS $schluessel_x => $endwert_x)
   {
      if (
$endwert_x ==  "Leer") {

      echo 
"Leer";

      }

      elseif (
$endwert_x ==  "Turm") {

      echo 
"Turm";

      }

      elseif (
$endwert_x ==  "Springer") {

      echo 
"Springer";

      }

      elseif (
$endwert_x ==  "Laufer") {

      echo 
"Laufer";

      }

      elseif (
$endwert_x ==  "Konig") {

      echo 
"Konig";

      }

      elseif (
$endwert_x ==  "Dame") {

      echo 
"Dame";

      }

      elseif (
$endwert_x ==  "Bauer") {

      echo 
"Bauer";

      }
   }

   echo 
"<br />\r\n";
}


#==============================================Spielfelder-Anzeige============================================


?>
Ausgabe:
Code:
Turm
Springer
Laufer
Dame
Konig
Laufer
Springer
Turm
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
LeerLeer
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
Bauer
Turm
Springer
Laufer
Dame
Konig
Laufer
Springer
Turm
Wie kann ich das jetzt in die richtige Form bringen bzw. Grafiken für Figuren einbinden?
Hätte vielleicht jemand eine Idee wie ich das mit dem ziehen der Figuren bewerkstelligen kann?

Hoffe auf baldige Antwort
Mutschuk ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.02.2012, 22:33  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde mittels Div-Container ein Raster erstellen.
Du hast ein Div, welcher sich nach rechts x mal wiederholt und dann in der nächsten Reihe wieder x mal weiterläuft u.s.w.
Nun gibt man jedem Div eine ID (einfach fortlaufend). Und danach könnte man ein Array mit den Spielfiguren und id anfertigen, welches dann mit foreach durchlaufen wird und bei passender Id, die Figur gesetzt wird (Bild oder sowas).
Solu ist offline   Mit Zitat antworten
Alt 16.02.2012, 00:07  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Im Grunde ist das Schachbrett(feld) nichst anderes als wie eine Game map. Dazu wurde in diesen Forum schon mal ein link zu einem Tutorial gepostet wie man so eine Map am einfachsten umsetzen kann.

Zunächst solltes du die Map größe bestimmen die ergibt sich bei dir Automatisch durch das Schachbrett diese hat immer die gleiche Größe und immer die gleichen anzahl an Feldern.

Weiters wenn dir es bei Schach schon mal aufgefallen ist haben die eine Nummerierung sowie Buchstaben.

Zb Springer auf A5 , Läufer auf c7 und so weiter.

Mfg Splasch
splasch ist offline   Mit Zitat antworten
Alt 16.02.2012, 00:32  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Sorry, aber mit ner Game map hat das nun wirklich NULL zu tun.
Ein zweidimensionales Array für die Felder bietet sich auf jeden Fall an, weil man darüber gut die Gültigkeit von Zügen (bspw. Rösselsprung) bestimmen kann.
__________________
--
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   Mit Zitat antworten
Alt 16.02.2012, 01:18  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du das Schachspiel lokal mit JavaScript schreiben würdest, fällt der Aufwand für AJAX/PHP/Datenbank/Long-Polling weg und Du kannst direkt auf die Felder zugreifen.
Ich habe vor einer Weile ein Dame-Spiel für JavaScript geschrieben; Aufwand rund ein Nachmittag (hauptsächlich um JS zu lernen).. das geht eindeutig bequemer als mit einem PHP-"Server".
Oder muss das Spiel "online" an zwei verschiedenen PCs gegeneinander spielbar sein?
LG
PS: Du könntest für das Spielfeld auch das <table>-Tag benutzen und es so vorm Aussterben bewahren

edit. Mist, falsch verstanden. Trotzdem: die Ausgabe per PHP ist eigentlich überflüssig und kann auch in JS erledigt werden; am Besten in 2 geschachtelten Schleifen, die eine Tabelle und ein Zweidimensionales Array erzeugen. Die Tabelle kannst Du so schon als Ein/Ausgabe-Modul umbauen:
Code:
<div id="spielfeld">
 <!-- hier kommt die Tabelle rein -->
</div>
<script type="text/javascript">
 var sf = '<table cellpadding="10px">';
 for (var y=1;y<=8;y++) {
  sf += "<tr>";
  for (var x=1;x<=8;x++) {
   sf += '<td id="feld-'+x+'-'+y+'" onclick="clickcallback('+x+','+y+');">&bull;</td>';
  }
  sf += "</tr>";
 }
 sf += "</table>";
 document.getElementById("spielfeld").innerHTML = sf;
 //Wird aufgerufen, wenn der Spieler auf ein Feld klickt
 function clickcallback(x,y) {
  document.getElementById("feld-"+x+"-"+y).style.background = "#ff0000";
 }
</script>
Ist natürlich nur eine Anregung.
Gruß

Geändert von DEdK4ever (16.02.2012 um 01:38 Uhr). Grund: es war spät.
DEdK4ever ist offline   Mit Zitat antworten
Alt 16.02.2012, 08:30  
Neuer Benutzer
 
Registriert seit: 15.02.2012
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Mutschuk befindet sich auf einem aufstrebenden Ast
Standard

@DEdK4ever

Leider ist es so das wir das Spiel nur mit PHP programmieren dürfen.
Mein Lehrer stellt sich das so vor:

Zuerst soll das Spiel lokal auf meinem Laptop spielbar sein.
Dann sollen wir mit MySql das Spiel Online für das Schulnetzwerk spielbar machen so das die Klasse sich anmelden und spielen kann. (Das wird dann extra bewertet.)

Als PHP-Server verwende ich XAMPP1.7.7

Zum Spiel selbst hat er folgende Anforderungen:

-Grafisch muss es noch nicht ausgereift sein (als ob das bei Schach möglich ist )
-Ziehen mit Klick auf die Figur und Klick auf das Feld
-Wenn man auf die Figur geklickt hat sollen die machbaren Zügen hervorgehoben werden.
-Wenn Weis am Zug ist sollen die Schwarzen Figuren nicht anklickbar sein und umgekehrt

@Solu

Mal sehen ob ich deine Idee verstanden habe.

-Ich soll für jedes Feld ein div machen.
-Aus meinem bisherigen Code die Figurenteile herauslöschen und mit dem Wert x ersetzen
-Dann 1 Array mit den Figuren (z.B. Läufer) und dazugehöriger ID (Schwarzer Springer auf Weißem Feld = 2, 0 = Leeres weißes Feld) erstellen und
-Eine Foreach-Schleife durchlaufen lassen und bei wenn x z.B 0 ist ein leeres weißes Feld image einfügen.
Mutschuk ist offline   Mit Zitat antworten
Alt 16.02.2012, 15:18  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Das hier ist mein Dame-Spiel, was ich als JS-Anfänger ohne Internet mal zusammengebastelt habe. Es ist rein in JS, funktioniert in quasi keinem Browser, hat keine Absicherung für Verloren/Gewonnen/Fehler und nur die einfachsten Regeln eingebaut.
Code:
<html>
 <head>
  <title>Dame in JavaScript</title>
  <style type="text/css" >
   table { border:3px solid #a30; }
   table tr td { width:50px;height:50px; }
   table tr td div { width:50px;height:50px; }
   h1 { margin:2px; }
  </style>
 </head>
 <body>
  <h1 id="farbe">&nbsp;</h1>
  <table cellpadding="0" cellspacing="1px" border="0">
   <tr>
    <td id="aa">&nbsp;</td>
    <td id="ab">&nbsp;</td>
    <td id="ac">&nbsp;</td>
    <td id="ad">&nbsp;</td>
    <td id="ae">&nbsp;</td>
    <td id="af">&nbsp;</td>
    <td id="ag">&nbsp;</td>
    <td id="ah">&nbsp;</td>
   </tr>
   <tr>
    <td id="ba">&nbsp;</td>
    <td id="bb">&nbsp;</td>
    <td id="bc">&nbsp;</td>
    <td id="bd">&nbsp;</td>
    <td id="be">&nbsp;</td>
    <td id="bf">&nbsp;</td>
    <td id="bg">&nbsp;</td>
    <td id="bh">&nbsp;</td>
   </tr>
   <tr>
    <td id="ca">&nbsp;</td>
    <td id="cb">&nbsp;</td>
    <td id="cc">&nbsp;</td>
    <td id="cd">&nbsp;</td>
    <td id="ce">&nbsp;</td>
    <td id="cf">&nbsp;</td>
    <td id="cg">&nbsp;</td>
    <td id="ch">&nbsp;</td>
   </tr>
   <tr>
    <td id="da">&nbsp;</td>
    <td id="db">&nbsp;</td>
    <td id="dc">&nbsp;</td>
    <td id="dd">&nbsp;</td>
    <td id="de">&nbsp;</td>
    <td id="df">&nbsp;</td>
    <td id="dg">&nbsp;</td>
    <td id="dh">&nbsp;</td>
   </tr>
   <tr>
    <td id="ea">&nbsp;</td>
    <td id="eb">&nbsp;</td>
    <td id="ec">&nbsp;</td>
    <td id="ed">&nbsp;</td>
    <td id="ee">&nbsp;</td>
    <td id="ef">&nbsp;</td>
    <td id="eg">&nbsp;</td>
    <td id="eh">&nbsp;</td>
   </tr>
   <tr>
    <td id="fa">&nbsp;</td>
    <td id="fb">&nbsp;</td>
    <td id="fc">&nbsp;</td>
    <td id="fd">&nbsp;</td>
    <td id="fe">&nbsp;</td>
    <td id="ff">&nbsp;</td>
    <td id="fg">&nbsp;</td>
    <td id="fh">&nbsp;</td>
   </tr>
   <tr>
    <td id="ga">&nbsp;</td>
    <td id="gb">&nbsp;</td>
    <td id="gc">&nbsp;</td>
    <td id="gd">&nbsp;</td>
    <td id="ge">&nbsp;</td>
    <td id="gf">&nbsp;</td>
    <td id="gg">&nbsp;</td>
    <td id="gh">&nbsp;</td>
   </tr>
   <tr>
    <td id="ha">&nbsp;</td>
    <td id="hb">&nbsp;</td>
    <td id="hc">&nbsp;</td>
    <td id="hd">&nbsp;</td>
    <td id="he">&nbsp;</td>
    <td id="hf">&nbsp;</td>
    <td id="hg">&nbsp;</td>
    <td id="hh">&nbsp;</td>
   </tr>
  </table>
  <script type="text/javascript">
   col_bright = "#999;";
   col_dark = "#444;";
   col_dark_hi = "#9a0";
   fig_bw = "url(bauer-weiss.png)";
   fig_dw = "url(dame-weiss.png)";
   fig_bs = "url(bauer-schwarz.png)";
   fig_ds = "url(dame-schwarz.png)";
   fig_sel = "url(selektion.png)";
   
   n = new Array("","a","b","c","d","e","f","g","h");
   function f(id) {
    return document.getElementById(id);
   }
   
   function felderRendern() {
    var color;
    var black = true;
    for (var r=1;r<9;r++) {
     for (var c=1;c<9;c++) {
      f(n[r]+n[c]).innerHTML = "<div id=\""+n[r]+""+n[c]+"sel\" onclick=\"cc("+r+","+c+");\">&nbsp;</div>";
      if (black) {
       color = col_dark;
      } else {
       color = col_bright;
      }
      f(n[r]+n[c]).style["background-color"] = color;
      black = ! black;
     }
     black = ! black;
    }
   }
   
   felderRendern();
   
   s = new Array();
   //Weiss
   s[1] = new Array(1,1,1);
   s[2] = new Array(1,3,1);
   s[3] = new Array(1,5,1);
   s[4] = new Array(1,7,1);
   s[5] = new Array(2,2,1);
   s[6] = new Array(2,4,1);
   s[7] = new Array(2,6,1);
   s[8] = new Array(2,8,1);
   s[9] = new Array(3,1,1);
   s[10] = new Array(3,3,1);
   s[11] = new Array(3,5,1);
   s[12] = new Array(3,7,1);
   //Schwarz
   s[13] = new Array(8,8,1);
   s[14] = new Array(8,6,1);
   s[15] = new Array(8,4,1);
   s[17] = new Array(7,7,1);
   s[18] = new Array(7,5,1);
   s[19] = new Array(7,3,1);
   s[20] = new Array(7,1,1);
   s[21] = new Array(6,8,1);
   s[22] = new Array(6,6,1);
   s[23] = new Array(6,4,1);
   s[24] = new Array(6,2,1);
   s[16] = new Array(8,2,1);
   
   var fig = fig_bw;
   for (var i=1;i<25;i++) {
    if (i == 13) {
     fig = fig_bs;
    }
    f(n[s[i][0]]+n[s[i][1]]).style["background-image"] = fig;
   }
   
   function update_ueberschrift() {
    if (schwarz_dran) {
     f("farbe").innerHTML = "Schwarz ist am Zug";
    } else {
     f("farbe").innerHTML = "Wei&szlig; ist am Zug";
    }
   }
   function getStein(row,col) {
    for (var i=1;i<25;i++) {
     if ((s[i][0] == row) && (s[i][1] == col) && (s[i][2] > 0)) {
      return i;
     }
    }
    return false;
   }
   
   schwarz_dran = false;
   spielstatus = 1; //1 = Spieler zieht; 2 = Stein selektiert 
   selStein = false;
   eingefarbt = [];
   schlag_ur = [];
   schlag_ul = [];
   schlag_or = [];
   schlag_ol = [];
   
   update_ueberschrift();
   
   function minVal(a,b) {
    if (a < b) {
     return a;
    }
    return b;
   }
   function showOptionen(stein) {
    var row = s[stein][0];
    var col = s[stein][1];
    var feldinh;
    var maxoff;
    schlag_ur.ok = false;
    schlag_ul.ok = false;
    schlag_or.ok = false;
    schlag_ol.ok = false;
    if ((s[stein][2] == 2) || (stein < 13)) {
     //Nach unten rechts
     schlag_ur.ok = true;
     schlag_ur.endpos = [];
     schlag_ur.feinde = [];
     maxoff = minVal(8 - row,8 - col);
     if (maxoff == 0) {
      schlag_ur.ok = false;
     }
     for(var i=1;i<=maxoff;i++) {
      feldinh = getStein(row + i,col + i);
      if (feldinh == false) {
       f(n[row + i]+n[col + i]).style["background-color"] = col_dark_hi;
       eingefarbt[eingefarbt.length] = [row + i,col + i];
       schlag_ur.endpos = [row + i,col + i];
       break;
      }
      if ((feldinh < 13) == (stein < 13)) {
       schlag_ur.ok = false;
       break;
      }
      schlag_ur.feinde[schlag_ur.feinde.length] = feldinh;
     } 
     //Nach unten links
     schlag_ul.ok = true;
     schlag_ul.endpos = [];
     schlag_ul.feinde = [];
     maxoff = minVal(8 - row,col - 1);
     if (maxoff == 0) {
      schlag_ul.ok = false;
     }
     for(var i=1;i<=maxoff;i++) {
      feldinh = getStein(row + i,col - i);
      if (feldinh == false) {
       f(n[row + i]+n[col - i]).style["background-color"] = col_dark_hi;
       eingefarbt[eingefarbt.length] = [row + i,col - i];
       schlag_ul.endpos = [row + i,col - i];
       break;
      }
      if ((feldinh < 13) == (stein < 13)) {
       schlag_ul.ok = false;
       break;
      }
      schlag_ul.feinde[schlag_ul.feinde.length] = feldinh;
     }
    }
    if ((s[stein][2] == 2) || (stein > 12)) {
     //Nach oben rechts
     schlag_or.ok = true;
     schlag_or.endpos = [];
     schlag_or.feinde = [];
     maxoff = minVal(row - 1,8 - col);
     if (maxoff == 0) {
      schlag_or.ok = false;
     }
     for(var i=1;i<=maxoff;i++) {
      feldinh = getStein(row - i,col + i);
      if (feldinh == false) {
       f(n[row - i]+n[col + i]).style["background-color"] = col_dark_hi;
       eingefarbt[eingefarbt.length] = [row - i,col + i];
       schlag_or.endpos = [row - i,col + i];
       break;
      }
      if ((feldinh > 12) == (stein > 12)) {
       schlag_or.ok = false;
       break;
      }
      schlag_or.feinde[schlag_or.feinde.length] = feldinh;
     }
     //Nach oben links
     schlag_ol.ok = true;
     schlag_ol.endpos = [];
     schlag_ol.feinde = [];
     maxoff = minVal(row - 1,col - 1);
     if (maxoff == 0) {
      schlag_ol.ok = false;
     }
     for(var i=1;i<=maxoff;i++) {
      feldinh = getStein(row - i,col - i);
      if (feldinh == false) {
       f(n[row - i]+n[col - i]).style["background-color"] = col_dark_hi;
       eingefarbt[eingefarbt.length] = [row - i,col - i];
       schlag_ol.endpos = [row - i,col - i];
       break;
      }
      if ((feldinh > 12) == (stein > 12)) {
       schlag_ol.ok = false;
       break;
      }
      schlag_ol.feinde[schlag_ol.feinde.length] = feldinh;
     }
    }
   }
   function zugSpielen(row,col,feinde) {
    for (var i=0;i<feinde.length;i++) {
     s[feinde[i]][2] = 0;
     f(n[s[feinde[i]][0]]+n[s[feinde[i]][1]]).style["background-image"] = "";
    }
    f(n[s[selStein][0]]+n[s[selStein][1]]+"sel").style["background-image"] = "";
    f(n[s[selStein][0]]+n[s[selStein][1]]).style["background-image"] = "";
    s[selStein][0] = row;
    s[selStein][1] = col;
    if (((selStein < 13) && (row == 8)) || ((selStein > 12) && (row == 1))) {
     s[selStein][2] = 2;
    }
    var sfig;
    if (selStein < 13) {
     sfig = fig_bw;
     if (s[selStein][2] == 2) {
      sfig = fig_dw;
     }
    } else {
     sfig = fig_bs;
     if (s[selStein][2] == 2) {
      sfig = fig_ds;
     }
    }
    f(n[row]+n[col]).style["background-image"] = sfig;
   }
   function cc(row,col) {
    if (spielstatus == 1) {
     stein = getStein(row,col);
     if (!(stein == false)) {
      if ((schwarz_dran && (stein > 12)) || (!schwarz_dran && (stein < 13))) {
       f(n[row]+n[col]+"sel").style["background-image"] = fig_sel;
       selStein = stein;
       spielstatus = 2;
       showOptionen(stein);
      }
     }
    } else {
     var zug = false;
     if (schlag_ur.ok && (row == schlag_ur.endpos[0]) && (col == schlag_ur.endpos[1])) {
      zug = [row,col,schlag_ur.feinde];
     }
     if (schlag_ul.ok && (row == schlag_ul.endpos[0]) && (col == schlag_ul.endpos[1])) {
      zug = [row,col,schlag_ul.feinde];
     }
     if (schlag_or.ok && (row == schlag_or.endpos[0]) && (col == schlag_or.endpos[1])) {
      zug = [row,col,schlag_or.feinde];
     }
     if (schlag_ol.ok && (row == schlag_ol.endpos[0]) && (col == schlag_ol.endpos[1])) {
      zug = [row,col,schlag_ol.feinde];
     }
     if (zug == false) {
      spielstatus = 1;
      felderRendern();
      cc(row,col);
     } else {
      zugSpielen(zug[0],zug[1],zug[2]);
      schwarz_dran = ! schwarz_dran;
      spielstatus = 1;
      update_ueberschrift();
      felderRendern();
     }
    }
   }
   
  </script>
 </body>
</html>
Bist Du sicher, dass euer Lehrer ein Schach-Browsergame mit Server und Datenbank verlangt, was sehr sicher mehr als zwanzigmal so viel Aufwand ist wie der Schnipsel oben?
Das wird auf jeden Fall eine menge Arbeit
Viel Glück
DEdK4ever ist offline   Mit Zitat antworten
Alt 16.02.2012, 15:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

So schwer ist das nicht, habe genau das beschriebene selbst schon mal als Spaßprojekt umgesetzt. Das kriegt man hin als Anfänger. Vielleicht nicht als blutiger Einsteiger.
__________________
--
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   Mit Zitat antworten
Alt 16.02.2012, 16:39  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schwerer wird es, wenn man gegen den "Computer" spielen soll.
Solu ist offline   Mit Zitat antworten
Alt 16.02.2012, 17:03  
Neuer Benutzer
 
Registriert seit: 15.02.2012
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Mutschuk befindet sich auf einem aufstrebenden Ast
Standard

@DEdK4ever

Ich bin mir sicher das mein Lehrer das verlangt. Das ist ja das Dumme.

Ich habe noch nie Kontakt mit PHP gehabt. Alles was ich weiß habe ich mir aus dem Internet zusammengestoppelt.

@nikosch

Wie hast du das umgesetzt ?
Mein größtes Problem sind die Züge und die Überprüfung ob der Zug korrekt ist bzw. ob Schach/Matt vorliegt.
Auch die Grafische Umsetzung hab ich noch nicht hinbekommen.
Eigentlich habe ich KEINE AHNUNG wie ich das umsetzen soll.
Mein Abgabetermin ist am 13.3. für das lokal-spielbare Spiel

@Solu

Nein bloß nicht. Das hätte mir noch gefehlt.
Mutschuk ist offline   Mit Zitat antworten
Antwort


Themen-Optionen

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
Aktualisierung aller Spieler gleichzeitig befubo PHP Einsteiger 6 16.05.2011 12:35
Brauche Hilfe bei PHP / Onlineshop dennis2k Gewerblich 0 31.01.2011 19:08
VereinsDB - Hilfe Ava Datenbanken 4 25.03.2010 23:02
Scriptsuche Script für Logdatei Kochleffel Scriptbörse 5 06.11.2009 11:57
Zählen von unterschiedlichen Werten Dynamite53 Datenbanken 3 04.06.2009 15:48
Spieler Liste mit und ohne Clan Namen Anzeigen lassen splasch Datenbanken 5 21.03.2009 13:18
Tabelle für einzelne Spieler und Auswertung ChrisV PHP Tipps 2006 5 11.03.2006 21:39
Komplizierte Berechnung - HILFE! djma PHP Tipps 2005 8 25.04.2005 21:38
HILFE - suche schon 4 Stunden djma PHP Tipps 2005 12 22.04.2005 00:33
php Neuling braucht mal schnell hilfe !! PHP Tipps 2005 5 05.03.2005 13:30
[Erledigt] Hilfe Beim Formular PHP Tipps 2005 1 06.02.2005 16:43
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
Hilfe bei Programmierprojekt gesucht Beitragsarchiv 15 23.08.2004 10:13
Auswerten und in Tabelle einfügen PHP Tipps 2004 3 04.06.2004 16:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
2 spieler php, php schachbrett, schulprojekt schach, php schulprojekt, schachbrett php, powered by phpbb g4 off topic

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:33 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