Meeskond "Rendikunn": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 14: Line 14:


=Kirjeldus=
=Kirjeldus=
 
Klassikaline Xonixi mäng. Kangelane (roheline junn) peab haarama alasid, kus põrkavad vaenulikud pallid. Kuna algselt ei soovinud me kasutada maatriksit, siis ilmses peagi probleem, et ei suutnud välja mõelda meetodit, kuidas ilma maatriksita äravõetud alasid arvutada. Siis sai loodud lisaks juurde veel klass grid, milles tehakse kõikvõimalikke ala haaramisega seotud arvutusi. Ühtlasi tuli ala jagada tinglikult ruutudeks, objektid liiguvad küll vabalt ja maatriksist sõltumatult, kuid alade arvutamine toimub maatriksi abil. Äravõetud ala arvutatakse veebist leitud floodfill algoritmi kasutades. Igast vaenlase palli positsionist alates tehakse floodfill ja alad, mis pärast seda jäävad täitmata, on järelikult meie äravõetud alad. Seejärel see maatriksi põhjal leitud info konverteeritakse ümber sobivaks platsile ristkülikute joonistamiseks mõeldud infoks. Natuke tülikas ja ümber nurga lähenemine, aga kuna alguses kohe maatriksit kasutusele ei võetud, oleks tulnud liiga palju ümber teha.
Klassikaline Xonixi mäng. Kangelane peab haarama alasid, kus põrkavad vaenulikud pallid. Mängu lõplik versioon kasvas välja Eneta Veebistuudiumi materjalis kirjeldatud saia ja tomatite mängust. Selle näite abil sai tekitatud põrkavad pallid ja üldse kõik ekraanil kuvatavad liikuvad ja liikumatud objektid. Sealt ka klassid staticGameObject, movingGameObject jne. Sealt omakorda päritud klassid bouncingGameObject ja heroObject jne. Eraldi klass Tail sai loodud kangelasele saba joonistamiseks, kui kangelane on ala haaramas. Kuna algselt ei soovinud me kasutada maatriksit, siis ilmses peagi probleem, et ei suutnud välja mõelda meetodit, kuidas ilma maatriksita äravõetud alasid arvutada. Siis sai loodud lisaks juurde veel klass grid, milles tehakse kõikvõimalikke ala haaramisega seotud arvutusi. Ühtlasi tuli ala jagada tinglikult ruutudeks, objektid liiguvad küll vabalt ja maatriksist sõltumatult, kuid alade arvutamine toimub maatriksi abil. Äravõetud ala arvutatakse veebist leitud floodfill algoritmi kasutades. Igast vaenlase palli positsionist alates tehakse floodfill ja alad, mis pärast seda jäävad täitmata, on järelikult meie äravõetud alad. Seejärel see maatriksi põhjal leitud info konverteeritakse ümber sobivaks platsile ristkülikute joonistamiseks mõeldud infoks. Natuke tülikas ja ümber nurga lähenemine, aga kuna alguses kohe maatriksit kasutusele ei võetud, oleks tulnud liiga palju ümber teha.
==Mängu käik==
Kangelase juhtimiseks saab kasutada nooleklahve. Esc-klahviga saab mängust välja, P-klahviga paus, S-klahviga taustamuusika kinni/mängima.
Leveli läbimiseks on vajalik 75% ala haaramine, peale mida kuvatakse taustapilt täies mahus ja peale Enteri vajutamist algab järgmine level.
Kokku on mängul 10 levelit.


=Klassid=
=Klassid=

Revision as of 16:05, 23 November 2010

Mäng

Xonix.

1. mängutaseme kuvatõmmis
esimenüü kuvatõmmis

Meeskond

  • Ragnar Nurmla
  • Sven Mäeks
  • Siim Liivand
  • Mikk Mähar

Lähtekood

lähtekood... (16MB)

Kirjeldus

