Scala Multimedia - Hra čísielRNDr. Milan Turek
V záverečnom pokračovaní článkov o nórskom programe SCALA sa budeme venovať
praktickému cvičeniu, kde si precvičíme interaktívnu prácu s prepínačmi a
premennými. Ako inak by sme mali ísť na cvičenie v programovaní, ak nie hrou? Pomocou programu SCALA si naprogramujeme pomerne jednoduchú hru, v ktorej
hráč sa bude snažiť uhádnuť číslo medzi 1 až 9, ktoré si „myslí“ počítač.
Samozrejme, že tvorivej iniciatíve sa medze nekladú a ak si trúfate, môžete k
danému príkladu doprogramovať rozličné kombinácie riešenia. V našom príklade
počítač bude usmerňovať hráča, či tipované číslo je malé alebo veľké a keď bude
mat úspech, tak mu aj zatlieska.
Na pripojenom obrázku je vývojový diagram riešenia hry. Pomôže v jednoduchej a
logickej orientácii hlavne, keď budeme programovať jednotlivé príkazy skoku
medzi jednotlivými stránkami.
V programovej ukážke narábame s pozadiami, paletami a zvukmi, ktoré sa dodávajú
ku každému programovému balíku Scala, samozrejme, že sa dajú použiť aj vlastné
pozadia, prípadne nasamplované zvuky. Ako fonty budeme používať české a
slovenské fonty z balíku PBX, ktorý distribuuje firma AMIUM. Ak máte záujem
pracovať s fontami uvedenými v tejto ukážke, firma AMIUM používané fonty
poskytne každému záujemcovi za cenu poštovného a balného.
Ukážka programu predpokladá užívanie SCALY MM300, MM400 alebo IC500. Fonty je
vhodné nakopírovať do adresára assignovaného k systému, napr. DH0:fonts.
Vytvorený skript predpokladá, že všetky nástroje sú uložené v adresári
Work:Scala. Skript je pomerne nenáročný na priestor, takže sa dá s ním pracovať
aj keď nevlastníte pevný disk, so zjednodušenou verziou programu Scala, ktorá sa
vojde na jednu disketu.
Skladba programového skriptu využíva nasledujúce premenné:
n - ľubovoľné číslo medzi 1 a 9
g - hádané číslo
t - počet opakovaní
Premenné môžu mat aj dlhšie mená, ale pre jednoduchosť budeme používať
horeuvedené jednoznakové premenné.
Poznámka: V ďalšom texte budeme používať slovenský preklad názvov jednotlivých
funkcií programu Scala. Na trhu sú rozšírené najmä nemecké a anglické jazykové
mutácie Scaly. Kto má nemeckú a nevie o ktorú funkciu sa pod slovenským názvom
jedná, nech si pozrie predošlé články o programe SCALA Multimedia.
Takže zostáva už len naštartovať program SCALA a poďme na vec! Titulná strana
- Po naštartovaní programu si zvolíme funkciu „Nový“. Scala nám poskytne
všetky potrebné adresáre assignované k programu.
- Volíme obrázok z adresára Backgrounds - Texture010 a potvrdíme voľbu kliknutím
OK.
- Otvorí sa editovací režim, kde meníme paletu daného obrázku. Klikneme na
funkciu „Palette/Load“ a nahráme si paletu s názvom BlueLight. Potvrdíme voľbu
kliknutím OK.
- Zvolíme si font Holidays 140. Pre daný font si navolíme funkcie „Obrys“ a
„Tieňovanie“, pričom farbu pre obrys zachováme čiernu, tieň bude tmavomodrý a
písmo žlté. Ak sa chcete s písmom pohrať môžete otvoriť podeditor „Layout“,
zmeniť si smer tieňa, veľkosť tieňa alebo obrysu, prípadne vyhladiť písmo
pomocou antialiasingu, kombinácie majú nepreberné možnosti.
- Ak sme v „Layoute“ ukončíme výber kliknutím OK a napíšeme text „Hádanie
čísiel“. Písmo je veľké, takže dostávame dva riadky textu. Každý riadok
vycentrujeme a myšou umiestnime do požadovanej výšky.
- Kliknutie na OK v editore ukončí prácu, danú stránku zapamätáme pod názvom
„Intro“. Tvorenie stránok hry
- Opäť si navolíme funkciu „Nový“ a tu si znovu volíme pozadie Texture010.
Potvrdíme voľbu OK a sme v editore.
- Pre stránky hry meníme paletu, teda nasleduje voľba funkcie „Palette/Load“ a
pre nasledovné stránky budeme používať paletu „Lilac“.
- Pre písmo volíme font CGTimess 75, písmo vystredíme, dáme obrys a tieň a do
prvého riadku napíšeme názov hry „Hádanie čísiel“, pre horný riadok volíme farbu
žltú.
- Po Enteri skočí kurzor na druhý riadok a tu si zvolíme font Texas 120.
- Napíšeme za sebou čísla 123456789, farbu textu volíme bielu a enterom
vytvoríme tretí riadok.
- Zvolíme si font CGTimess 60 a do tretieho riadku napíšeme text „Hádali ste !t
krát“, farba textu je ružová a zvolíme len jednoduchý obrys textu.
- Všetky tri riadky vycentrujeme a umiestnime do zodpovedajúcej výšky
Výraz !t je premenná. Výkričník je magický znak programu Scaly a využíva sa na
dosadenie reálnej hodnoty podľa toho ako program stránkuje celý skript.
- Choďte kurzorom na začiatok druhého riadku s číslami. Držte klávesu <Ctrl>
zmačknutú a stlačením šípky vpravo zvolíme vhodný odstup jednotlivých číslic
medzi sebou (viď obrázok).
Čísla musia mať patričný odstup, pretože na nich budeme inštalovať jednotlivé
prepínače. Po tom ako dosiahneme uspokojivý výsledok prejdeme na tvorbu stránok
„veľké, malé a správne“. Prvá správa - je malé!
- Túto stránka má layout zhodný s predošlou, takže ju jednoducho vyhotovíme
stlačením funkčnej klávesy F4 a dostaneme kópiu predošlej stránky.
- Kurzor umiestnime do druhého riadku s číslami.
- Vojdeme do podeditoru „Layout“ a nastavíme odstup medzi znakmi na nulu,
vyjdeme z podeditoru kliknutím OK.
- Umiestnite kurzor na znak I, stlačte <Shift>+<Del>, text v riadku sa vymaže
(doprava smerom od kurzora). - Napíšte „!g je malé!“, zvoľme tmavožltú ako farbu
pre text v druhom riadku Druhá správa - je veľké!
- Skopírujeme predošlú stránku stlačením funkčnej klávesy F4.
- Umiestnime kurzor na druhý riadok v slove malé na písmeno „m“ a stlačíme
<Shift>+<Del>.
- Napíšeme text „veľké!“, zvolíme svetložltú ako farbu pre text v druhom riadku. Tretia správa - je správne
- Znovu skopírujeme stránku stlačením klávesy F4.
- Dajte kurzor na druhý riadok na začiatok slova „veľké“, stlačením
<Shift>+<Del> vymažeme text ku koncu riadku a napíšeme text „správne“. (V druhom
riadku štvrtej stránky by malo byt napísané - !G je správne -. )
- Zvoľte v editore funkciu OK a zapíšte túto stránku pod názvom „Správne“.
Vojdeme do stránkového editoru a premenujeme si stránky, ktoré sme kopírovali
cez seba. Klikneme na číslo 2 a dostaneme editor kontroly stránky. Druhú stránku
premenujeme na „Hádanie čísiel“, klikneme na číslo 3, premenujeme stránku na
„malé“, klikneme na číslo 4, premenujeme stránku na „veľké“. Poslednú stránku
doposiaľ vytvorené skriptu máme pomenovanú ako treba.
Poznámka: Mená stránok môžu byť samozrejme zvolené ľubovoľne, ide len o lepšiu
orientáciu v skripte. Prvý prepínač.
Navolíme druhú stránku skriptu „Hádanie čísiel“ a vojdeme do editora. Celé
kúzlo vytvorenej hry bude spočívať na vytvorení aktívnych prepínačov nad
jednotlivými číslami textu druhého riadku.
- Kliknutím na funkciu „Prepínač“ vojdeme do editovacieho režimu.
- Umiestnime myš nad číslicu 1 do ľavého horného rohu, držíme stlačené ľavé
tlačítko myši a ťaháme smerom vpravo nadol až pokiaľ číslo 1 nie je „orámované“.
Nad číslicou 1 sme vytvorili prvý prepínač, ktorý obsahuje vo vnútri ťahacie
gadgety, aby sme ho mohli dotvarovať tak, aby zakrýval úplne číslo 1.
Prvý prepínač je vytvorený. Môžeme ho ľubovoľne presunúť, zväčšiť, zmenšiť alebo
zmazať kliknutím na klávesu <Del>. Vytvorený prepínač je označený číslom 1 v
editore. Podobným spôsobom tvoríme ďalšie prepínače na jednotlivými číslicami –
2,3,4,5,6,7,8,9 dohromady ich bude 9 (pozri obrázok). Aktuálny prepínač môžeme
navoliť buď kliknutím myšou do rámiku alebo preklikávaním čísla prepínača v
editore. Označenie a selektovanie prepínačov.
Teraz môžeme využiť možnosť programu Scala na interaktívnu prácu s
prepínačmi. Druhý riadok editora prepínačov obsahuje dve funkcie značenie a
selektovanie (Mark a Select), ktoré sa cyklicky vyvolávajú klikaním na šípky
gadgetu. Zvoľme si značenie a budeme využívať farebnú paletu, ktorá je vo dvoch
zhodných riadkoch na vrchnej strane editora. Písmo textu máme navolené biele,
takže obdĺžnik s bielou farbou v hornom riadku by mal byt orámovaný. Pre
značenie si zvolíme oranžovú farbu písma. Kliknite na obdĺžnik s oranžovou
farbou v hornom riadku palety a následne na obdĺžnik s bielou farbou v druhom
riadku palety, zvolená farba sa prenesie.
Poznámka: Aby funkcie „Mark“ a „Select“ boli aktívne musí byt gadget v strede
druhého riadku nastavený na funkciu „Replace“! V ostatných prípadoch nám editor
neponúkne riadky na preeditovanie palety.
Ak si chcete pozrieť efekt, ktorý ste vytvorili zvoľte funkciu „Pozri“ (Show).
Editor zmizne a objaví sa plná stránka „Hádanie čísiel“. Ak umiestnite myš nad
číslicu 1, táto zmení farbu na oranžovú. Ostatné čísla zostávajú biele, pretože
s ďalšími prepínačmi srne zatiaľ nerobili žiadne voľby.
Stlačte <Esc> a dostaneme sa opäť do editovacieho režimu. Klikneme na druhý
prepínač a identicky ako v predošlom zvolíme oranžovú farbu pre značenie.
Rovnaký spôsobom postupujeme u všetkých prepínačov, až pokiaľ nie je rovnaká
oranžová farba navolená pre všetkých 9 prepínačov. Klikneme na šípky gadgetu pre
značenie a dostaneme funkciu „Select“. Všimnite si, že horné dva riadky palety
sa zmenili na pôvodné. Teraz volíme farbu pre označenie selektovania daného
prepínača, teda jeho zmenu farby po kliknutí myšou nad jeho aktívnou oblasťou.
Navolíme prepínač číslo 1. V hornom riadku palety si zvolíme jasne žltú farbu
kliknutím myšou a teraz klikneme do spodného riadku pod farbu textu, teda bielu.
Pozrime si dosiahnutý efekt. Ak ste všetko robili pozorne podľa inštrukcií, po
zvolení funkcie „Pozri“, jednotlivé číslice menia farbu z bielej na oranžovú, ak
nad nimi stojíme s myšou. Kliknite myšou na číslo 1 a tu sa zmení farba čísla 1
na žltú.
Stlačte <Esc> a spravte rovnakú zmenu farby v editore pre všetkých 9 prepínačov.
Po označení a selektovaní prepínačov zvoľte funkciu „Pozri“ a vyskúšajte si
kúzelnú hru s myšou. Klikajte na všetky prepínače a jednotlivé číslice menia
farbu z bielej na oranžovú (umiestnená myš nad číslom) a na žltú (kliknutie
myšou na číslo). Premenné
Ako sme avizovali na začiatku článku, budeme v našom skripte voliť premenné.
Naše číslice sú zatiaľ iba text a v konečnom dôsledku iba grafický súbor bez
akejkoľvek ďalšej identifikácie pre náš počítač. Ale my mu povieme, že sa v
tejto stránke jedná o čísla. Čísla musia byť identické s tým čo vidíme na
obrazovke. Kliknime teraz na gadget vpravo v druhom riadku s funkciou „Premenné“
(Variables). Dostaneme podeditor, kde môžeme zadať akú hodnotu má počítač
priradiť písmenu „g“ pre aktivovaný prepínač. Nastavme sa nad prepínač číslo 1 a
napíšme do riadku „Set“ výraz „g=1“.
Potvrdíme nastavenie pomocou OK a podobne volíme pre prepínač 2 výraz „g=2“ a
identicky až po prepínač 9, t.j. „g=9“. V našej hre nebudeme potrebovať žiadnu
logickú podmienku pre jednotlivé prepínače, teda druhý riadok podeditoru s
výrazom „If“ si nevšímame. Ak máme jednotlivé hodnoty 1 až 9 identicky zadané
pre prepínače 1 až 9, tak editor nám v gadgete pre „premenné“ ponúka navolenú
hodnotu „g“ pre daný prepínač. Skontrolujme nakoniec nastavené hodnoty
premenných a potvrďme voľbu funkciou OK.
Cez OK sa dostaneme až k stránkovému editoru. A tu nás čakajú zase premenné.
V hlavnom menu stránkového editora máme vytvorený doteraz úvod hry „Intro“,
stránku, v ktorej budeme hrať hru „Hádanie čísiel“ a tri stránky s výsledkami.
Čo potrebujeme je porovnanie výsledkov a skok na stránku, podľa hádaného čísla,
či je menšie, väčšie alebo nebodaj správne.
V hlavnom menu Scala ponúka stĺpec pre zadanie premenných. Ak ho nemáte v
obraze, tak skúste nasledovný trik. Stlačte myš nad prázdnym priestorom
oddeľujúcim stĺpec s menom stránky a stĺpec pre volenie efektov jednotlivých
stránok (Wipes). Objaví sa výrazná žltá čiara (pozri obrázok). Držte myš
stlačenú a ťahajte čiaru smerom doľava. Na pravej strane obrazovky sa objavujú
ďalšie stĺpce pre efektové voľby nad jednotlivými stránkami skriptu až sa zjaví
stĺpec s nápisom „Premenné“ (Variables).
Poznámka: Ak chcete prehodiť poradie stĺpcov dá sa to urobiť v systémovom menu
pre voľbu Scala EX. Načítanie náhodného čísla.
Na začiatku skriptu musia byt niektoré premenné načítané s hodnotou 0 a
niektorým musí byť priradené náhodné celé číslo medzi 1 a 9. Tieto premenné sme
si definovali v úvode článku. Takže poďme po poriadku na celú programovú
záležitosť.
- Kliknime na stĺpec „Premenné“ pre prvú stránku skriptu s názvom „Intro“.
Dostávame editor pre premenné jednotlivých stránok skriptu.
- Do riadku pre „Set:“ napíšeme výraz „t=0“.
- Navolíme si ďalšiu premennú kliknutím na šípku pre čísla premenných a pre
premennú číslo 2 v riadku „Set:“ napíšeme výraz „n=random(1,9,time( „S“))“
(pozri obrázok).
Poznámka: Scala MM300 má zvlášť gadget pre zadávanie čísla poradia premennej a
zvlášť pre jej hodnotu (Set:).
- potvrdíme zadanie cez OK.
Teraz máme zaistené, že na začiatku hry program priradí pre počet opakovaní
hádania hodnotu 0 a počítač si bude „myslieť“ náhodné číslo medzi 1 až 9. Po
aktivovaní prepínača (kliknutí na dané číslo) sa musia jednotlivé hodnoty
okamžite načítať a porovnať. Preto potrebujeme prázdnu pomocnú stránku, ktorá sa
nebude zobrazovať, iba sa v nej bude porovnávať číslo „myslené“ počítačom a
číslo kliknuté hráčom.
- Kliknime na číslo stránky 2 „Hádanie čísiel“. Dostávame podeditor kontroly
stránky.
- Zvoľme funkciu „Insert new“ a novovloženú stránku pomenujme „Výsledky“.
- Potvrdíme voľbu novej stránky cez OK.
Poznámka: U niektorých starších verzií programu Scala stačilo iba chytiť myšou
prázdny riadok na konci skriptu a umiestniť ho nad miesto, kde si prajeme mať
prázdnu stránku.
V ďalšom určíme rozhodovacie kritériu, čo má program robiť po porovnaní čísla
počítača a čísla hráča.
- Klikneme do stĺpca „Premenné“ prázdnej stránky „Výsledky“.
- Do riadku „Set“ napíšeme výraz „t=t+1“, tým sme povýšili hodnotu premennej
počtu opakovaní o 1. Iná premenná sa nebude meniť, zaujíma nás ďalší riadok s
logickým skokom „If:“
- pre výraz „g>n“ určíme skok na stránku „Veľké“ (Go to:veľké).
- Klikneme na číslo premennej v gadgete „If:“ a píšeme výraz pre 2 možnú hodnotu
„g<n“, pre tento logický výraz priradíme skok na stránku „Malé“ (Go to:malé).
- Logická hodnota „g=n“ znamená uhádnutie čísla a priradenie skoku na stránku
„Správne“ (Go to:správne).
Väčšina práce s programovaním je v tomto stave skriptu za nami. Ale nemôžme
samotný skript naštartovať, pretože by nás čakal chaos. Jednotlivé stránky
musíme správne načasovať a priradiť im príkazy skoku. Tu budeme zadávať hodnoty
do stĺpca pre „Pausu“ (Pause). Logické časovanie skriptu
1. stránka skriptu „Intro“ - stránka obsahuje vstupné načítanie premenných
„t“ a „n“. V našej ukážke sme zvolili časovú pauzu 3 sekundy, po ktorých
nastupuje ďalšia stránka. Ak by sme nechali v znaku pre pauzu myš, ďalšiu
stránku by sme dostali kliknutím na pravú myš, čo nie je moc vhodné, pretože
klikanie je v našej hre voľba číslice.
2. stránka skriptu - „Hádanie čísiel“ v tejto stránke pauzu nemeníme a necháme
navolenú myš, pretože sa automaticky načítava prázdna stránka.
3. stránka skriptu - „Výsledky“ - stránka sa nezobrazuje, ale obsahuje logickú
väzbu skoku na výsledné stránky „Malé“, „Veľké“ a „Správne“.
4. stránka skriptu – „Malé“ - stránka obsahuje upozornenie na nesprávny
výsledok, do pauzy dáme 2 sekundy, dlhší čas zbytočne zdržuje priebeh hry.
Zvolíme príkaz k skoku (Go to) na začiatok hry - stránku číslo 2.
5. stránka skriptu - „Veľké“ - stránka obsahuje upozornenie na nesprávny
výsledok, časovanie pauzy 2 sekundy. Zvolíme príkaz k skoku (Go to) na začiatok
hry - stránka číslo 2.
6. stránka skriptu - „Správne“ - hráč sa dostal k správnemu výsledku, necháme ho
chvíľu sa pokochať výsledkom, pauzu načasujeme na 4 sekundy. Skript necháme nech
sa presunie na ďalšiu stránku „Hráme znovu?“. Záver hry
Poďme hru celkom doladiť a dujme hráčovi možnosť, aby nemusel do zblbnutia
hrať znovu, ale keď sa mu nechce, tak odíde z hry elegantným spôsobom.
- Zvolíme si novú stránku.
- Nahráme si do pozadia dáta „Texture015“.
- Zvolíme si funkciu „Palette“ a nahráme si paletu „BeigSand“.
- Zvolíme typ písma FuturaL 85. Na písme necháme obrys a tieň, farba pre písmo
je biela. Napíšeme text „Hráme znovu?“ a dáme <Enter>. Poďme s kurzorom ešte do
horného riadku a text necháme vystrediť.
- V druhom riadku si zvolíme font CGTimes 75 a napíšeme veľkým „ÁNO“, „NIE“.
Text vystredíme medzerami tak, aby bol vyvážený v obraze (viď obrázok). Farbu
textu zvolíme svetložltú.
- Klikneme na funkciu „Prepínače“ a „natiahneme“ jeden prepínač cez text „ÁNO“ a
druhý prepínač cez text „NIE“.
- Prvý prepínač si označíme svetložltou farbou (Mark) a selektujeme ho zelenou.
Do funkcie „Go to:“ navolíme druhú stránku skriptu, t.j. „Hádanie čísiel“.
Aby sme zachovali logičnosť hry musíme vynulovať počet opakovaní pre novú hru.
Klikneme na funkciu „Premenné“ a do riadku „Set:“ napíšeme výraz „t=0“.
Aký by sme to mali počítač, keby nám nevedel zaželať „Príjemný deň!“
- Druhý prepínač označíme a selektujeme rovnakými farbami ako prvý a do funkcie
„Go to:“ necháme načítať obsah poslednej stránky (Next).
- Zapíšeme všetky editované údaje cez OK. Posledná stránka
- Zvolíme novú stránku.
Nahráme do nej pozadie „Texture015“.
- V editore zvolíme funkciu „Palette“ a nahráme si krásnu modrú paletu
„BlueLight“.
- Font zvolíme CGTimes 75 a napíšeme „Príjemný deň!“. Farbu písma zvolíme
svetložltú, necháme obrys a tieň písma.
- Zapíšeme cez OK.
Skript je hotový môžeme ho naštartovať funkciou „Run!“. Ale máme multimediálny
program, poďme náš skript vyšperkovať zvukmi. Budeme potrebovať nasamplované
zvuky dodávané k programu Scala. Jedná sa o dáta „Click004“, „SwitchOn001“ a
„Applause“. Prvé dva zvuky budú robiť selektovanie čísiel a klikanie myši.
Odmenou pre hráča bude potlesk (Applause), ktorý umiestnime do stránky skriptu
„Správne“. Nahranie zvukov do stránky sa uskutoční kliknutím do stĺpca „Sound“
pre príslušnú stránku. A že Scala vie zvuky upraviť to si pocvičte v poskytnutom
editore. Fantázie sa medze nekladú.
Pre ďalšie vylepšovanie skriptu je možné si naeditovať efekty vstupu
jednotlivých stránok na obrazovku. Eventuálne sa môžete pohrať s efektmi vstupu
a výstupu textu na jednotlivej stránke a podobne. Pomocou uvedenej metódy je
možné napríklad naprogramovať hádanie obsahu fotografie, kde Scala bude
jednotlivé segmenty obrázku odkrývať. S takýmto skriptom už môžete ísť do
televíznych zábavných programov. Želám príjemné chvíle pri programovaní Scaly.
Celý skript ako sme ho vytvorili sa nachádza na diskete k časopisu. Skúste si
preeditovať programovanie priamo v textovom režime. Niekedy je to zaručene
jednoduchšie, hlavne pre skúsenejších užívateľov. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|