Meeskond "Rendikunn": Difference between revisions
Line 12: | Line 12: | ||
=Kirjeldus= | =Kirjeldus= | ||
Klassikaline Xonixi mäng. Kangelane (roheline junn) peab haarama alasid, kus põrkavad vaenulikud pallid, kellega ei tohi kokku põrgata. Ka ei tohi pallid kokku põrgata ala haaramisel tekkiva sabaga, ega ei tohi kangelane kokku põrgata ka ise enda sabaga. | Klassikaline Xonixi mäng. Kangelane (roheline junn) peab haarama alasid, kus põrkavad vaenulikud pallid, kellega ei tohi kokku põrgata. Ka ei tohi pallid kokku põrgata ala haaramisel tekkiva sabaga, ega ei tohi kangelane kokku põrgata ka ise enda sabaga. | ||
Äravõetud ala arvutatakse veebist leitud [http://www.codeproject.com/KB/GDI/QuickFill.aspx 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. | Äravõetud ala arvutatakse veebist leitud [http://www.codeproject.com/KB/GDI/QuickFill.aspx 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. Mida suurem ala korraga haarata õnnestub, seda rohkem punkte selle eest saab, surmasaamise eest võetakse punkte maha. | ||
Kangelase juhtimiseks saab kasutada nooleklahve. Esc-klahviga saab igast alamtaseme aknast esilehe menüüsse, P-klahviga paus, M-klahviga taustamuusika ja helid vaikseks või uuesti mängima. | Kangelase juhtimiseks saab kasutada nooleklahve. Esc-klahviga saab igast alamtaseme aknast esilehe menüüsse, P-klahviga paus, M-klahviga taustamuusika ja helid vaikseks või uuesti mängima. | ||
XBoxi puldiga saab ka vist, pole veel katsetanud. | XBoxi puldiga saab ka vist, pole veel katsetanud. |
Revision as of 16:28, 23 November 2010
Mäng
Xonix.
Lähtekood
Mingi rühmatöökeskkonna kasutamiseni me reaalselt ei jõudnudki. Seetõttu on lähtekood saadaval IT Kolledži serveris zip-vormingus failina: lähtekood... (16MB) Mingitel arvutitel võib tekkida probleem selle käivitamisega tingituna mitteühilduvast videokaardist või draiveritest. Siis võib aidata, kui klassis Game1 Draw meetodi all spriteBatch.Begini argument LinearWrap asendada argumendiga LinearClamp ning projekti Propertiesi all määrata Game profile: Reach. Selle tulemusena tekib küll väike probleem mänguväljaku tausta joonistamisega, kuid muidu peaks kõik muu töötama.
Vead
Mõned silmatorkavad parandamist vajavad vead:
- kohati võib täheldada mingeid anomaaliaid rohelise junni liikumises.
- harvadel juhtudel, kui vaenlase pall põrkub sabaga hetkel, kui kangelane on just lõpetamas ala haaramist, tekib kala
- harvadel juhtudel ei saa kangelane aru, et peab ala haaramise lõpetama, kui jõuab vaid ühe ühiku laiusele juba kättevõidetud alale.
Kirjeldus
Klassikaline Xonixi mäng. Kangelane (roheline junn) peab haarama alasid, kus põrkavad vaenulikud pallid, kellega ei tohi kokku põrgata. Ka ei tohi pallid kokku põrgata ala haaramisel tekkiva sabaga, ega ei tohi kangelane kokku põrgata ka ise enda sabaga. Ä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. Mida suurem ala korraga haarata õnnestub, seda rohkem punkte selle eest saab, surmasaamise eest võetakse punkte maha. Kangelase juhtimiseks saab kasutada nooleklahve. Esc-klahviga saab igast alamtaseme aknast esilehe menüüsse, P-klahviga paus, M-klahviga taustamuusika ja helid vaikseks või uuesti mängima. XBoxi puldiga saab ka vist, pole veel katsetanud. 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. Mängu ajal võib väljuda esimenüüsse, et vaadata näiteks abiinfot, seejärel saab mängu jätkata pooleli olevast kohast.
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. Algselt ei soovinud me maatriksit üldse kasutada, kuigi see olnuks iseenesest loogiline. Kuid ilma maatriksita kättevõidetud alade väljaarvutamine osutus liiga kõrgema astme matemaatikaks, nii et maatriks tuli siiski lisada. Objektid liiguvad küll endiselt vabalt ja maatriksist sõltumatult. 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. |
Meeskond
- Ragnar Nurmla
- Sven Mäeks
- Siim Liivand
- Mikk Mähar