Oceni 9 - 10: Slalom v d-MOL-u
Oddelek za motorni promet in gospodarske dejavnosti MOL namerava pripraviti didaktično igro, katere namen bo promocija kolesarjenja v Ljubljani. Hkrati bo igra urila reflekse kolesarjev in tako prispevala k še večji varnosti kolesarjenja v Ljubljani. Kako bo videti, kaže video. MOL je pripravil tudi vse slike in zvoke, ki jih potrebujete; pripeti so k nalogi. Vaša naloga je le še, da sprogramirate igro.
(Ob snemanju videa sem opazil napako v zaznavanju trkov. Seveda se je morala prvič pokazati ravno takrat. Zdaj sem jo najbrž odpravil, vendar se mi ne da še enkrat snemati. :)
Za programiranje uporabite modul PyGame. Ker ni del standardne Python distribucije, ga morate namestiti. Navodila za namestitev so na spletni strani modula. Za začetek si lahko pomagate s primerom na spletni strani modula.
Razlaga posamičnih funkcij knjižnice PyGame seveda ni tema Programiranja 1. Ker gre za oceni 9 in 10, je umestno pričakovati, da bo znal študent sam pogledati dokumentacijo in si pomagati s primeri. :) To tudi ne bi smelo biti pretežko; vaše glavno delo bo vseeno programiranje. Če si ne boš brez potrebe zapletal(a) življenja, bi moralo biti celotne kode manj kot 100 vrstic.
Ocena 9
Izdelajte igro tako, da bo
- na dnu okna velikosti 800x600 prikazan kolesar, ki ga bo igralec lahko premikal s tipkama levo in desno,
- se bodo z zgornjega roba okna proti kolesarju spuščale ovire in grbi. Koordinate x ovire je naključno število; ovire oz. grb se izbirajo naključno. Gostota ovir je določena tako, da se
- prva ovira pokaže na začetku igre;
- po tem, ko pokažete oviro, določite, po koliko krogih osnovne zanke se pokaže naslednja ovira. To število naj bo naključno izbrano med 30 in 150.
- Ovire se pomikajo s hitrostjo 1 točke na krog, pri čemer je trajanje kroga
clock.tick(480)
. Ko ovira doseže dno okna, se izbriše. - Med igro se v neskončni zanki ponavlja zoprni zvok (arcade.mp3), ki ga slišite v videu.
Ocena 10
Dopolnite igro, da bo videti tako kot v videu.
- Na vrhu zaslona je v na levi strani, centrirano v sredini in na desni strani izpisano število točk, nivo in število življenj.
- Kolesar ima v začetku tri življenja. Ob vsakem trku v oviro (ovire so vse slike, razen kolesarja in grba) izgubi eno življenje. Ko izgubi zadnje, se igra ustavi.
- Kolesar ima v začetku 0 točk. Vsakič, ko pobere grb, dobi 1 točko.
- Po vsakih pridobljenih 5 točkah, kolesar napreduje na naslednji nivo.
- Gostota ovir ni več naključno število med 30 in 150 temveč med 30 in 160 - 10 * nivo. Če je nivo, recimo, 4, je gostota ovir med 30 in 120. Od nivoja 13 naprej je gostota ovir 30.
- Hitrost ovir ni več 1 točko na krog zanke, temveč 1 + nivo / 10 točk na krog zanke. Če je nivo, recimo, 4, je hitrost ovir 1.4 točke na krog zanke.
- Ob trku v oviro se oglasi zvok explosion.mp3, ob pobiranju grba pa jump.mp3. Pri tem se ne prekine zvok, ki teče med igro. (Uporabljaj
pygame.mixer
in predvajaj zvoke na različnih kanalih.)
Datoteke
- 10. januar 2024, 22:54