Na početnu stranicu! Udruga Darovitih Informatičara Rijeke Na glavni izbornik!

kornjačin.svijet

je grafički ekran na zaslonu monitora. Kornjača je grafički pokazivač kojim upravljamo grafičkim procedurama. Ovdje ćemo se zabavljati procedurama za kontrolu grafike i vidjeti primjere programa. Na početku upoznajemo  karakteristike grafičkog ekrana pomoću jednog zadatka.

korni500.gif (1525 bytes)

Pišite na: logo@dir.hr

 

ZADATAK ZA UČENJE I UPOZNAVANJE KARAKTERISTIKA GRAFIČKIH EKRANA

U "MSW Logo-u" valja, sa što manje instrukcija (zapovjedi koje upisujemo kornjači u komanderu), dotaknuti sve strane kornjačinog svijeta (sjever - jug - istok - zapad, i sjeveroistok - jugoistok - jugozapad - sjeverozapad). Postoje instrukcije za kretanje po tom svijetu: fd, bk, rt i lt. Svaka od njih se rabi tako da uz nju napišemo i odgovarajući broj odvojen razmakom. Nakon upisane instrukcije pritiskom na tipku "enter" (ili na gumb "Execute") pokrećemo kornjaču. Instrukcije se mogu pisati i u obliku liste, što znači da ih ima više i sve su odvojene razmacima. Kornjača će čekati na "enter" te ih redom poslušno izvesti. Moguće rješenje zadatka za doticanje sjevera, istoka, juga i zapada bi mogla biti instrukcijska lista:

cs fd 200 home rt 90 fd 200 home rt 180 fd 200 home rt 270 fd 200 home

Nakon svakog kretanja komandom home kornjaču direktno vraćamo u sredinu ekrana, a ona došavši tamo okreće glavu prema sjeveru. Primijetit ćete da kornjačin svijet (papir po kome crta) nije uvijek pravilan kvadrat. To je češće pravokutnik kome u "MSW Logo-u" možemo mijenjati veličinu. Osim toga pozicija kornjačine kuće (home) se mijenja ako klizničkim trakama to učinimo. Zbog toga rješenje zadatka nije nimalo jednostavno. U "UCB Logo-u" za Windows 95/98/NT imamo sličnu otežavajuću okolnost, ali barem home položaj ne možemo pomaknuti. Najjednostavnije rješenje zadatka je za inačicu "UCB Logo" za DOS (postoje dvije za osnovnu memoriju i za extended memoriju). Tu ne možemo promijeniti dimenzije grafičkog ekrana, tj. dimenzije kornjačinog svijeta. Pa bi pronalaženje pravih brojeva uz procedure iz gornje instrukcijske liste bilo konačno. Evo rješenja za tu verziju Logo-a:

cs fd 290 home rt 90 fd 390 home rt 180 fd 200 home rt 270 fd 390 home

Ako pažljivije proučite brojeve uz proceduru fd za kretanje prema sjeveru i prema jugu, vidjet ćete da nisu isti. Oni za kretanje prema istoku i zapadu su isti. "UCB Logo" je tako postavljen da pri samom pokretanju ulazimo u ekran u kome je vidljiv samo tekst (text screen) i on zauzima čitav zaslon monitora. Komanda za prelazak u taj ekran ts može se koristiti u Logo programima. U ekran koji prikazuje i pisanu instrukciju i kornjačin svijet (split screen), ulazimo pokretanjem bilo koje grafičke procedure (fd, rt, cs, home ili druge) ili upisom komande ss (split screen). Postoji i ekran koji pokazuje samo crtež i daje mu maksimalne dimenzije. Međutim, zbog štednje memorije u DOS verziji, on se momentalno pretvara u split screen čim se nešto ispisuje kao tekst. Kako je Logo tako zamišljen da nakon svake instrukcije prikaže poruku o eventualnoj greški ili prompt znak (ovdje je to upitnik) za slijedeći upis, ekran za grafiku (full screen) biti će vidljiv samo dok traje proces crtanja. Provjerite upisom slijedeće instrukcijske liste:

cs fs repeat 20 [repeat 1000 [fd 1] rt 90]

gdje je fs komanda za prelazak u full screen ekran. Budite strpljivi i promatrajte što se događa. Na kraju je FS zamjenjen sa SS i izgubili smo dio crteža. Naravno, ova ograničenja s grafikom "MSW Logo" ne poznaje, ali poznaje ograničenja u radu s tekstualnim ekranom (on ga uopće nema- ima prozor "Commander" kao loš nadomjestak). Vratimo se rješenju našeg zadatka. Ostalo nam je dotaknuti sjeveroistok, jugoistok, jugozapad i sjeverozapad. Ako bi glavni prozor "MSW Logo-a" namjestili kao kvadrat, to bi bilo jednostavno. Pokušajte sami. Jedini problem i dalje ostaje koliko koraka kornjača mora učiniti da bi došla do zadanih strana svijeta. Četiri kornjačina cilja su se postavila u kutove prozora. Ta idealna situacija se naruši čim promijenimo prozor u oblik pravokutnika. Sada je teško dotaknuti zadane strane svijeta jer se više ne nalaze točno u kutovima prozora. Stoga, pokušajmo umjesto toga doći do sva četiri kuta. Zbog pojednostavljenja čitave priče, povećajmo prozor do maksimalnih dimenzija i pretpostavimo da je vaš monitor namješten na 800 puta 600 točkica (pixel-a) na zaslonu. Evo rješenja:

