Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Dartstaulu

jideko [30.12.2005 13:05:36]

#

Piirtää dartstaulun oikeissa suhteissa. Ideanahan on, että piirretään täytettyjä sektoreita ja osa niistä peitetään taas uusilla sektoreilla jättäen jäljelle halutut osat.

Sopii oppimistarkoitukseen mainiosti.

<?php
//tunniste
header("Content-type: image/png");

//tehdään kuva 400x400px
$kuva=imagecreate(400,400);

//määritellään värit
$valkonen=imagecolorallocate($kuva, 255, 255, 255);
$musta=imagecolorallocate($kuva,0,0,0);
$punanen=imagecolorallocate($kuva,255,0,0);
$vihrea=imagecolorallocate($kuva,0,255,0);

//piirretään vihreät ja valkoiset ympyrät laitimmaisista aloittaen
ImageFilledArc($kuva, 200, 200, 335, 335, 0, 360, $vihrea,IMG_ARC_PIE);
ImageFilledArc($kuva, 200, 200, 315, 315, 0, 360, $valkonen,IMG_ARC_PIE);
ImageFilledArc($kuva, 200, 200, 210, 210, 0, 360, $vihrea,IMG_ARC_PIE);
ImageFilledArc($kuva, 200, 200, 190, 190, 0, 360, $valkonen,IMG_ARC_PIE);

//laitimmaisen vihreän ympyrän päälle piirretään punaisia sektoreita.
for ($i=0; $i<10 ;$i++){
	ImageFilledArc($kuva, 200, 200, 335, 335, -99+2*$i*18, -81+2*$i*18, $punanen,IMG_ARC_PIE);
}
//punaiset sektorit peitetään mustalla jättäen tuplasektorin jäljelle
for ($i=0; $i<10 ;$i++){
	ImageFilledArc($kuva, 200, 200, 315, 315, -99+2*$i*18, -81+2*$i*18, $musta,IMG_ARC_PIE);
}
//mustat sektorit peitetään punaisella
for ($i=0; $i<10 ;$i++){
	ImageFilledArc($kuva, 200, 200, 210, 210, -99+2*$i*18, -81+2*$i*18, $punanen,IMG_ARC_PIE);
}
//punaiset sektorit peitetään mustalla jättäen triplasektorin jäljelle
for ($i=0; $i<10 ;$i++){
	ImageFilledArc($kuva, 200, 200, 190, 190, -99+2*$i*18, -81+2*$i*18, $musta,IMG_ARC_PIE);
}
//ja lopuksi vielä kaiken edellisten pälle piirretään häränsilmä ja ulkopiha.
imagefilledellipse($kuva,200,200,35,35,$vihrea);
imagefilledellipse($kuva,200,200,15,15,$punanen);

imagepng($kuva);
imagedestroy($kuva);
?>

Jorgga [06.01.2006 08:51:46]

#

Aika hieno nit kun siihen enään tekee pelin taustalle :D

http://tjaa.dy.fi/jorgga/demot/Darts.php <-- Demoa

T.M. [25.01.2006 21:37:39]

#

Nuo neljä for-silmukkaa voidaan yhdistää yhdeksi:

for($i = 0; $ i< 10; $i++){
	ImageFilledArc($kuva, 200, 200, 335, 335, -99+2*$i*18, -81+2*$i*18, $punanen,IMG_ARC_PIE);
	ImageFilledArc($kuva, 200, 200, 315, 315, -99+2*$i*18, -81+2*$i*18, $musta,IMG_ARC_PIE);
	ImageFilledArc($kuva, 200, 200, 210, 210, -99+2*$i*18, -81+2*$i*18, $punanen,IMG_ARC_PIE);
	ImageFilledArc($kuva, 200, 200, 190, 190, -99+2*$i*18, -81+2*$i*18, $musta,IMG_ARC_PIE);
}

Joose [08.05.2006 22:22:03]

#

T.M, ainakaan minä en saanut toimimaan yhdistämällä nuo silmukat...

Olli [12.10.2008 18:39:26]

#

Toimiva demo:
http://koti.mbnet.fi/ollins/muuta/testi/taulu.php

Oma mielipide:
Hienoa jälkeä tulee :)

tpohjis [15.11.2009 23:43:05]

#

tuosta tulee mieleen--->

http://www.psy.ritsumei.ac.jp/~akitaoka/rotate17e.html

ja toimiivat kyllä printattunakin...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta