3D Labirintas v1.0 First Release
Truputis istorijos:
Na, šitą projektą pradėjau dar pernai, kažkur gruodžio vidury ant TP7, nuo paprasto uždavino (rasti įvesto stačiakampio gretasienio paviršiaus plotą), kurį informatikas patarė perkelti dar ir į 3D.
Nu, galvoju šakės! Bet kai supratau, jog 3D - tai tik paprasta erdvės taško projekcija į ekraną, kad ji apsiriboja viena vienintele funkcija

Pixel Projection( Point a );

Po to viskas išsivystė iki besivartaliojančio kubo, tada aplink tą kubą buvo galima vaikščioti

Pixel CameraProjection( Point a );

Galų gale, po minėtos sunkiausios dalies, išaugo kvadratinės sienos (gavosi kaip gardas), i-nete pasimokiau, kaip kurti atsitiktinius labirintus, padariau koliziją(tai buvo dar vienas l.sunkus etapas), sustačiau labirintą į 3D, padariau kažką panašaus į distant blend... Ech, gera daba viska prisimint... :))

Paskutinė versija - pirmoji išleidžiamoji versija. Sutvarkiau ta WaitRetrace bug'a - tiesiog ne toks buvo iškviečiamų funkcijų eiliškumas. Reikia daryti taip:

SetVisualPage(1);
SetActivePage(1);
int p:=1;

repeat

    SetActivePage( p mod 2 );
    ClearActivePage();

    Paisyti();

    SetVisualPage( p mod 2 );
    WaitRetrace();
    p := p + 1;
until required;

Na, projekcijų bugų dar neištaisiau... Galbūt šitam projekte jau ir netaisysiu. Laiks nuo laiko prisėdu prie naujo projekto su transformuojančiom matricom - it rulez! Ir vis galvoju atsisakyt PASCAL'io. Reiks taip ir padaryt su pastaruoju, kol dar nevėlu.

Galit parsisiųst, jei norit: 3d_maze10.zip (48KB) Ten bus rydmis su visom jums būtinom žinoti detalėm.

Jei kokių turit pasiūlymų - galit rašyt.