Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Podobni dokumenti
INFORMATOR BIROKRAT 1/2011

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

Spoznajmo PowerPoint 2013

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu: računalniška igra»kača«maturitetna seminarska naloga iz informatike Avtor:

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

ISOFT , računalniški inženiring

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

_ _BDA_CapitalSports_CS-Timer.indd

Microsoft Word - CNR-MPV2 Quick Guide_SI

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

PowerPointova predstavitev

PowerPoint Presentation

INFORMATOR BIROKRAT 1/2011

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

IJS EDS IJS Elektronski Dokumentni Sistem Osnovna uporaba sistema uporabniška navodila Institut "Jožef Stefan" Ljubljana

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

Watch 40_MT40X_UM_SL.pdf

KRMILNA OMARICA KO-0

PowerPointova predstavitev

Microsoft Word - Navodila za uporabo 1.1.doc

Sledilna ploščica in tipkovnica Uporabniški priročnik

Microsoft Word - NAVODILA ZA UPORABO.docx

Excel 2016

Microsoft Word - Trust-CDsize-12052_12579_14070-al-cp_v5.0.doc

POMOČ PREDSTAVITEV EKOSKLADOVNICE UPORABLJENA TERMINOLOGIJA REGISTRACIJA V EKOSKLADOVNICO PRIJAVA V EKOSKLADOVNICO OBJAVA PRISPEVKA ISKANJE PRISPEVKOV

Safety and Regulatory Information

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. U

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

Kazalne naprave in tipkovnica Vodnik za uporabnike

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Microsoft Word - CN-BTU4 Quick Guide_SI

DCS-2330L_A1_QIG_v1.00(EU).indd

Zadeva: Ponudba

COBISS3/Medknjižnična izposoja

Vaja04_Ver02

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

scratch

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Navodilo Telemach

ACAD-BAU-Analiza-prostorov

Microsoft Word - CNR-MPV4A quick guide_SI

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Microsoft Word - IPIN slovenska navodila za pridobitev

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word Navodila za povezavo naprave v oblak_SLO

Diapozitiv 1

COBISS COBISS3/Katalogizacija 7.3 VNOS PODATKOV Podatke vnašamo ali spreminjamo z vpisom v vnosno polje, z izbiro iz šifranta ali spustnega seznama. 7

KOMISIJA ZA LOGIKO 32. TEKMOVANJE IZ ZNANJA LOGIKE DRŽAVNO TEKMOVANJE, in 2. letnik Šifra: NALOGA MOŽNE TOČKE DOSEŽENE TOČKE

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Linksys PLEK500 User Guide

NETGEAR R6100 WiFi Router Installation Guide

Diapozitiv 1

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Navodila Trgovina iCenter

Kazalne naprave in tipkovnica Uporabniški priročnik

Navodila za uporabo Mini snemalnik

NETGEAR R6250 Smart WiFi Router Installation Guide

NAVODILA ZA IZPOLNJEVANJE OBRAZCA

Aplikacija za vodenje sladkorne bolezni Navodila za uporabo

Strojna oprema

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Microsoft Word - SI_vaja1.doc

Orodje za izvoz podatkov

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc)

Operacijo delno financira Evropska unija, in sicer iz Evropskega socialnega sklada. Javni razpis za izbor operacij se izvaja v okviru Operativnega pro

Navodila za uporabo

SLO - NAVODILO ZA UPORABO IN MONTAŽO Št

Microsoft Word KR navodila za CMS.doc

SM-G390F Navodila za uporabo Slovenian. 03/2017. Rev.1.0

Microsoft PowerPoint - Navodila za izdajo kartic.pptx

Obračun storitev v vrtcu in šoli

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

GOALS

Microsoft Word - Seštevamo stotice.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc

Codeks TA KIT

SM-G925F Navodila za uporabo Slovenian. 03/2015. Rev.1.0

Microsoft Word - SPIDER-X5_User Manual - EN_0320.docx

_ _ _BDA_Glasheizung_Klarstein_Update.indd

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

SLO - NAVODILO ZA UPORABO IN MONTAŽO Št

CODEKS IP KAMERA

BDV-N890W/BDV-N790W

MT40X Kratka navodila

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Navodila za namestitev DEVIreg Touch Inteligentni elektronski termostat

NW-A indd

Uporabniška navodila Številka projekta: LLP PT-GRUNDTVIG-GMP

