AMOS NA WARSZTAT Czeôê!!! Ma ksywka to Dan moûe niezbyt wyszukana, ale bardzo jâ polubiîem. Zdecydowaîem sië (czyt. zostaîem zmuszony) na prowadzenie maîego kâcika dla tych, którzy polubili Amos'a, bâdú chcâ go polubiê. Nie bëdë przepisywaî ksiâûek - to obiecujë. Spróbujë Wam opisaê kilka funkcji tego jëzyka, ale wîasnymi sîowami, tak po polskiemu, bo wiem z wîasnego doôwiadczenia, ûe literatura jest toporna (przepraszam Was autorzy) i ciëûko wchodzi do gîowy. Dlatego proszë o wyrozumiaîoôê i wybaczenie drobnych pomyîek. Po prostu bëdë pisaî z pamiëci tak, jak to wszystko zapamiëtaîem i zrozumiaîem. Nie bëdë zaczynaî od poczâtku, jak programowaê w Amos'ie (chyba, ûe znajdzie sië ktoô, kto sië tym zainteresuje). Dziô odsîonië Wam coô, co nie wszyscy próbujâ zrozumieê, mam na myôli Amal'a. Tak..., AMAL to (takie ciekawe stworzonko, które nie gryzie) po prostu pewna czëôê Amos'a, dziëki której moûemy tworzyê animacje róûnych obiektów (sprite'y, boby, ekrany itd.) Program AMAL dziaîa na zasadzie przerwaï, to znaczy, ûe po odpowiednim zadefiniowaniu komputer robi swoje niezaleúnie od tego co tworzymy pod edytorem lub na ekranie (ale w reality nie wyglâda to tak klarownie). Moûemy stworzyê 16 programów AMAL, które bëdâ korzystaîy z systemu przerwaï. Jednemu programowi w AMAL'u moûemy przypisaê tylko jeden obiekt, którym bëdzie sterowaî komputer lub, gdy odpowiednio zadefinjujemy, bëdziemy mogli z maksymalnâ prëdkoôciâ Amos'a poruszaê danym obiektem z pomocâ joy'a lub myszki. Komendy AMAL wprowadzane sâ za pomocâ duûych liter (wpisujemy tylko pierwszâ literë danego rozkazu, np.: 'M' od Move lub po prostu 'Move', 'Let', 'Jump'). Maîe litery sâ caîkowicie pomijane i dlatego moûemy pisaê sobie caîe rozkazy pamiëtajâc, aby pierwsza litera byîa duûâ literâ (uff...) Oczywiôcie wszelkie instrukcje oddzielamy wszelkimi znaczkami oprócz ': ', który sîuûy do definiowania etykiet (ja uûywam '; '). Ze wzglëdu na nieprzyjemny sposób prowadzenia tego kâcika, nie bëdë umieszczaî dîugich, topornych listing'ów, bo przecieû kto z Was bëdzie to póúniej przepisywaî na kartkë, a nastëpnie wklepywaî na komputer. (a szkoda, bo mógîbym umieszczaê doôê ciekawe programiki, z których o wiele wiëcej byôcie sië nauczyli. Z drugiej strony to przepisywanie nie jest takie zîe, bo kto chce sië nauczyê, ten zrobi wszystko, a to wklepywanie wyjdzie mu na dobre...) Dobra, koniec teorii. Teraz praktyka. Jak wîâczyê AMAL'a? Po prostu piszemy rozkaz: AMAL numer_programu,definicja AMAL ON [numer_programu] (to, co znajduje sië w nawiasie kwadratowym oznacza, ûe nie musimy tego koniecznie pisaê) Teraz wyjaônië te rozkaziki: zamiast 'numer_programu' wpisujemy wartoôê liczbowâ z przedziaîu (0-63), (ale tylko pierwsze 16 wykonywane jest przy uûyciu przerwaï, aby uruchomiê pozostaîe naleûy zastosowaê rozkaz 'SYNCHRO' i wszystko bydzie graîo) i teraz przechodzimy do rzeczy najwaûniejszych - zadefiniowania AMAL'a. Uîoûenie odpowiedniej instrukcji, wg. której bëdzie póúniej kierowaî sië komputer, nie jest trudne, ale poczâtkujâcemu moûe przysporzyê wiele kîopotów (ach! jestem ohydny! tylko Was straszë i straszë, a nie piszë nic konkretnego! sorry...) Moûe zaproponujë Wam takâ maîâ definicjë: DAN$="M 200,200,150;M -200,-200,150" No i juû! Powyûej zadefiniowaîem ruch obiektu. Dany obiekt bëdzie sië poruszaî o 200 pixeli w prawâ maïkë i dodatkowo 200 w dóî ze staîâ prëdkoôciâ 150 kroków. Dalej bëdzie sië poruszaî dosîownie w przeciwnym kierunku, tzn. 200 w lewo i 200 do góry z tâ samâ prëdkoôciâ. No dobra, ale nie mamy obiektu, aby nim poruszaê, wiëc najpierw trzeba wskazaê dany obiekt, tzn. w przypadku bob'a lub sprite'a naleûy je tylko wyôwietliê. Nastëpnie komendâ: CHANNEL nr_prog TO obiekt nr przypisujemy wybrany przez nas obiekt okreôlonemu programowi AMAL Teraz umieszczë peînâ treôê poprawnie zadefiniowanej procedurki: Bob 1,0,0,1 Channel 1 To Bob 1 DAN$="Move 200,200,150;Move -200,-200,150" Amal 1,DAN$ Amal On 1 I wszystko, gdy to wklepiecie, to zobaczycie maîâ dawkë animacji. Oczywiôcie nie zapomnijcie zadefiniowaê bob'a (dla tych, którym to wyleciaîo z gîowy, np.: Box 0,0 to 20,20 Get Sprite 1,0,0 To 20,20 ) To co dzisiaj przedstawiîem nie ukazuje w peîni moûliwoôci AMAL'a Jest to mini pokaz moûliwoôci, resztë, jeôli bëdâ chëtni, umieszczë w nastëpnych artykuîach. No nic... Nie wiem, ilu z Was dotrwaîo to tego miejsca. Jeôli to ktoô czyta, to jest to czîowiek z ûelaznymi nerwami. Mimo wszystko dziëkujë Ci za to, ûe nie olaîeô sobie mojej pracy. Nie wiem czy to Cië zainteresowaîo, czy teû ômieszyîo. Ja ten artykuî pisaîem, bo otrzymaîem takie polecenia (mus). Nie wiem czy teû znajdâ sië osoby, które bëdâ chciaîy sië uczyê w ten sposób programowaê w Amosie. A wedîug mnie kodowanie w Amosie, to drzwi do stania sië naprawdë dobrym koderem. Jeôli znajdâ sië takowe osoby, to z chëciâ bëdë prowadziî nastëpne lekcje i spróbujë przekazaê Wam caîâ mojâ wiedzë na temat tego poûytecznego jëzyka. Ci, którzy sâ zainteresowani moimi lekcjami, mogâ pisaê pod ten adres: Dan/S.A.F. Damian Gâska ul. Boh. Wrzeônia 15/11 62-650 Kîodawa (woj. koniïskie) lub dzwoniê pod numer: (0-63) 73-09-94, lub teû skontaktowaê sië z jakimkolwiek SAF'owcem. DAN/Soldiers and Flowers Ps. Franckey!!!!!!!! Kto to czyta?!... Ps2. Jeûeli przypadkowo trafi sië delikwent, to niech poinformuje mnie o czym mam pisaê, co chciaîby wiedzieê itd. Ps3. Od Franckeya..... Dan, jednak ktoô to czyta, ja jestem pierwszy.