Tepz klon - Projektrapport Janina Bergström jb222qp WP12 Distans 8/6-2013 Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt 1
Abstrakt Denna rapport handlar om min klon av det existerande spelet Tepz. Tepz är ett sorts tetrispussel som spelas genom att dra ut tetris-block på en spelplan och bilda hela rader. Min version är skapad med html, css och javascript. Problem jag stött på under projektets gång inkluderar mycket spellogik, till exempel hur man ska kunna få reda på vart på spelplanen användaren släpper blocket, och även hur man ska lägga upp sin tidsplanering. 2
Innehållsförteckning Abstrakt....2 Inledning/bakgrund. 4 Positiva erfarenheter.4 Negativa erfarenheter...5 Sammanfattning..6 3
Inledning/bakgrund Jag valde att göra en tepz-klon i detta projektet eftersom jag är sedan ungefär ett år tillbaka väldigt beroende av originalspelet, och även väldigt irriterad på att det är skapat i flash och därmed inte tillgängligt via iphonens webbläsare. Min tanke var att jag skulle göra en egen version i javascript, som jag senare skulle kunna göra tillgänglig via smartphones, eller kanske till och med göra en app utav. Jag bestämde mig för att jag skulle använda mig av jquery och jquery UI för att göra programmeringen så smidig som möjligt, men också så jag skulle lära mig hur det fungerar eftersom jag aldrig använt mig av jquery förut. Positiva erfarenheter Någonting som varit väldigt lärorikt i den här kursen är hur man jobbar i projektform. Det blev en del förvirring i början, men jag har tyckt att allt gått bättre och bättre för varje iteration som gått. Jag har lärt mig väldigt mycket om hur man lägger upp sin tidsplanering, och börjar förstå nyttan med att arbeta på det sättet. Just sprint backlog och burndown chart är något jag kan ha nytta av att arbeta med i kommande projekt, eftersom det tvingar en att verkligen tänka efter vad det är man ska göra, i vilken ordning man ska göra uppgifterna, och vilken storlek en uppgift ska ha. Arbetet blir mycket mer strukturerat med dokumentation, vilket jag insett är något man vill sträva efter! Jag har lärt mig väldigt mycket om programmering i projektet, främst hur man använder sig av jquery, vilket jag nästan vet att jag kommer ha nytta av i mitt framtida kodande. Men utöver jquery har jag även lärt mig mycket annat. Jag hade länge problem med hur jag skulle lösa de grundläggande funktionerna i spelet, som att kunna släppa blocket på spelplanen och därmed också kunna veta vilka rutor den släpptes på. Jag fick lite hjälp på min handledningstid och ett tips om att använda mig av tvådimensionella arrayer som koordinatsystem. När jag fick tipset kände jag direkt att det kunde vara det mest ultimata sättet att jobba på, men det tog en stund innan jag kunde greppa mina egna tankar om ändå hur jag skulle lösa det. Efter en tids tänkande och researchande om jquery UI släppte det till slut, och efter det gick arbetet väldigt snabbt. Så något som var väldigt positivt för mig under projektets gång var att ha dessa handledningstillfällen till hjälp! Det mest positiva med det här projektet har ändå varit att man fått bestämma helt själv vad man skulle jobba med, vilket har bidragit till att jag har tyckt att det blivit mycket roligare, och lättare att lära sig nya saker, eftersom man själv bestämt vad det är man vill lära sig! Dessutom har det gett mig mer självförtroende i min programmering, jag kunde ju faktiskt klara av det här till slut, vilket jag verkligen inte trodde i början. 4
Negativa erfarenheter Över det hela har det inte varit så mycket som jag anser negativt i projektet, men en sak jag kan tänka på mycket i framtiden är att försöka hålla min tidsplanering något bättre och inte försöka ta på sig för stora uppgifter. När projektet började hade jag ingen aning om hur jag skulle programmera det här spelet alls, så jag improviserade ganska mycket medan jag arbetade. Det skulle ha varit till en hjälp om jag hade suttit mig ned i början och ritat upp någon sorts klass struktur på papper över hur jag ville strukturera min kod, men jag lyckades i alla fall någorlunda med detta i min improvisation ändå. Det kunde ha varit bra om jag hade vetat direkt i projektet hur jag skulle ha kodat från början, vilket hade sparat mig väldigt mycket tid, men det är sånt man inte kan ändra på. Jag hade jobbat några veckor med min kod och insåg sedan att det inge fungerade, och sen när jag fått hjälp om hur jag skulle göra för att klara av det var jag tvungen att nästan kasta all min kod och börja om från början. 5
Sammanfattning Sammanfattningsvis så tycker jag att det här projektet gått bra, och min applikation har alla förutsättningar till att arbeta mer med. Under sommaren har jag tänkt att jag ska utöka den till att vara tillgänglig i smartphones med touch-events, och även möjligen skapa en mobilapp med en native wrapper. Jag har lärt mig mycket om spelets logik och hur man kan göra för att implementera den, och även lärt mig att använda jquery. Det mest positiva i projektet har varit att man lärt sig så fruktansvärt mycket, och jag har lärt mig att jag kan mycket mer än jag trodde från början. Det negativa har varit att det varit svårt att hålla min tidsplanering, men det har gått bättre och bättre för varje iteration. I framtiden kan jag tänka mig att arbeta med liknande projekt, eftersom det är riktigt roligt och framför allt spännande med något man inte egentligen vet hur man ska göra i början. Att skapa en klon av Tepz-spelet tyckte jag i början var en cool idé att göra, om jag skulle klara av det, och det gjorde jag också. 6