PHP Schachbrett

Hab da mal was zusammen gebastelt:
PHP:
<?php
class Schachbrett
{
    private $schachspiel = array(
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 )
    );

    public function Brett()
    {
        $fuellen = array();
        $class = '';
        $sizeOuter = count( $this->schachspiel );
        echo '<table class="t" border="1">';
        for( $z = 0; $z < $sizeOuter; $z++ ) {
            if ( ( $z % 2 ) == 0 ) {
                $fuellen[0] = 'f';
                $fuellen[1] = 'd';
            } else {
                $fuellen[0] = 'd';
                $fuellen[1] = 'f';
            }

            $sizeInner = count( $this->schachspiel[$z] );
            echo '<tr>';
            for( $s = 0; $s < $sizeInner; $s++ ) {
                if( ( $s % 2 ) == 0 ) {
                    $class = $fuellen[0];
                } else {
                    $class = $fuellen[1];
                }
                echo '<td class="'.$class.'"></td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
}
?> 
<html> 
<head> 
<title>Schach</title> 
<style>  
.t {float: left;} 
.t td {width: 10px; height: 10px;} 
.t td.f {background-color: yellow;} 
.t td.d {background-color: red;} 
</style> 
</head> 
<body>
<?php 
$schachbrett = new Schachbrett(); 
$schachbrett->Brett(); 
?> 
</body> 
</html>

Gruß
 
Zuletzt bearbeitet:
Und ich hab mit dem von Raisch noch etwas rum gebastelt ^^

PHP:
<?php
class Schachbrett {
    private $schachspiel = array(
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ),
        array( 0, 0, 0, 0, 0, 0, 0, 0 ));

    public function Brett(){
        echo '<table class="t" border="1">';
        for($i=0,$n=0,$iEnd=count($this->schachspiel); $i<$iEnd; $i++ ){
            echo '<tr>';
            ++$n;
            foreach ($this->schachspiel[$i] as $field){
                echo '<td class="'.((++$n&1)?'f':'d').'"></td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
}
?> 
<html> 
<head> 
<title>Schach</title> 
<style>  
.t {float: left;}
.t td {width: 10px; height: 10px;} 
.t td.f {background-color: yellow;} 
.t td.d {background-color: red;} 
</style> 
</head> 
<body>
<?php 
$schachbrett = new Schachbrett(); 
$schachbrett->Brett(); 
?> 
</body> 
</html>
 
Zuletzt bearbeitet:
"%" ist der Modulo-Operator.
http://de.wikipedia.org/wiki/Modulo#Modulo
Dieser wird dazu verwendet den Rest einer ganzzahligen Division zu ermitteln.
Ob es dafür eine andere Schreibweise gibt ? JA
Wie sieht diese aus ? Nun ... das hängt von der Sprache ab , aber im allgemeinen müsstest du prüfen ob bei einer Gleitkommazahldivision das Ergebnis einer Ganzzahl entspricht (Rest == 0) oder eben nicht (Rest != 0).
Der Modulo-Operator geht sogar noch einen Schritt weiter und rechnet dir den Nachkommaanteil automatisch in eine Ganzzahl entsprechend des Divisors um. Du brauchst hier lediglich zu prüfen ob dieser gleich 0 ist.
Ansonsten gehört der Modulo-Operator zu den grundlegenden mathematischen Operatoren fast jeder Programmiersprache , ist allerdings nicht in jeder verfügbar.
 
-.-'
Damit prüfst du ob der INHALT des Elementes '0' ist. Was wir hier versucht haben ist logisch mithilfe von Modulo gegen den Zähler zu arbeiten ... das hat mit INHALT des Arrays überhaupt nichts zu tun.
 
So wie stelle ich das an, das die Buchstaben also zB. "B" in der 2. Zeile auftauchen? (Wie halt 8 Bauer)
Mein PHP Code dafür:

PHP:
<?php
class Schachbrett 
{
	private $schachspiel = array (	array (0,0,0,0,0,0,0,0),
									array ("B","B","B","B","B","B","B","B"),
									array (0,0,0,0,0,0,0,0),
									array (0,0,0,0,0,0,0,0),
									array (0,0,0,0,0,0,0,0),
									array (0,0,0,0,0,0,0,0),
									array ("B","B","B","B","B","B","B","B"),
									array (0,0,0,0,0,0,0,0)
								);

	
	function Brett() 
	{
		
		$brett = "B";
		$fuellen = array ();
			echo "<table class = 't' border= '1'>"; 
				for ($z=0; $z < count($this->schachspiel); $z++)
				{
						echo '<tr>';
							for ($s=0; $s<count($this->schachspiel[$z]); $s++)
							{								
								if($z%2 == 0)
									$brett = ($s%2 == 0) ? "w" : "b";
								else 
									$brett = ($s%2 == 1) ? "w" : "b";
									
								echo '<td class="'.$brett.'"></td>';
							}
						echo '</tr>';
				}
		echo '</table>';
	}
}
?>
<html> 
	<head> 
		<title>Schach</title> 
			<style>  
				
				.t td {width: 25px; height: 25px;} 
				.t td.b {background-color: black;} 
				.t td.w {background-color: white;} 
			</style> 
	</head> 
<body>
	<?php 
		$schachbrett = new Schachbrett(); 
		$schachbrett->Brett(); 
	?> 
</body> 
</html>


muss das array dann drei-deminsional sein****
 
Zuletzt bearbeitet:
Zurück