Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

Relevanta dokument
Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Skissa och gissa. Individuellt Mjukvaruutvecklingsprojekt, 1DV430. Christian Nilsson, cn222gc, WP

SLUTRAPPORT. Sebastianlund.com. Individuellt mjukvaruutveckingsprojekt, 1DV430. Författare: Sebastian Lund WP11 Datum:

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Tepz klon. - Projektrapport. Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt Janina Bergström, WP12 Distans

Slutrapport Thunderbug

Slutrapport för JMDB.COM. Johan Wibjer

Slutrapport YUNSIT.se Portfolio/blogg

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

ToDo ios-applikation. Mikael Östman. Mikael Östman - mo22ez Linnéuniversitetet

Priskamp. En prisjämförelsesite Björn Larsson

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

hannalabom.se Alexandra Jonasson Aj222im

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Slutrapport för Pacman

Slutrapport Get it going contracts

Ett spel skapat av Albin Wahlstrand

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Slutrapport för SquareShooter

HejKalmar app. Projektrapport. Webbprojekt I

SLUTRAPPORT WEBBPROJEKT 1

Gillakampen. av Merkur Hoxha WP

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

LNU INDIVIDUELLT MJUKVARUUTVECKLINGSPROJEKT. Honey Hunter. Androidspel. Martin Karlsson 1/17/2014

Erik Holmström Projektrapport- KalmarKendo Erik Holmström UD12 Individuellt mjukvaruutvecklingsprojekt

Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47%

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Projektarbete myshop. Sandra Öigaard so222es WP12 Individuellt mjukvaruutvecklingsprojekt

Individuellt Mjukvaruutvecklingsprojekt

Mjukvaruprojekt Onlinebooks

SEGLAISOLEN.SE En Wordpres Webbsajt

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Slutrapport. APFy.me

Slutrapport för Internetfonden

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Labbrapport - LEGO NXT Robot

Laboration i datateknik

Resultat av kursvärdering för kursansvarig och lärare

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers

JavaScript del 3 If, Operatorer och Confirm

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

Slutrapport VoteIT Mix

TUTORIAL: SAMLING & KONSOLL

sida 1 Grupp 6 co-browsing 1DV411 - Webbprojekt I Markus Axelsson Stavros Gemitzoglou Axel Hernborg Joakim Jonsson Rickard Karlsson Peter Magnusson

Laboration 2. Webbproduktion En stiligare webbsida HT2015

Filhanterare med AngularJS

En stiligare portal Laboration 3

5 I vilken utsträckning har kurslitteraturen varit till hjälp för ditt lärande?

En Single-Page Application för små barn, barnens föräldrar samt en och annan mormor

GYMKEEPER ANDREAS SÖDERSTRÖM

Thomas Padron-Mccarthy Mobila applikationer med Android, 7.5 hp (Distans) (DT107G ) Antal svarande = 11. Svarsfrekvens i procent = 14.

SKOLFS. beslutade den XXX 2017.

Haris Kljajic Individuellt mjukvaruprojekt. Projekt Rapport. Insatsplutonen. Haris Kljajic UD11

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

Introduktion till programmering med hjälp av Lego Mindstorm

Vi är alla i gruppen väldigt intresserade av spel och vill lära oss mer om hur man skapar ett helt spel från idé till slutprodukt.

Eventuella kommentarer: Under kursens gång har 4 studenter hoppat av utbildningen.

Intra EV. Webbprojekt I, 1DV411. Alex Driaguine. Kristoffer Karlsson. Martin Carlsson. Joakim Holmewi. Mattias Johansson. Uppdragsgivare: Grupp 4:

Individuellt Mjukvaruutvecklingsprojekt

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande

TDDD78 Att välja och genomföra ett projekt

Evaluation Summary - CDT104 Grundläggande Webbdesign HT07 Dan Levin

1DV434 VT14. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

Erik Lundgren GarageLoppisen.se. Projekt i kursen Individuellt Mjukvaruutvecklingsprojekt, 1dv430

Slutrapport. Interaktiv Mjukvaruutvecklingsprojekt. HIF-Spelet. Ett XNA-spel. Christian Ulf

En unik plattform för förskola och fritids, utvecklad i Sverige

tjejit en studie av kvinnors låga deltagande vid Karlstads Universitets IT-utbildningar

Logistiksystem Päron AB Bakgrund Problembakgrund Krav på lösning Lösningen

Generering av L-system fraktaler med Processing.js

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Idrottsapen. 1. Inledning. 2. Mål och syfte. 3. Projektbeskrivning

TMP Consulting - tjänster för företag

Teknikblock på TIS Stockholm

