JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08



Relevanta dokument
Kravspecifikation. Sammanfattning. Fyra i rad Javaprojekt inom TDDC32. Version 2.0. Datum Dokumentnummer

HexaFlip. Kravspecifikation

Objektorientering: Lagring och livstid

1 Kravspecifikation Snake App

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Fyra i rad Javaprojekt inom TDDC32

TDDD78 Objektorientering: Lagring och livstid

Projektdokumentation för Othello

OneDrive/SharePoint. Innehåll

Webservice & ERP-Integration Rapport

Kravspecifikation. 1. Introduktion. 2. Övergripande beskrivning. 1.1 Syfte. 1.2 Omfattning. 1.3 Definitioner och förkortningar. 1.

Objektorientering: Lagring, räckvidd och livstid

Detaljbeskrivning av Player

Programmering. Scratch - grundövningar

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Projektrapport EDA095

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson

Innehåll. MySQL Grundkurs

Kapitel 4 Arkivmenyn Innehåll

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

30 år av erfarenhet och branschexperts

För dig som lärare har vi placerat nya inkomna svar från elever under Följ upp uppgifter medan elev på samma ställer ser alla sina aktiva Uppgifter.

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

TDDD78 projekt: Tower Defence

Objektorienterad programmering i Java I

1 Installationsinstruktioner

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Lab5 för prgmedcl04 Grafik

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

Zimplit CMS Manual. Introduktion. Generell Information

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Dash & Dot. Förskola F-klass - 6

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

Objektorienterad programmering

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Beskrivning av gesällprov RMI Chat Mikael Rydmark

Kravspecifikation TDP005 Projekt: Objektorienterat system

Universe Engine Rapport

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet.

Tentamen ID1004 Objektorienterad programmering October 29, 2013

1 Installationsinstruktioner

Programmering B med Visual C

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande!

Att använda talsyntesen ClaroRead Pro

Användarhandledning Version 1.2

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Kravspecifikation. Hantering av systemdokument

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Magnus Palm. Lättläst IT

Föreläsning 10. Besiktningsprotokollet

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8

Kopiering av objekt i Java

Administrationsmanual ImageBank 2

Objektorienterad programmering Föreläsning 2

Flaxande Fågel. Introduktion. Level

Kravspecifikation. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status

Trimble Communication Network Release notes Page 1

Tentamen etjänster och webbprogrammering

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Lathund för Benzing PideXX till SBF Benzing PideXX är vår huvudprogramvara för att skapa duvor och ladda in i vår klocka(benzing)

Besiktningsprotokollet

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat:

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Grafiska användargränssnitt i Java

Att få inskannad text uppläst med talsyntes

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

Användarhandledning Plancenter Admin version 2011

Introduktion till programmering och Python Grundkurs i programmering med Python

Felhantering TDDD78, TDDE30, 729A

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Får jag be om ordet!

Modeller och teknik Grundl program och gränssnitt. Matlab-tips

Meteor 1.0. När man startat Meteor möts man av huvudmenyn:

LEDNINGSÄGARMODUL. Systemkrav 1(6)

Redigering av dokument - SaveToServer

Handbok KsirK. Gael Kleag de Chalendar Nemanja Hirsl Översättare: Stefan Asserhäll

Programbeskrivning. Chaos på Web. Version

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Innehållsförteckning. Användarmanual för Lockbee Backup Databas 2009

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

App-klient för smartphones Power BI Arbetsflöde CRM Online Webb-klienten Dokumenthantering Molnet...

ONEDRIVE ÖVERBLICK Vad är OneDrive?... 2 Molnet?... 2 Två typer av OneDrive... 2 Hitta sin OneDrive för företag... 3

TENTAMEN I DATAVETENSKAP

TDP005 Projekt: Objektorienterat system

Rev Oct Användarguide Smartsign 9

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 9 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 2. Operativsystem och programmering

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Manual för Typo3 version 4.2

Transkript:

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.