JavaRats Kravspecifikation Version 1.1 Gustav Skoglund gussk258@student.liu.se Marcus Widblom marwi026@student.liu.se Senast ändrad: 13 / 05 / 08
Sammanfattning Kravspecifikationen för JavaRats har skrivit för att man ska få en överblick på vad som behöver produceras och få en uppfattning om hur den slutgiltiga versionen kommer se ut. JavaRats är en ny version av ett det klassiska Windowsspelet Rats!. Spelet går ut på att man med hjälp av olika vapen och fällor ska förinta råttor som lever i en labyrint. Eftersom råttorna förökar sig hela tiden är det ett spel under tidspress. En highscore funktion kommer göra det möjligt att tävla mot sina vänner. Dokumentet innehåller specifikationer på både önskade funktioner och nödvändiga funktioner, systembeskrivning och beskrivning av användargränssnittet.
JavaRats: Kravspecifikation Sida iii Innehållsförteckning 1. Introduktion... 1 1.1 Dokumentets konvention... 1 2. Systembeskrivning... 1 3. Spelfunktioner... 2 3.1 Nödvändiga funktioner... 2 3.1.1 Artificiell intelligens... 2 3.1.2 Grafik... 2 3.1.3 Inmatning... 2 3.1.4 Nivåer/Banor... 2 3.1.5 Enkel highscore funktion... 2 3.2 Önskade funktioner... 2 3.2.1 Nätverksspel... 2 3.2.2 Publik highscore funktion... 3 3.2.3 Fuskkoder... 3 4. Användargränssnitt... 3 5. Icke funktionella krav... 4 5.1 Systemkrav... 4 6. Lagring av permanentdata... 4 7. Begränsningar... 4
JavaRats: Kravspecifikation Sida 1 1. Introduktion Projektet JavaRats är ett spel byggt i Java. I spelet styr man markören för att förhindra råttor på en spelplan att föröka sig. Till sin hjälp har man olika fällor. Man avancerar sig framåt igenom olika nivåer genom att uppnå en viss poäng och man får fortsätta spela så länge råttorna är färre än N i antal (N skiljer sig mellan de olika nivåerna). Spelarens resultat sparas i en highscore lista för att man på så sätt ska kunna tävla mot sig själv och andra spelare. 1.1 Dokumentets konvention Dokument i följande projekt använder konventionen nedan. Beskrivning Filnamn Katalognamn Global variabel Klass och metodnamn Engelsk term Citerad text Kodexempel Utseende file.extension directory VARIABLE MyClass word "quote" if (statement) domethod(); 2. Systembeskrivning JavaRats är ett spel baserat på orginalspelet Rats!, se http://www.spto.demon.co.uk/. Spelet går ut på att förhindra råttor från att föröka sig. Detta uppnås genom att man strategiskt placerar ut olika fällor på spelplanen som råttorna går in i och följdaktligen utplånas eller på annat sätt påverkas av. JavaRats är tänkt att tillföra nya idér till grundkonceptet Rats!. Nya fällor, en highscore lista online så man kan jämföra sig med andra och andra banor är några av de nya funktionerna vi tänkt oss. Spelet ska dock vara helt nyskapat i Java så att det går att spela på olika plattformar.
JavaRats: Kravspecifikation Sida 2 3. Spelfunktioner 3.1 Nödvändiga funktioner 3.1.1 Artificiell intelligens Mjukvaran ska kunna placera ut nya råttor på spelplanen samt välja kön på dessa. Varje råtta ska kunna röra sig fritt samt registrera när den möter en annan råtta. Om de är av skilda kön ska en/flera nya råttor skapas på plats, i annat fall ska ska de bara passera varandra. Råttorna behöver även registrera om det blir utsatta för en fälla och hur de så fall reagera (med vilken händelse). En fälla behöver registrera när de har kontakt med en råtta på spelplanen för att då utföra rätt händelse. 3.1.2 Grafik Ett GUI behöver ritas ut med en spelplan samt en actionbar. Spelplanen behöver kunna flytta runt sprites (råttor och fällor), rita upp en ny bana och kunna presentera enklare text. Actionbaren behöver uppdatera ett poängfält, ett aktuell nivå fält och rita ut tillgängliga fällor. Den ska även innehålla en stapel som visar hur många hon resp. han råttor som finns utplacerade på spelplanen. 3.1.3 Inmatning Spelets inmatning sker endast med hjälp av musen. Spelet behöver kunna registrera vart musen befinner sig samt om man fångar upp ett objekt (fälla) eller sätter ner ett objekt. Tangentbordsinmatning används endast vid inskrivning av namn i highscorelistan samt vi eventuell inmatning av fuskkod. 3.1.4 Nivåer/Banor Spelets olika banor är förritade och lagrade i en fil lokalt på datorn. Filen läses sedan in i spelet och en grafisk bana ritas ut. Förflyttningsbegränsningar i banan läses in för att hindra råttor/fällor att röra sig utanför giltigt område på banan. 3.1.5 Enkel highscore funktion Efter avslutat spel, dvs. när spelaren har fått fler råttor på spelplanen än tillåtet, eller när spelaren väljer att avsluta spelet ska han/hon skriva in sitt namn för att lagra resultatet i highscorelistan. Highscorelistan skrivs till en lokal fil på datorn, highscore.dat. Filen läses även in om man vill se nuvarande highscorelista. 3.2 Önskade funktioner 3.2.1 Nätverksspel Två spelare ska kunna sammarbeta i spelet genom en nätverkskoppling. Spelet är tänkt att då bli svårare för att sammarbetet ska bli gynnsamt.
JavaRats: Kravspecifikation Sida 3 3.2.2 Publik highscore funktion En utökat highscore funktion som istället för att spara ens uppnådda poäng lokalt ansluter till en publik server och laddar upp en resultat. Även när highscoren läses in tas datan från den publika servern. 3.2.3 Fuskkoder Möjlighet för spelaren att skriva in en kod för att fuska sig till fällor, poäng och odödlighet. 4. Användargränssnitt Användaren integrerar med spelet genom ett GUI. GUI:t är tänkt att vara tvådelat med den vänstra sidan innehållandes spelplanen och den högra en actionbar. Se bild nedan (Figur 1). Användaren använder markören för att välja fälla från actionbaren och för sedan markören över till vänstersidan och väljer vart han/hon vill sätta ut fällan. Det finns även enkla funktioner till höger som berättar vilken nivå spelaren är på, total poäng och en mätare för att hålla koll på hur många hon resp. han råttor som finns på spelplanen. När mätaren når toppen är spelet slut. Användaren kommer att höra ljud kopplat till de olika händelserna i spelet. Figur 1. Bild modifierad från det redan existerande spelet Rats! Och är bara en guideline för hur JavaRats GUI är tänkt att se ut.
JavaRats: Kravspecifikation Sida 4 5. Icke funktionella krav 5.1 Systemkrav En dator med javastöd krävs för att exekvera spelet. För att dra nytta av online highscore och nätverksspel krävs tillgång till internet. 6. Lagring av permanentdata Spelets hightscore lista är tänkt att lagras I en enkel textfil, highscore.dat, där varje rad representerar en post. Varje rad (post) är sedan tänkt att innehålla namn, avklarad nivå och poäng separerade av tecknet. highscore.dat Jimmy 3 3094 Clair 6 4232 I Önskade funktioner finns en funktion om en publik highscore lista lagrad på en extern SQL server. Då krävs det att programmet anropar SQL databasen med lämpliga rättigheter och ett korrekt formulerat INSERT och SELECT statement. 7. Begränsningar JavaRats kommer att använda sig av redan existerande sprites (grafiska objekt) och ljud för att minska utvecklingstiden. Första versionen av JavaRats kommer bara innehålla två olika banor.