<?php

/**
 * @author Jan Zuur
 * @copyright 2008
 */
 
$mycanvas=new canvas;

class 
canvas {
    public 
$x,$y,$h,$b;
    function 
paint($x,$y,$c){
    }
}

error_reporting(E_ALL);

    function 
meters2pixels($meters)
    {
        return (
$meters*100);
    }
    


class 
Baksteen {
    
    private 
$h$b$d$k$canvas;
    
    function 
__construct($hoogte=7$breedte=24$diepte=10$kleur='rood') {
        
$this->$hoogte;
        
$this->$breedte;
        
$this->$diepte;
        
$this->$kleur;
    }
    
    function 
breedte($breedte) {
        if (
defined($breedte)) {
            
$this->$breedte;
        }
        return 
$this->b;
    }
    
    function 
paint() {
        
// Plaats de steen of specie op een canvas
        // positie van de pointer verschuift naar x + b en y blijft gelijk
    
}
}

class 
Specie extends Baksteen {
    
    private 
$h$b$d$k;
    
    function 
__construct($breedte=1$hoogte=7$diepte=10$kleur='grijs') {
        
parent::__construct($breedte$hoogte$diepte$kleur);
    }
}

class 
RijBaksteen {
    
    public 
$steen$passteen;
    private 
$l$t$specie$opspecie;
    
    function 
__construct($lengte$tussen=1) {
        
$this->$lengte;
        
$this->$tussen;
        
$this->steen = new Baksteen;
        
$this->passteen = new Baksteen;
        
$this->specie = new Specie($tussen);
        
$this->opspecie = new Specie($lengte,1);
    }
    
    function 
hoogte() {
        return (
$this->steen->hoogte()+$this->t);
    }
    function 
paint() {
        
//for $x=1 to $l div $this->steen 
        
$BreedtePerSteen $this->steen->breedte() + $this->specie->breedte();
        
$this->opspecie->paint();
        
$mycanvas->+= $this->opspecie->hoogte(); 
        for (
$x=1;$x<(floor($this->$BreedtePerSteen )); $x++) {
            
$this->steen->paint();
            
$this->specie->paint();
        }
        
$this->passteen->breedte($this->- (floor($this->$BreedtePerSteen )*$$BreedtePerSteen));
        
$this->passteen->paint();
        
$mycanvas->+= $this->passteen->hoogte();
        
$mycanvas->-=  $this->l;        
    }


class 
Muur {
    
    private 
$h$b$x$y$rij;
    
    function 
__construct($xPos$yPos$hoogte$breedte) {
        
$this->$hoogte;
        
$this->$breedte;
        
$this->$xPos;
        
$this->$yPos;
        
$this->rij = new RijBaksteen($breedte);
    }
    
    function 
paint() {
        
//for $x=1 to $l div $this->steen 
        
$mycanvas->$mycanvas->0;
        
        for (
$tel=1;$tel<(floor($this->$this->rij->hoogte() )); $tel++) {
            
$this->rij->paint();
        }
    }



$muur = new Muur(10,10,100,300);
$muur->paint();


// in dit voorbeeld missen nog ramen, deuren en een dak.
// natuurlijk is er nog veel meer mogelijk, maar het gaat om het principe.
?>