Transkripcija:

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni najbolj znano, z nekaj dodatki. Cilj igre je dobiti čim več točk, ki jih dobimo s pobiranjem hrane, s čimer se kača tudi daljša. Izogibati se moramo trku v steno, trku v ovire, ki nastajajo v določenih časovnih intervalih (korakih) za kačo in pa seveda trku v rep kače. Takšna je meni znana različica. Sam sem dodal še dve posebni vrsti hrane, prva, ki je rdeče barve, nam omogoča, da za 300 korakov lahko uničujemo ovire (črni kvadratki), druga, ki je modre barve, pa nam za 500 korakov omogoča prehod skozi steno. Trajanje teh sposobnosti se sešteva, če poberemo to vrsto hrane, ko je ta sposobnost še aktivna. Hrana, ki nam prišteva število točk in daljša kačo, je zelene barve. Klasična Kača ima prednastavljeno velikost mreže, ki je po navadi takšna, da se prilega zaslonu mobilnega telefona, sam pa sem poleg izbire stopnje (vpliva na hitrost kače in število dobljenih točk) dodal še izbiro velikosti mreže in velikosti okna igrice. Pod igralno površino je še statusna vrstica, ki nam kaže trajanje sposobnosti razbijanja ovir (EC), trajanje sposobnosti prehoda skozi steno in na sredini število točk. Igrica ima tudi menijsko vrstico, ki ima zavihka Datoteka in Pomoč, prvi nam odpre podmeni z zavihki Nova igra, Nastavi površino in Zapri, drugi pa nam odpre okno s pomočjo. Izbira Nastavi površino nam zapre trenutno okno in odpre uvodno okno z nastavitvami. Ko končamo igro (se zaletimo v steno, oviro ali rep kače), se odpre majhno okno s številom točk in opozorilom za končano igro. Reševanje Zaradi bolj enostavnega pisanja in malo krajše kode sem uporabil razred Kaca, v katerem so vključene vse metode, potrebne za delovanje igrice. Poleg tega sem seveda vključil modul tkinter (za izdelavo grafičnega vmesnika) in modul random (za naključno pojavljanje hrane). Zaradi večje jasnosti rešitve bom opisal vsako metodo posebej. 1. Konstruktor V konstruktorju se nastavijo nekatere spremenljivke, ki so nujne za delovanje programa, kot na primer stopnja, dimenzija mreže in velikost okna, ki ostanejo nespremenjene, če ob pojavitvi uvodnega okna takoj pritisnemo enter, brez da bi kaj spreminjali. Poleg tega se v konstruktorju seveda ustvari uvodno okno. To vsebuje pozdrav, možnost nastavitve stopnje, ki je vezana na metodi stopnjaplus() in stopnjaminus(), velikosti okna, ki je vezana na metodo izberires() in dimenzije

mreže, ki je vezana na metodo izberidimpremik(). Na to okno je vezana tipka enter, ki nam glede na izbrane nastavitve preko metode zacniigro() odpre glavno okno z igralno površino. 2. stopnjaplus(), stopnjaminus() Slika 1: Uvodno okno Metodi sta vezana na gumba, ki nam povečujeta ali manjšata težavnost (hitrost) igre. Med gumboma je prikazana trenutno izbrana stopnja. Vrednosti lahko zavzamejo vrednosti od 1 do 6. 3. izberires() Imamo možnost izbire treh različnih velikosti okna, 400 pikslov, 640 pikslov ali 800 pikslov. Prednastavljeno je izbrana velikost 640, ki je tudi rdeče obarvana. Če želimo izbrati drugo, lahko z miško kliknemo na željeno vrednosti, ki se nato obarva rdeče. 4. izberidimpremik() Izbiro dimenzije izvedemo tako, da z miško premaknemo drsnik na željeno vrednost. Prednastavljeno je drsnik na sredini (35 kvadratkov za stranico), lahko pa se premika od 10 do 60 kvadratkov. 5. zacniigro() Če metodo kličemo s tipko enter, ko je aktivno uvodno okno, se ustvarijo seznami indeksev za hrano, kačo, ovire in power-upe. Poleg tega se ustvari tudi seznam grafičnih elementov, ki vsebuje vse

kvadratke v mreži. Kvadratki so v seznamu po vrsti od prvega zgoraj levo do zadnjega spodaj desno, pri čemer so dodani od leve proti desni, kot je prikazano spodaj na primeru: 0 1 2 3 4 5 6 7 8 Ko so prazni kvadratki v seznami, se srednji štirje pobarvajo na črno, njihovi indeksi pa se dodajo v seznam kvadratkov kače. Poleg teh seznamov se seveda ustvari igralno okno z menijem, igralno površino in statusno vrstico. Slika 2: Igralna površina