Klassikaline Xonixi mäng. Kangelane (roheline junn) peab haarama alasid, kus põrkavad vaenulikud pallid. Kuna algselt ei soovinud me kasutada maatriksit, siis ilmses peagi probleem, et ei suutnud välja mõelda meetodit, kuidas ilma maatriksita äravõetud alasid arvutada. Siis sai loodud lisaks juurde veel klass grid, milles tehakse kõikvõimalikke ala haaramisega seotud arvutusi. Ühtlasi tuli ala jagada tinglikult ruutudeks, objektid liiguvad küll vabalt ja maatriksist sõltumatult, kuid alade arvutamine toimub maatriksi abil. Äravõetud ala arvutatakse veebist leitud floodfill algoritmi kasutades. Igast vaenlase palli positsionist alates tehakse floodfill ja alad, mis pärast seda jäävad täitmata, on järelikult meie äravõetud alad. Seejärel see maatriksi põhjal leitud info konverteeritakse ümber sobivaks platsile ristkülikute joonistamiseks mõeldud infoks. Natuke tülikas ja ümber nurga lähenemine, aga kuna alguses kohe maatriksit kasutusele ei võetud, oleks tulnud liiga palju ümber teha.

Mängu käik

Kangelase juhtimiseks saab kasutada nooleklahve. Esc-klahviga saab mängust välja, P-klahviga paus, S-klahviga taustamuusika kinni/mängima. Leveli läbimiseks on vajalik 75% ala haaramine, peale mida kuvatakse taustapilt täies mahus ja peale Enteri vajutamist algab järgmine level. Kokku on mängul 10 levelit.

Klassid

Mõningatest klassidest, mida tarkvara kasutab. Kuna algselt sai näppu harjutatud Eneta Veebistuudiumi materjalide põhjal (seal oli mingi tomatite ja saia mäng) ning praegune Xonixi mäng mingil määral kasvas välja sellest, siis on kasutusel klassid nagu staticgameObject ja sellest pärinevad movingGameObject ja bouncingGameObject, heroObject jne, vastavalt paigalseisvate objektide hoidmiseks ja põrkavate pallide ja "kangelase" jaoks. Lisaks tundus mingil hetkel olevat vajalik teha eraldi klass ala haaramisel jooistatava "saba" hoidmiseks ja arvutamiseks (klass Tail). Kõik ekraanid on eraldi klassid, klassi Screen alamklassid. Menüü jaoks on eraldi klass MenuItems, mis võimaldab menüüsse lisada elemente ja menüüs navigeerida ning ka joonistab menüüd. Ala haaramisega seotud arvutiste tegemiseks on klass Grid, milles ala ristkülikud konverteeritakse maatriksiks, tehakse arvutused ja konverteeritakse tulemused tagasi ristkülikuteks. On eraldi klass InputHelper, mida keegi kodanik kuskil foorumis lahkelt jagas, et oleks mugav sisendseadmetega suhelda (see on vist ainuke otse ülevõetud koodijupp, lisaks ka floodfilli algoritm tuli veebist leida). Ka on eraldi klass Sounds heliefektide ja taustamuusikaga majandamiseks.

B-Logi

  • 16.10.10
Tiimi moodustamine
  • 17.10.10
Mängu idee läbiarutamine ja tööjaotus
  • 21.10.10
Liitus Mikk
  • Tulevik
Alfa, Beeta versioonid
Kriitikat kannatav tulemus
  • 25.10.10
Toimus skype koosolek, kus lepiti kokku järgnevas:
  • tiimitöö väljundiks on Xonix
  • kõik lõpetavad XNA paigaldused ja hakkavad sügavuti tutvuma XNA-ga ja C#ga
  • igaüks otsib koodinäiteid teostatud xonixi mängudest XNA-s
  • 26.10.10
On valminud kaks erinevat algversiooni xonix'ist
  • 27.10.10
  • 30.10.10
  • 21.11.10
Võib vist öelda, et hetkeseisuga on valminud asjast töötav versioon. Klassikaline Xonixi mäng, millel 10 levelit. Alade haaramisel koorub taustalt välja pilt. Mida suurem ala korraga õnnestub haarata, seda rohkem punkte saab... Mängu edenedes lisandub palle ja kiirused kasvavad.


Meeskonnaliikmetele antavad ülesanded #Ajakavas

ToDo

Ülesanne Teostaja Tehtud?
B-Logi täitmine Sven pidev
Kui progemisel keegi jänni jääb, siis abi debugimisel Mikk pidev
XBox'i versiooni jaoks alguspilt

Ajakava

Komponendi/Töö nimetus Olulisus ja lühikirjeldus Oletatav keerukus Kes, mida teeb/teha tahab Tähtaeg orienteeruvalt
Olgu kõik valmis! Kaitsmine on 05.11. Keeruline Kõik koos 04.11.