cs rt 57 fd 450 home lt 57 fd 450 home rt 123 fd 450 home lt 123 fd 450 home

OGRADA OKO SVIJETA

Ako vam komander smeta, možete ga slobodno pomaknuti i promijeniti mu veličinu ili ga "minimizirati". Iskoristit ćemo postojeći crtež (poput slova x) i pokazati još jednu karakteristiku ove verzije Logo-a. U izborniku Zoom možete klikati na opcije In Out i Normal. Mislim da Vam je sve jasno. Veličina papira je veća od vidljivog i pri maksimalnom povećanju prozora. Stoga postoje i kliznici. Kliknite na opciju Normal i upišite:

cs rt 41 fd 100000

Nakon toga kliknite na opciju Out dva puta otvorivši izbornik na opciji Zoom. Vidite kako je kornjača išla do ruba svijeta i nakon toga odlazila na suprotnu stranu kako bi nastavila kretanje. Suprotna strana istoku, ako se kornjača kreće tako da crta vodoravnu crtu, je zapad. Sjeveru je jug. Ako kornjača prilazi rubu aktivnog svijeta crtajući kosu crtu, možemo dobiti neočekivane rezultate. U svakom slučaju valja eksperimentirati. Dakle, postoji jedan veliki prostor oko njenog aktivnog svijeta koji ona ne posjećuje jer je uključen "wrap mode". On se uključuje komandom wrap, a pri pokretanju logo-a je već postavljen. Upišite slijedeću instrukciju:

window fd 1000

Komandom window uključili smo mod koji pretvara kornjačin svijet u beskonačnu ploču. U ovom modu kornjaču u jednom trenutku ne vidimo više i možemo je najbrže vratiti s home. Pazite da se ne izgubi u tuđini. Ako to želite po svaku cijenu spriječiti uključite mod koji stvara ogradu oko kornjačinog svijeta komandom "fence". Napišite:

cs fence rt 90 fd 300

i pritisnite tipku enter, te nakon toga upišite:

fd 500

Pojavit će se poruka "turtle out of bounds", što znači da je kornjača izvan dozvoljenih granica postavljenih komandom fence. Postoji još i komanda kojom kornjačin svijet pretvaramo iz ploče u pravi svemir. Znači iz dvodimenzionalnog u trodimenzionalni. O tome ćemo u nekom od slijedećih nastavaka. Vratimo sada sve u normalu opcijom Normal u izborniku Zoom i komandom cs.

KORNJAČINI PAPIRIĆI

U svom svijetu kornjača ne priča, ali može ispisivati poruke na papirićima komandom label. Ako želimo na mjestu gdje trenutno stoji kornjača ispisati riječ, upišemo u komander komandu label i uz nju počevši s znakom navoda željenu riječ. Zgodno je što će riječ biti ispisana u ovisnosti od smjera kornjačine glave (heading). Osim toga možemo rabiti sva slova koja su postavljena na Vašem računalu, mijenjati im dimenzije i boju. Upišite slijedeće linije instrukcija i nakon svake pritisnite enter.

cs label "Logo

cs label "Logo lt 90 label "Logo lt 90 label "Logo lt 90 label "Logo

lt 45 fd 50 label "Logo

rt 90 setpc 5 pu fd 100 pd label [Dosta je Logo-a]

Pokušajte analizirati napisano i sliku. Važno je uočiti razliku između ispisa riječi i rečenica komandom label. Kada želimo da kornjača ispiše papirić na kome je riječ, ispred riječi stavimo znak navoda. Ako želimo papirić s rečenicom, željenu rečenicu stavimo u pravokutne zagrade. Rečenica se u Logo-u zove List, a riječ Word. Mnogo toga nismo rekli o komandi label i raznim mogućnostima, ali budete li strpljivi čitač stranica, saznat ćete. Sada jednostavno utipkajte donju instrukcijsku listu i pokušajte odgonetnuti značenje pojedine procedure.

cs pu repeat 300 [fd random 300 seth random 360 setpc random 15 label "Logo] pd

KORNJAČA KAO SLIKAR

Jedna vrlo lijepa sposobnost Logo-a je ubacivanje gotovih crteža u obliku bitmap-a. To su crteži koji mogu nastati u nekom alatu za crtanje (pbrush.exe, paint.exe ili drugi) ili se mogu dobiti skeniranjem. Oni se ubacuju u kornjačin svijet opcijom Bitmap, Load. Tako možete crtati podloge za vaše logo programe pomoću alata za crtanje, a kornjaču uposliti da po tim podlogama radi razne stvari. Moguć je i obrnut postupak. Naime, neke crteže koje možete jednostavnim programom pomoću kornjače nacrtati, vrlo teško ćete dobiti crtaćim alatom. Čak se i "svemogući" CorelDRAW može u nekim situacijama sakriti pred kornjačom i programiranjem u Logo-u. Kako ipak ništa nije svemoguće, zašto ne koristiti prednosti jednog i drugog u "svemogućoj kombinaciji". Izvoz crteža u kornjačinom svijetu postižemo s Bitmap, Save ili Bitmap, SaveAs opcijama. Pomoću Bitmap, Active Area opcije namještamo veličinu izreska koji želimo spremiti na čvrsti disk ili tiskati na papir.