6. pomoc() Metoda ustvari okno s tekstom, ki nam razloži nekaj osnovnih pravil igre in pove, s katerimi tipkami igramo. 7. start() Slika 3: Pomoč Metoda je vezana na tipko enter (ko imamo odprto igralno okno). Kličemo jo lahko samo, če trenutno ne igramo. Ko pritisnemo enter, se kača začne premikati in pojavi se prvi zeleni kvadratek. Naključno se določi tudi število korakov, potrebnih za naslednji power-up. Spremeni se tudi tekst v statusni vrstici tako, da prikazuje, koliko časa nam ostane za oba power-upa in koliko točk smo že dobili. 8. konec() Ta se izvede, če se zaletimo v steno, oviro ali rep kače. Metoda odpre pojavno okno s točkami in opozorilom, da je igra končana. 9. naredihrano() Slika 4: Okno ob koncu igre Kliče se, ko poberemo trenutni zeleni kvadratek. Naključno se izbere indeks kvadratka, nato pa preverimo, če je kvadratek že pobarvan, torej v enem od seznamov. Sicer bi bilo bolj varno uporabljati choice() na seznamu praznih kvadratkov, vendar se mi zdi to boljše, saj sam nisem prišel do tega, da bi bila površina tako zapolnjena, da bi morali indeks mesta generirati več kot dvakrat. Tudi potek igre mi je tako izgledal bolj tekoč, kot pa s seznamom praznih kvadratkov.

10. naredipowerup() Metoda je skoraj enaka prejšnji, le da naključno izberemo še eno od dveh vrst. Ko se kliče metoda, se tudi nastavi število korakov, potrebnih za naslednji power-up. 11. tockeplus() Vsakič, ko poberemo zelen kvadratek, se kliče ta metoda, ki nam poveča toče za dolžino kače, pomnoženo s stopnjo težavnosti. 12. premik() Metoda je razdeljena na štiri dele, odvisno od smeri, v kateri se premika kača. Za vsak del pa velja, da se najprej izračunata x in y koordinati glave kače po premiku. Nato se preveri, če se bo kača zaletela v steno. Če je trenutno aktiven power-up za prehod skozi steno, se bo kača pojavila na nasprotni strani tabele, sicer je konec igre. Če kača ni ob steni, se izračuna indeks kvadratka, na katerem bo ob premiku. Če je indeks v seznamu ovri,s e prav tako preveri, če je trenutno aktiven power-up za razbijanje ovir. V tem primeru se oviro ignorira, in odstrani iz seznama indeksov, sicer pa je spet konec igre. Če je pred kačo prazen kvadratek ali pa hrana, se kliče metoda premakni(). Čisto na koncu metode premik ta spet kliče sama sebe v časovnem zamiku 800 milisekund deljeno s stopnjo težavnosti. 13. trk() Ta nastavi stanje igre na 2 (končana) in kliče metodo konec(). 14. premakni() Ta deluje različno glede na to, kaj je pred kačo. Za parameter dobi indeks kvadratka pred njo. Če je to hrana, indeks zadnjega kvadratka kače ostane v seznamu kače in se ne spremeni, kvadratek s hrano pa se doda v ta seznam in prebarva na črno. Če je pred njo posebna vrsta hrane, se doda število korakov primernemu števcu, kvadratek pred kačo se pobarva na črno, njegov indeks se doda v seznam, zadnji kvadratek pa se odstrani in prebarva na belo. Če je število korakov deljivo s 500, se zadnji kvadratek ne prebarva, ampak se njegov indeks doda v seznam ovir. 15. gor(), dol(), levo(), desno() Metode so vezane na smerne tipke. Glede na to, kam je trenutno obrnjena kača, se smer primerno spremeni glede na to, katero tipko pritisnemo. Če je kača obrnjena na primer levo, pritisnemo pa tipko desno, se ne zgodi nič. Seveda se spremeni samo niz self.smer, kača se v tej smeri premakne šele ob metodi premik(). 16. spremenipovrsino() Do metode dostopamo preko menija. Uniči nam glavno okno in požene konstruktor, kar pomeni, da se spet pojavi uvodno okno.

Slika 5: Potek igre Izjava Izjavljam,da sem seminarsko nalogo opravil samostojno in da sem njen avtor. Zavedam se, da v primeru, če izjava prvega stavka ni resnična, kršim disciplinska pravila.