Röna fingrar e gött o ha:) SLUTRAPPORT BUDGETSYSTEM LNU

Kursplan Webbutveckling 2, 100p Läsår

Mobila tjänster för lojalitets system. Mobila tjänster för lojalitetssystem Mobile services for loyalty network

Att välja och planera ett projekt

Kursvärdering 1DV433 Strukturerad programmering med C++ LP Lärare: Tommy Löfqvist 17 svar

KAi SENSEMAKING SYSTEM

TDDD78 Att välja och planera ett projekt

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Studieteknik. Använd hjälpmedel För att kunna lära dig på ett effektivt och roligare sätt måste du använda alla hjälpmedel som finns tillgängliga:

Slutrapport projektet YouTube, Twitter och Google för seniorer

Rapport utvecklingsdag 4.

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

1 Kravspecifikation Snake App

REGLAB Hur bedömer du lärprojektet Kommunikation som helhet? 2. Kommentar. 3. Vad har du uppskattat mest? Antal svarande: 10

Kursutvärdering av Tekniker för webbdesign samt Tekniker för webbdesign, distans, 7,5hp (31KTW1, 31ETW1, 31FTW1), höstterminen 2016

Evaluation Summary - CD5570 DoA, distans VT 2004 Dan Levin

Beskrivning av Gesällprov. Fia Med Knuff. Mikael Rydmark.

Space Invaders - Slutrapport

Imperativ programmering. Föreläsning 4

Individuellt anpassat stöd/utbildning/praktik Individuellt strukturerande samtal/stöd med elever i eller utanför skolan

Seminarieuppgift 2 appar Utvärderings modell

Digitalt lärande och programmering i klassrummet

Träff för nya medlemmar. Praktisk handledning

Dagbok Mikael Lyck

Skrivglädje i vardagen!

Transkript:

Minesweeper Individuellt Mjukvaruprojekt Joakim Jonsson 08 06 2013

Abstrakt Nedan följer en slutrapport för projektet inom kursen Individuellt Mjukvaru utvecklingsprojekt. Jag har under dessa 10 veckor arbetat med att förhöja mina kunskaper inom programmering rent generellt och inom Javascript mer specifikt. Jag har inte använt något plugin, eller ramverk för Javascript för min applikation utan allt är renodlad Javascript kod. Slutprodukten av detta projekt har varit en Minesweeper applikation för webbläsare. Medan jag arbetat med denna uppgift så har jag lärt mig tänka på ett lite annorlunda sätt när det kommer till hur man bör lägga upp applikationer samt fått lite andra tankegångar kring logiken i funktioner.

Innehåll 4. Inledning 5. Positiva erfarenheter 6. Negativa erfarenheter 7. Sammanfattning

Inledning Jag började fundera någon veckor innan projektkursens start om vad jag ville göra, jag satt även och funderade kring hurvida det vore lätt eller svårt att skriva en Minesweeper applikation med Javascript. Så det ledde till slut att jag gav mig in på att skapa just den applikationen. Eftersom jag själv tycker om att spela spel var det ett ganska självklart val att ta en titt på hur utveckling av ett spel, om än något simplare. Jag visste redan från början att det var ett helt annat problemområde så behövdes ta om hand då koden måste generera en annan typ av resultat. Detta skiljer sig naturligtvis från spel till spel, men detta projekt gav mig en chans att skriva kod på ett logiskt annorlunda sätt till skillnad från det vi tidigare fått lära oss under kursen. Anledningen till att jag valde just Javascript var främst för att jag fastnade för det i kursen Webbteknik 1. Jag tyckte att det var ett väldigt intressant sätt att kombinera funktionell programmering tillsammans med webben, speciellt då det endast krävs att användaren har en dator en webbläsare tillgänglig. Detta ger en viss höjd av tillgänglighet och smidigthet som jag tyckte var värd att satsa på, för att användaren snabbt och enkelt ska kunna komma åt spelet. Javascript öppnade ännu en dörr för framtida experiment för att genom ramverket Phonegap anpassa applikationen som en native smartphone app. Så genom att arbeta med javascript så kunde jag nå väldigt många plattformar väldigt enkelt då Phonegap kan kompilera till ios, Android, Blackberry m.fl. Positiva erfarenheter Jag tyckte hela projektet var väldigt behagligt (med undantag för dokumentation) på det sätt att jag på egen hand fick ta fram det krav jag ville ställa på applikationen, jag fick skriva den på mitt

