HTML;
//this function generates a rectangle
function g($id,$height,$width,$xpos,$ypos,$red1,$green1,$blue1,$red2,$green2,$blue2,$zindex) {
$heightplus = $height + 1;
$red = $red1; //preserve original
$green = $green1;
$blue = $blue1;
$red_dif = ($red1 - $red2);
if ($red_dif > -1) {// result not negative
$math_red = -1;
$height_red = $red_dif/$height;
}
if ($red_dif < 0) {// result negative
$red_dif = ($red2 - $red1);
$math_red = 1;
$height_red = $red_dif/$height;
}
$green_dif = ($green1 - $green2);
if ($green_dif > -1) {
$math_green = -1;
$height_green = $green_dif/$height;
}
if ($green_dif < 0) {
$green_dif = ($green2 - $green1);
$math_green = 1;
$height_green = $green_dif/$height;
}
$blue_dif = ($blue1 - $blue2);
if ($blue_dif > -1) {
$math_blue = -1;
$height_blue = $blue_dif/$height;
}
if ($blue_dif < 0) {
$blue_dif = ($blue2 - $blue1);
$math_blue = 1;
$height_blue = $blue_dif/$height;
}
echo <<
HTML;
for ($i = 1; $i < $heightplus; $i += 1) {
$red_round = round($red,0); //round values for CSS
$green_round = round($green,0);
$blue_round = round($blue,0);
echo <<
HTML;
if ($math_red == -1) {$red -= $height_red;} //check whether to add or subtract
if ($math_red == 1) {$red += $height_red;}
if ($math_green == -1) {$green -= $height_green;}
if ($math_green == 1) {$green += $height_green;}
if ($math_blue == -1) {$blue -= $height_blue;}
if ($math_blue == 1) {$blue += $height_blue;}
}
echo <<
HTML;
} //end of function 1
//this function generates a trapezoid
function g2($id,$height,$width,$xpos,$ypos,$red1,$green1,$blue1,$red2,$green2,$blue2,$zindex) {
$heightplus = $height + 1;
$red = $red1; //preserve original
$green = $green1;
$blue = $blue1;
$red_dif = ($red1 - $red2);
if ($red_dif > -1) {// result not negative
$math_red = -1;
$height_red = $red_dif/$height;
}
if ($red_dif < 0) {// result negative
$red_dif = ($red2 - $red1);
$math_red = 1;
$height_red = $red_dif/$height;
}
$green_dif = ($green1 - $green2);
if ($green_dif > -1) {
$math_green = -1;
$height_green = $green_dif/$height;
}
if ($green_dif < 0) {
$green_dif = ($green2 - $green1);
$math_green = 1;
$height_green = $green_dif/$height;
}
$blue_dif = ($blue1 - $blue2);
if ($blue_dif > -1) {
$math_blue = -1;
$height_blue = $blue_dif/$height;
}
if ($blue_dif < 0) {
$blue_dif = ($blue2 - $blue1);
$math_blue = 1;
$height_blue = $blue_dif/$height;
}
//for upside down trapezoid reverse addition/subtraction of width and left
for ($i = 1; $i < $heightplus; $i += 1, $width += 2, $xpos -= 1, $ypos += 1) {
$red_round = round($red,0); //round values for CSS
$green_round = round($green,0);
$blue_round = round($blue,0);
echo <<
HTML;
if ($math_red == -1) {$red -= $height_red;} //check whether to add or subtract
if ($math_red == 1) {$red += $height_red;}
if ($math_green == -1) {$green -= $height_green;}
if ($math_green == 1) {$green += $height_green;}
if ($math_blue == -1) {$blue -= $height_blue;}
if ($math_blue == 1) {$blue += $height_blue;}
}
} //end of function 2
// H W X Y R1 G1 B1 R2 G2 B2 Z
//sky
g(s1, 450,700, 0,0, 100,100,200, 125,70,0, 1);
//grass
g(g1, 110,700, 0,450, 170,225,98, 50,105,0, 1);
g2(g2, 50,138, 281,510, 150,205,100, 50,105,0, 2);
//building
g(b1, 300,600, 50,200, 105,50,0, 205,150,78, 2);
g(b2, 10,620, 40,500, 105,50,0, 205,150,78, 2);
g(b3, 10,620, 40,190, 105,50,0, 205,150,78, 2);
//roof
for ($j = 1; $j < 10; $j += 1) {
$jid = 'r'.$j;
$jwidth = 640 - ($j * 30);
$jxpos = 30 + ($j * 15);
$jypos = 190 - ($j * 15);
$jred1 = 105 + ($j * 10);
g2($jid, 15,$jwidth, $jxpos,$jypos, $jred1,50,0, 245,150,78, 2);
}
//chimney
g(c1, 65,60, 320,30, 205,150,78, 105,50,0, 3);
g(c2, 20,20, 327,10, 245,150,78, 145,50,0, 2);
g(c3, 20,20, 353,10, 245,150,78, 145,50,0, 2);
//windows
g(w1, 109,109, 96,246, 200,125,53, 105,50,0, 3);
g(w2, 109,109, 495,246, 200,125,53, 105,50,0, 3);
g(w3, 105,105, 98,248, 105,50,0, 200,125,53, 4);
g(w4, 105,105, 497,248, 105,50,0, 200,125,53, 4);
g(w5, 97,91, 110,250, 200,200,170, 125,70,0, 5);
g(w6, 97,91, 499,250, 200,200,170, 125,70,0, 5);
//door
g(d1, 254,152, 274,246, 200,125,53, 105,50,0, 4);
g(d2, 252,148, 276,248, 105,50,0, 195,140,68, 5);
g(d3, 180,138, 281,250, 200,200,170, 125,70,0, 6);
g(d4, 5,138, 281,430, 255,255,255, 125,70,0, 6);
g(d5, 15,138, 281,435, 255,255,255, 125,70,0, 6);
g(d6, 50,138, 281,450, 70,70,125, 205,205,105, 6);
//pictures
g(p1, 60,40, 145,265, 240,240,240, 125,125,125, 6);
g(p2, 54,34, 148,268, 125,125,125, 240,240,240, 7);
g(p3, 48,28, 151,271, 130,150,230, 60,120,60, 8);
g(p5, 60,40, 515,265, 240,240,240, 125,125,125, 6);
g(p6, 54,34, 518,268, 125,125,125, 240,240,240, 7);
g(p7, 48,28, 521,271, 100,60,60, 120,150,180, 8);
g(p8, 50,70, 315,275, 240,240,240, 125,125,125, 6);
g(p9, 44,64, 318,278, 125,125,125, 240,240,240, 7);
g(p10, 38,58, 321,281, 200,200,240, 105,105,125, 8);
//sidebar
g(s2, 560,260, 700,0, 0,70,125, 205,205,105, 1);
$datemod = date("j F Y", getlastmod());
echo <<
CSS House 2
By Christopher Hester
Built: 20 October 2005
Updated: $datemod
About CSS House 2
ABSOLUTELY NO IMAGES!
HTML;
?>