Międzynarodowy etap konkursu Baltie 2010, kategorie A i B

Transkrypt

Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Instrukcja:
1. Kategoria A rozwiązuje tylko zadania 1, 2 i 3, a kategoria B tylko zadania 2, 3 i 4!
2. Rozwiązania zadań zapisujcie do folderu, który znajduje się na pulpicie komputera. Jej
nazwa jest identyczna, jak kod, który został przydzielony waszemu zespołowi
wcześniej podczas analizy zadań (A05, B36 itp.). Rozwiązanie zapisane w innym
folderze nie będzie brane pod uwagę. Jeśli macie problem z zapisaniem plików,
poproście o pomoc sprawującego nadzór nauczyciela.
3. Swoje rozwiązania nazwijcie wg numerów zadań: 1.bpr, 2.bpr, 3.bpr, 4.bpr
4. Często zapisujcie swoje rozwiązania. Zapobiegnie to niepotrzebnym stratom
rozwiązań w razie problemów z komputerem.
5. W programach będących waszymi rozwiązaniami zadań nie zapisujcie nazwy swojego
zespołu albo swojego imienia lub nazwiska, wasze rozwiązanie musi być anonimowe.
6. Jeśli będziecie mieli jakikolwiek
sprawującemu nadzór nauczycielowi.
problem
z komputerem,
zgłoście
go
7. Na pulpicie znajdziecie też plik z treścią zadań pod nazwą B2010_MK_AB_PL.pdf,
gdzie możecie obejrzeć zadania w wersji kolorowej.
8. Podczas rozwiązywania nie możecie używać scen, własnych banków przedmiotów
i innych pomocniczych plików! Jako rozwiązanie będą oceniane tylko pliki:
1.bpr, 2.bpr, 3.bpr i 4.bpr.
Punktacja:
Punkty, które są podane przy kolejnych zadaniach, można zdobyć za funkcjonalność
poszczególnych części zadania. Liczba punktów będzie mnożona przez współczynnik
z przedziału od 1 do 2, który będzie przyznawany za efektywność rozwiązania i przejrzystość
programu. Rzeczywista liczba punktów za dane rozwiązanie może być więc podwojona.
Współczynnik będzie większy, gdy program będzie efektywny (krótkość rozwiązania), czy to
poprzez wykorzystanie pomocników (metod), albo właściwe wykorzystanie bloków
rozkazów, cykli, instrukcji warunkowych, zmiennych, pola itp. Wartość współczynnika
będzie wreszcie zależeć od ogólnej elegancji rozwiązania. Program musi być przejrzysty,
sensownie podzielony na wiersze. Kiedy to potrzebne stosuj wcięcia (np. wewnątrz
pomocnika czy cyklu). Dla większej przejrzystości można skorzystać z pomocników.
Poszczególne części programu muszą być opatrzone komentarzem.
1
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Zadanie nr 1: Baltie i Krzysiek świętują - rozwiązuje tylko kat. A (58 pkt.)
a. Skończył się rok szkolny i Krzysiek zaczął wakacje w swojej rodzinnej wiosce (domki –
przedmioty z banku 0, tło – kolor srebrny, droga – przedmiot numer 2148). Po
uruchomieniu programu na ekranie pokaże się wioska z czterema identycznymi domkami i
drogą między nimi. Program czeka na naciśnięcie dowolnego klawisza lub przycisku
myszy. 9 punktów
Obrazek 1-1
b. Gdy Krzyśkowi było smutno samemu w domu (dom w lewym dolnym rogu), wybrał się do
koleżanek (pozostałe trzy domki). Krzysiek otworzy drzwi swojego domku (wykorzystaj
drzwi z banku 3), siądzie na rower, zamykać drzwi już mu się nie chce. Następnie pojedzie
na rowerze z prędkością 7 do prawego dolnego domku. Tu obróci się ku drzwiom,
zadzwoni, drzwi się pomału otworzą i pojawi się w nich pierwsza koleżanka (przedmiot 62
– przezroczyście). Przez 500 ms Krzysiek będzie z nią rozmawiał, a potem dalej
z prędkością 7 pojedzie drogą do prawego górnego domku, gdzie cała sytuacja się
powtórzy (obróci się ku drzwiom, zadzwoni, drzwi się pomału otworzą, wyjdzie druga
koleżanka – przedmiot 62, 500ms będą rozmawiać).
Obrazek 1-2
2
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Obrazek 1-3
Potem Krzysiek pojedzie do trzeciej koleżanki z lewego górnego domku i zrobi to samo.
Po rozmowach z koleżankami Krzysiek będzie jeździł drogą na rowerze do momentu
naciśnięcia klawisza K. 14 punktów
Obrazek 1-4
c. Po naciśnięciu klawisza K ekran zostanie zmazany i pojawi się na nim łąka (przedmiot
1122) i dokładnie dziewięć pniaków (przedmiot numer 12 111). Pniaki są rozmieszczone
losowo z tym, że nie mogą znajdować się w pierwszym górnym i ostatnim dolnym rzędzie.
Krzysiek już odłożył rower (Krzysiek to przedmioty 9061-9080) i zawołał na łąkę
Baltiego, by zabawił się z nim w chowanego. Baltie i Krzysiek w lewym górnym rogu,
skierowani do siebie. W środku górnego rzędu pojawi się napis: Chodzmy bawic sie w
chowanego, Krzysku! (obr. 1-5). Napis będzie wyświetlony pogrubioną złotą czcionką
Arial Unicode MS wielkości 14. Po 2 s napis zniknie, a Baltie przejdzie na pozycję 0,0 i
będzie skierowany na zachód, Krzysiek schowa się za losowo wybranym pniakiem, tzn.
będzie na prawo od pniaka (obr. 1-6). Baltie będzie starał się znaleźć Krzyśka. Baltiem
sterujemy za pomocą strzałek, nie może on przechodzić przez pniaki. Naciśnięcie
dowolnego klawisza sterującego Baltiem powoduje włączenie stopera. Gdy Krzysiek
będzie znajdował się przez Baltiem w lewym dolnym rogu pojawi się ikona Baltiego a
obok niej czas, który upłynął nim Baltie znalazł Krzyśka. Krzysiek zniknie zza drzewa i
3
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
pojawi się na pozycji 0,0 skierowany na zachód, a za jednym z pniaków będzie chować się
Baltie (obr. 1-7).
Obrazek 1-5
Obrazek 1-6
Obrazek 1-7
4
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Teraz Krzysiek będzie szukać Baltiego i jego czas będzie wyświetlony obok ikony
Krzyśka stojącej na pozycji 8,9 (obr. 1-8). Czas obu zawodników będzie wyświetlany 2 s,
wyświetlony pogrubioną, żółtą czcionką Arial Unicode MS w rozmiarze 18. Jeśli czasy
będą identyczne, gra rozpoczyna się od początku – Baltie szuka Krzyśka, a potem
Krzysiek szuka Baltiego. Gra skończy się, gdy jeden z nich będzie w szukaniu szybszy. Na
zakończenie gry na ekranie pojawi się tylko zielona łąka a w środku 4 rzędu pojawi się
napis (obr. 1-9) z imieniem zwycięzcy. Napis ma być wyświetlony za pomocą czcionki
Arial Unicode MS pogrubionej, w rozmiarze 20 koloru czerwonego. Program zakończy się
po naciśnięciu dowolnego klawisza lub przycisku myszy. 35 punktów
Obrazek 1-8
Obrazek 1-9
5
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Zadanie nr 2: Baltiada - rozwiązują kat. A i B (75 punktów)
a. Pomóżcie Baltiemu przy organizacji gier i opracowaniu ich wyników. Ekran Baltiego
będzie miał kolor ciemnożółty (ochra), a po obwodzie pojawią się obrazki Baltiego
(przedmiot 9006). Na ekranie pojawią się trzy flagi uczestniczących krajów według
obr.2-1. Pod flagami pojawią się nazwy wszystkich trzech krain napisane białą
pogrubioną czcionką Comic Sans MS w rozmiarze 14. Nad flagami będzie nazwa
konkursu „Gry Baltiego“ wyświetlona za pomocą niebieskiej pogrubionej czcionki Comic
Sans MS w rozmiarze 32. Wszystko ma się pojawić momentalnie po uruchomieniu
programu. Program czeka na naciśnięcie dowolnego klawisza lub przycisku myszy.
12 punktów
Obrazek 2-1
b. Po naciśnięciu dowolnego klawisza lub przycisku myszy ekran zostanie zmazany. Na
obwodzie pojawią się mury klasy, w której odbywa się konkurs (przedmiot 2146). W
piątym rzędzie od góry pojawi się w sumie 9 komputerów w grupach po 3 (obr. 2-2). Nad
nimi pojawi się aktualna systemowa data (nie data wpisana na stałe) napisana pogrubioną,
czerwoną czcionką Arial w rozmiarze 20. W dolnej części klasy będzie nauczyciel
(przedmiot 16).
Obrazek 2-2
6
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Program rozpocznie pracę po kliknięciu lewym klawiszem głowy nauczyciela. Po
kliknięciu pojawi się obok niego klepsydra (przedmiot 11007) otoczona jasnozieloną
ramką grubości 2. Obok klepsydry pojawi się czas 0s w formacie HH:mm:ss,
wyświetlony normalną, żółtą czcionką Arial w rozmiarze 20. Natychmiast potem zabrzmi
dźwięk brzęczyka oznaczający początek konkursu, którego czas trwania wynosi 6 godzin.
Wyświetlane cyfrą godziny zostaną przyśpieszone tak, że 6 realnych sekund będzie
oznaczało 6 godzin na zegarze. O upływie czasu konkursu powiadomią nas 3 kolejne
dźwięki brzęczyka. 20 punktów
Obrazek 2-3
Obrazek 2-4
c. Po trzecim dźwięku program poczeka 1 sekundę. Ekran zostanie zmazany i zaczyna
pracować jury, by opracować wyniki. Podawanie wynik będzie odbywać się następująco:
w górnym rzędzie pojawi się napis „Podaj nazwe 1. kraju:“ a za nim pole pozwalające
wprowadzić 10 znaków z klawiatury. Po naciśnięciu Entera napis zostanie zmieniony na
„Podaj punkty dla nazwa kraju, który podaliśmy“. Nazwa kraju będzie wyświetlona
wielkimi literami. W kolejnym rzędzie pojawi się napis „1. zadanie:“ i pole pozwalające
wprowadzić 2 znaki z klawiatury. Po podaniu punktów i naciśnięciu Entera w podobny
sposób podawane będą punkty dla zadań 2 i 3. Punkty z trzech zadań zostaną podkreślone
białą linią i wprowadzone zostaną punkty drugiego i trzeciego kraju (obr. 2-6, 2-7)
Program czeka na naciśnięcie dowolnego klawisza lub przycisku myszy. 18 punktów
7
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Obrazek 2-5
Obrazek 2-6
Obrazek 2-7
8
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
d. Po naciśnięciu dowolnego klawisza lub przycisku myszy ekran zostanie zmazany. Pojawią
się na nim sumy punktów w takim porządku, w jakim podawaliśmy wcześniej. Napis
„Wyniki krajow w punktach:“ będzie napisany pogrubioną czerwoną czcionką Comic
Sans MS w rozmiarze 14. Potem będą wypisane kraje w takim porządku jak je
podawaliśmy. Napis będzie wyrównany do lewej wykonany czcionką Comic Sans MS w
rozmiarze 12 i kolorze białym. Identyczną czcionką za nazwą każdego kraju wyświetlona
będzie suma punktów za trzy zadania. (obr. 2-8). Program czeka na naciśnięcie
dowolnego klawisza lub przycisku myszy. 11 punktów
Obrazek 2-8
e. Po naciśnięciu dowolnego klawisza lub przycisku myszy ekran zostanie ponownie
zmazany i pojawią się na nim wyniki krajów od najlepszego do najgorszego. Z prawej
strony ekranu pojawi się napis „Wyniki gier Baltiego“ wyświetlony różową pogrubioną
czcionką Comic Sans MS w rozmiarze 20. Pod napisem będą wyświetlone kraje, które
zdobyły kolejno od 1. do 3. Miejsca z uzyskanymi punktami. Czcionka – ciemnożółta
(ochra), pogrubiona, Comic Sans MS, w rozmiarze 12. W lewej części ekranu pojawi się
efekt – powiększający się Baltie (przedmiot 9006). Powiększać się będzie 15 razy, co 0,5
sekundy w ten sposób, że za każdym razem zostanie wyświetlony w obszarze
powiększonym z każdej strony o 5 pikseli.
14 punktów
9
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Obrazek 2-9
Obrazek 2-10
10
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Zadanie nr 3: Wygaszacz Baltiego - rozwiązują kat. A i B (82 punkty)
Z powodu kryzysu Baltie został zwolniony z pracy, więc wymyślił, że rozpocznie własną
działalności gospodarczą. Będzie się zajmował, jakże inaczej – programowaniem. Na
początek postanowił stworzyć wygaszacz ekranu. I to nie byle jaki! Użytkownik będzie mógł
wybrać, jaki wygaszacz chce i będzie mógł go dostosować do swoich potrzeb!
W tej wersji programu Baltiego do wyboru będzie 4 wygaszacze. W każdym z nich
użytkownik w jednakowy sposób podaje tekst, który ma pojawić się na ekranie oraz wybrać
jego kolor. Każdy wygaszacz będzie działać do naciśnięcia dowolnego klawisza lub przycisku
myszy.
a. Po uruchomieniu programu pojawi się ekran (obr. 3-1) z przedmiotami 11085, 4042,
11127, 11139, właściwości tekstu są standardowe (nie musicie ich zmieniać), Baltie jest
niewidoczny.
Obrazek 3-1
Użytkownik wybierze wygaszacz klikając na odpowiedni obrazek (jeśli kliknie poza każdy
z obrazów program zakończy działanie); po wybraniu dowolnego wygaszacza ekran
zostanie zmazany i pojawi się napis „Podaj tekst“ oraz pola pozwalające na wprowadzenie
danych z klawiatury. Podczas wprowadzania tekstu nie musicie kontrolować, czy
użytkownik wprowadza litery, cyfry czy same spacje.
11
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Obrazek 3-2
Po wprowadzeniu tekstu okno zostanie zmazane i pojawi się ekran wyboru koloru
(przedmioty 136 do 150). Program czeka aż klikniecie wybrany kolor. Kliknięcie na kolor
powoduje zmianę koloru tekstu. Program ignoruje kliknięcie poza kolorami, czeka aż
klikniemy w kolor. Po wybraniu koloru ekran zostanie zmazany, a w dolnym rzędzie
pierwszej kolumny pojawi się Baltie skierowany w prawo. 19 punktów
Obrazek 3-3
b. Pierwszy wygaszacz wyświetla tekst w następujący sposób: na losowej pozycji na ekranie
wyświetlony jest wprowadzony wcześniej napis w wybranym kolorze (nie musicie
kontrolować czy napis nie wykracza poza ekran). Tekst napiszcie czcionką Courier New,
w rozmiarze 10, wybranym kolorem. Baltie zacznie się poruszać z prędkością 2 w ten
sposób że wykona 1 krok do przodu ekran zostanie zmazany i napis pojawi się w innym
miejscu, Baltie znowu zrobi krok itd. Jeśli Baltie stanie na skraju ekranu, najpierw obróci
się do tyłu, a potem zrobi 1 krok. Baltie będzie się w ten sposób poruszał tak długo, jak
długo będzie działał wygaszacz. Po naciśnięciu dowolnego klawisza lub przycisku myszy
program całkowicie się zakończy. 10 punktów
Obrazek 3-4
12
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
c. Drugi wygaszacz wyświetli tekst w następujący sposób: kolorowy napis wyleci zza
prawego skraju ekranu, leci w lewo aż stopniowo schowa się za lewy róg ekranu. Potem
wylatuje z lewej strony itd. Tekst lata w przybliżeniu w środku wysokości ekranu i
przesuwa się o 15 pikseli. Tekst wyświetlamy czcionką Courier New w rozmiarze 10, w
wybranym kolorze. Szerokość jednego znaku to 8 pikseli. Baltie zacznie się poruszać z
prędkością 7 w ten sposób, że wykona 1 krok do przodu ekran zostanie zmazany i napis
przesunie się w lewo, Baltie znowu zrobi krok. Jeśli Baltie stanie na skraju ekranu,
najpierw obróci się do tyłu, a potem zrobi 1 krok. Baltie będzie się w ten sposób poruszał
tak długo, jak długo będzie działał wygaszacz. Po naciśnięciu dowolnego klawisza lub
przycisku myszy program całkowicie się zakończy. 14 punktów
Obrazek 3-5
Obrazek 3-6
d. Trzeci wygaszacz wyświetla tekst w następujący sposób: kolorowy napis wyleci zza
prawego skraju ekranu i leci w lewo aż dotknie lewego skraju ekranu. Wówczas odbija się
i leci w prawo aż dotknie (swoim prawym końcem) prawego skraju ekranu, wówczas
odbija się w lewo i leci do lewego skraju ekranu itd. Tekst lata w przybliżeniu w środku
wysokości ekranu i przesuwa się o 15 pikseli. Tekst wyświetlamy czcionką Courier New
w rozmiarze 10, w wybranym kolorze. Szerokość jednego znaku to 8 pikseli. Baltie
zacznie się poruszać z prędkością 7 w ten sposób, że wykona 1 krok do przodu ekran
zostanie zmazany i napis przesunie się trochę dalej, Baltie znowu zrobi krok. Jeśli Baltie
stanie na skraju ekranu, najpierw obróci się do tyłu, a potem zrobi 1 krok. Baltie będzie
13
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
się w ten sposób poruszał tak długo, jak długo będzie działał wygaszacz. Po naciśnięciu
dowolnego klawisza lub przycisku myszy program całkowicie się. 15 punktów
e. Czwarty wygaszacz wyświetla tekst w następujący sposób: kolorowy napis wyświetlany
jest na środku ekranu (środek podanego tekstu pokrywa się ze środkiem ekranu, możecie
ustawić współrzędną y – 145). Potem losową liczbę skoków wykonuj w jednym z
czterech kierunków: północno-wschodnim, północno-zachodnim, południowo-wschodnim
lub południowo-zachodnim, zawsze o 15. Na początku zawsze poruszać się będzie na
południowy wschód. Liczba skoków w jednym kierunków będzie od 2 do 5. W kolejnych
losowaniach kierunki ruchu mogą się powtarzać. Jeśli tekst opuści ekran ( tzn. jeśli jakaś
litera na początku lub końcu tekstu zostanie wyświetlona poza ekranem), napis wraca na
środek ekranu i zaczyna poruszać się w kierunku południowo-wschodnim. Tekst
wyświetlamy czcionką Courier New w rozmiarze 10, w wybranym kolorze. Szerokość
jednego znaku to 8 pikseli. Baltie zacznie się poruszać z prędkością 7 w ten sposób, że
wykona 1 krok do przodu ekran zostanie zmazany i napis zostanie wyświetlony w innym
miejscu, Baltie znowu zrobi krok. Jeśli Baltie stanie na skraju ekranu, najpierw obróci się
do tyłu, a potem zrobi 1 krok. Baltie będzie się w ten sposób poruszał tak długo, jak długo
będzie działał wygaszacz. Po naciśnięciu dowolnego klawisza lub przycisku myszy
program całkowicie się. 24 punkty
14
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Zadanie nr 4: Odbicia - rozwiązuje tylko kat. B (90 punktów)
Ze odbiciami spotykamy się często w realnym świecie – w bilardzie odbijamy bile od ścian
stołu i wykorzystujemy znane z fizyki prawo odbicia, we wszystkich grach z piłką odbijamy
ją ręką, nogą, od ścian, koszy, bramek,... Spróbujcie i wy poeksperymentować z odbiciami
przedmiotów i brzegów ekranu. Zadanie sprawdzi umiejętności najlepszych programistów w
B3.
a. Po uruchomieniu programu na ekranie pojawi się grzybek, który będzie cyklicznie
powiększał się i zmniejszał tak, jakby grzybek oddychał (przedmioty 3037 – 3045).
Pikselowe współrzędne grzybka są losowe. Program czeka na naciśnięcie klawisza Q.
7 punktów
Obrazek 4-1
b. Po naciśnięciu klawisza Q grzybek zacznie się poruszać w kierunku w prawo w dół
z prędkością 4 pikseli na 50 milisekund. Przy swoim ruchu odbija się od brzegów ekranu
zmieniając równocześnie cyklicznie swoją wielkość. Na obrazkach 4-2 i 4-3
przedstawiono odbicie od górnego skraju Grzybek odbija się tak, aż do naciśnięcia
klawisza Q. 21 punktów
Obrazek 4-2
Obrazek 4-3
c. Po naciśnięciu klawisza Q w oknie pojawi się ramka stworzona z przedmiotów banku 1
(1086-1090, 1101-1104) umieszczona tak, że lewy górny róg ramki ma polowe
współrzędne 1,1, a lewy dolny - 1,8. Na ekranie stale porusza się grzybek zmieniający
swoją wielkość. Ruch ponownie zaczyna się od kierunku w prawo w dół z prędkością 4
15
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
pikseli na 50 milisekund. Teraz grzybek odbija się nie od brzegów ekranu, ale od skraju
ramki. Na obr. 4-4 grzybek porusza się w kierunku w lewo w dół, a po odbiciu od ramki w
kierunku w prawo w górę. Grzybek odbija się tak, aż do naciśnięcia klawisza Q.
24 punkty
Obrazek 4-4
Obrazek 4-5
d. Po naciśnięciu klawisza Q okno się zmieni. W oknie pozostanie ramka, ale jej wnętrze
zmieni kolor na jasnozielony. W ramce będą się poruszać z prędkością 4 pikseli na 50
milisekund dwa przedmioty, których początkowe kierunki ruchu są przeciwne. Jednym
z przedmiotów pozostaje „oddychający“ grzybek – początkowy kierunek jego ruchu jest
identyczny jak w poprzednich częściach. Drugim przedmiotem jest kręcąca się tarcza
(przedmioty 8121 do 8124). Na obr. 4-6 przedstawiona, jak tarcza porusza się w kierunku
w prawo w dół, a grzybek w lewo do góry. Na obr. 4-7 przedstawiono stan po odbiciu
tarczy od ramki, tarcza porusza się w prawo do góry, a grzybek dalej porusza się w tym
samym kierunku, też w prawo do góry. Przedmioty przy wzajemnym zderzeniu
przechodzą przez siebie. 24 punkty
16
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
Obrazek 4-6
Obrazek 4-7
e. Ostatnia część to testowanie czy nie zderzyły się poruszające się przedmioty – grzybek
z tarczą. W przypadku zderzenia przedmioty odbijają się od siebie tak, że zmieniają
poziomy kierunek ruchu na przeciwny w zależności od tego, w którym kierunku przed
zderzeniem poruszały się (w prawo-w lewo). Program zakończy naciśnięcie klawisza Q.
14 punktów
17
Międzynarodowy etap konkursu Baltie 2010, kategorie A i B
18

Podobne dokumenty