eget vis och arbeta utifrån den plan jag själv lagt fram. Detta ställde ju dock krav på mig också, att jag arbetade den tid som krävdes och planerade mitt projekt på ett bra och lönsamt sätt. Det har varit roligt att tackla lite nya typer av problem, även om det kändes lite hopplöst ibland så var det roligt att ta sig genom problem som framstod. Till exempel så fastnade jag på en av det viktigaste funktionerna för spelmotorn och detta var ju inte så roligt, men jag blev rekommenderad att titta på en teknik som kallas rekursiv flood fill. Detta är en teknik som används t.ex. i paint när man vill fylla ett område med färg. Jag kunde med samma princip lösa mitt problem vilket öppnade mina ögon för hur man genom till synes helt annorlunda applikationer kan dra inspiration och idéer. Eftersom mitt fokus låg på Javascript så har jag så klart blivit bättre på att programmera i det språket, dock inte genom att jag lärt mig nya tekniker utan att jag repeterat de grunder vi lärt oss och sedan applicerat dem på mitt eget sätt, med mina egna tanker och idéer om hur jag vill bygga min applikation. Detta har medgivit att jag kan analysera och plocka isär applikationer på ett annat sätt för att kunna lösa de eventuella problem jag ställts inför. Sist men inte minst så har textredigeraren jag valt att arbeta med varit ett enormt bra verktyg att arbeta med. Sublime text 2 har jag skrivit min html, css och javascript. Det jag tycker har varit väldigt bra är att programmet tillåter flera markeringar så det går väldigt snabbt att ändra på flera ställen i koden. Programmet lär sig koden jag har skrivit och jag får sedan upp den som intellisense. Det finns även en översiktsvy som gör det enkelt att hitta i koden. Negativa erfarenheter Det har inte varit allt för mycket negativa erfarenheter under mitt projekt men det finns några saker som kommer komma upp här. Bland annat så har jag inte varit en stjärna på att planera och dokumentera vilket har medfört brister i min applikation, något jag helst hade korrigerat.

Jag borde ha planerat upplägget av min kod på ett bättre sätt, dvs planera den över huvud taget. Det finns en del saker kodmässigt som skulle kunna förbättras så applikationen får en högre grad funktionalitet samt att koden, framför allt hade varit bättre strukturerad. Det finns en del funktionalitet som har uteblivit som jag gärna hade sett implementerad. Saker jag kommit på i efterhand och saker jag helt enkelt inte kunde göra. På grund av detta har min applikation i mitt tyckte inte nått riktigt så långt som den borde ha gjort. Saker som poängsystem och en något förbättrad spelmotor hade varit ett bra tillägg. Eftersom jag vet med mig att det är viktigt att planera, dokumentera och arbeta effektivt så hoppas jag att senare projekt kommer att nå en högre nivå, inte funktions eller storleksmässigt utan snarare kvalitétsmässigt. Även små projekt kan vara riktigt bra men mitt kräver en del finslipning för att nå dit. Sammanfattning Nu när projektet är slut så tycker jag att, även om min applikation inte riktigt nådde hela vägen att jag har gjort ett ganska bra jobb. Målet var att få en fungerade minesweeper applikation med ett trevligt gränssnitt och det tycker jag att jag uppnått. Det har varit lite som en berg och dal bana med min arbetstakt, vissa veckor har jag jobbat väldigt bra och vissa andra veckor mindre bra men trots det har jag lyckats slutföra projektet till en nivå jag själv är nöjd med.

Mot slutet när applikationen började bli spelbar och det gick att testa på riktigt så fann jag en del saker jag kunde ha gjort för att förbättra spelupplevelsen dramatiskt. Den saken jag tänker mest på är att första klicket aldrig kommer vara varken en bomb eller en siffra, detta hade medfört att det hade varit möjligt att vinna spelet betydligt oftare då man måste chansa färre gånger. Jag kom på detta i ett rätt sent skede och det jag valde att inte försöka implementera det pga att jag ville slutföra allt jag påbörjat och sedan se ifall det fanns någon tid över för extra funktionalitet. På grund av motgångar i funktionsimplementering så uteblev även poängsystemet som hade varit ett intressant tillägg. Det har trots allt varit en ganska trivsam process att arbeta med mitt projekt under dessa 10 veckor och jag har i princip bara haft positiva erfarenheter. Även om saker inte riktigt gått som jag velat eller planerat alla gånger så har det varit intressant att arbeta på ett väldigt fritt sätt. Detta kommer även leda till förbättringar i framtida projekt, både egna och grupparbeten. Jag skulle säga att det jag lärt mig mest är vikten av god planering samt hur viktigt det är att spendera den utlagda tiden effektivt. Jag tycker om att snabbt ta mig vidare genom uppgifter och därför kan det vara bra att ha en lista med delmoment som ska vara avklarade varje vecka för att faktiskt kunna se sin framgång på ett mer konkret sätt än bara blicka över koden.