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