Rapport i (IT1901) Informatikk prosjektarbeid høst 2005. oppgave 2 4.3.3 det offensive manager spillet. gruppemedlemmer:



Like dokumenter
Rapport i (IT1901) Informatikk prosjektarbeid høst oppgave det offensive manager spillet. gruppemedlemmer:

FOLLO FK En status ved sommerpausen Statistikk

FOLLO FK En status ved sommerpausen Statistikk

STATISTIKK A-LAGET Seriekamper

Heddal IL Norgescup 4/ Søndag 4. Jan. 2004

HARSTAD IBK NOR NOVEMBER KL HARSTADHALLEN

Straffespark Introduksjon Scratch Lærerveiledning

Din interaktive fotballguide

Brann i matteboken. Elevhefte Statistikk

HØGSKOLEN I SØR-TRØNDELAG

Utskrift Fra Fiskermanntallet pr

Din interaktive fotballguide

ROLLON VS HAREID ROLLONBANEN FREDAG KL DAGENS KAMPSPONSOR:

Testrapport. Studentevalueringssystem

Grovfjord reiste seg. 4.divisjon avd. Hålogaland. Grovfjord - Landsås 1-1 (1-1) Sletta gress - ennå ujevn. Dommer: Reidar Grønbeck, Kvæfjord IL

HARSTAD IBK SVEIVA 5. MARS KL HARSTADHALLEN

Grovfjord IL. Iflg. dommerrapporten ble også Fredrik Siem gitt to gule, men ikke rødt kort på banen av dommeren.

Tippeligaguiden. Ullevaal stadion

Eksamen i Internetteknologi Fagkode: IVA1379

Resultatliste klasse. Figurjakt Råde JFF 17. mars Råde JFF. Klasse

Årsberetningen godkjennes.

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

RESULTATLISTE FOR PINSESMELLEN Fin

Årsberetning Porsgrunn Sjakklubb. Organisasjonsnummer

Komme i gang med Skoleportalen

Sandefjord Pistolklubb

Vårfelt Terningmoen Terningmoen Hamar IL, pistolgruppa

Farris Sportsskyttere - Larvik Postboks Stavern Telefon: Epost: Hjemmeside:

Velkommen som ny bruker av Uni Økonomi!

HVORDAN FINNE FRAM OG BRUKE HANDBALL.NO

Sørlia IL Desember 2015

Kvalifisering Mesterskap Nord

Brukerveiledning: Elektronisk kamprapport - Lagledere (hjemmelag/bortelag)

UK : Halgeir Ludvigsen Tore Rokkones Arne Edgar Larsen

Premieliste Mesterskap Klasse 1 1 Dag Kristiansen Sem * 2 Silje Merete Steinstø Sem * 3 Kjetil Styrvold Styrvoll

Flint Tønsberg Håndball AL

Pengepremier 15 skudd kl. 1. Pengepremier 15 skudd kl. 2. Pengepremier 15 skudd kl. 3. Pengepremier 15 skudd kl. 4. K ongsberg skytterlag

Bruk av oppgaver og grupper i

Resultatliste klasse. Svinndal jff/ ØHK Svinndal JFF. Klasse. -nr.

: Larvik SS / Hedrum SS

NAVN NUMMER ANSVARLIG NUMMER. Mats M. Bakkom Guro Haug Buvik NAVN NUMMER ANSVARLIG NUMMER

Veileder i bruk av GoodReader

Resultatliste for Feltskyting

A-stallen A-laget 2008

Installasjon av Windows 7 og Office 2016

Arrangere lagturnering i Ruter

Fin A. Fin B. Fin C. Fin D. Arrangør: Lena Sportsskyttere Stevne: Spesialfelt Dato: Stevne nr:

Bridge med travspill, Thon Hotell, Skien Sluttresultat

Dramatikk på Sletta. Fotball 4. divisjon. Grovfjord - Landsås 3-3 (1-1) Sletta gress. Dommer: Stein Roar Nilssen, IL Santor. Tilsk.: 34 bet.

Resultatliste klasse. LISENS: Jæren JFL. Antall premier: Klasse

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING

HARSTAD IBK SARPSBORG 03. OKTOBER KL HARSTADHALLEN

_260915_Krødsherad Resultater klassedelt

Brukermanual for EIK IFs webside

Resultat ritt Eidkjosen/Hella 36km

08.mar. 08.mar. 22.mar

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Overbevisende av hjemmelaget

Brukerveiledning for enorm

BRUKERVEILEDNING PROSTEMODUL FOR PRESTEN

Felt 2014 (Prøve-NM)

VESTFOSSEN - SLEMMESTAD

LAG I 2.DIVISJON AVD. B RANA BTK FOKUS BTK 2 HAMARKAMERATENE NTNUI OPPEGÅRD IL-BTG SARPSBORG BTK TRONDHEIM BTK

Sandefjord Pistolklubb

Elektronisk kamprapportskjemaer

Vestfold Skyttersamlag Ombudsmøte nr. 128/2013

Resultat ritt Skjelnan/Snarbyeidet 59km

Årsberetning Fotballavdelingen årsmøte 2015 ÅRSBERETING 2014 FOTBALLAVDELING HEGRA IL

NORGES CUP 2005 HOPP HERRER ELITE HS 128 OFFISIELLE RESULTATER

Fiskermanntallet Flakstad kommune 2016

Sandefjord Pistolklubb Boks Sandefjord Telefon: Epost: Hjemmeside:

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Øvelse Navn Klubb Klasse Poeng Innertreff FIN Even Kristiansen Modum PK A FIN Jon Anders Skarseth NEPK A FIN Frank Kristensen Nome

HØGSKOLEN I SØR-TRØNDELAG

Web Computing AS Brukerveiledning WebWiz 3.0. WebWiz 3.0. Brukerveiledning

Enarmet banditt Nybegynner Scratch Lærerveiledning

4.divisjon HESA 2012

Installasjonsveiledning. DDS-CAD ByggMester

Mamut. Installasjonsveiledning. Oppdatering til versjon Detaljert steg-for-steg veiledning i hvordan oppdatere ditt datax-program fra Mamut

Nr: Navn: Klubb: Resultat Hcp Total Poeng. 1. Per E Solbakken Norpapp Steinar Karlsen Nordea Terje Barkald Jil Grrud 1289

BEDRIFTSBOWLINGEN I FREDRIKSTAD

Kragerøcupen 2012 Sluttresultat

GruNot '95. Notatsystem for gruppeterapi. Versjon

Installasjonsveiledning DDS-CAD 7.3

Lage en ny spillverden

BACKUP HD SERIES BRUKERMANUAL

VESTFOSSEN - HALLINGDAL

E-postguide For Windows Phone 8

Brukerveiledning Windows Movie Maker

ASKER SKYTTERLAG. B-cup. A-cup

God prestasjon av Grovfjord

Resultater Eldre rekrutt Rank Skytter Skytterlag Stevne/Resultat Totalt * 1. 3 Andreas Voith Nøtterø Skytterlag (73)

PCK Håndterminal. Brukerveiledning

Årsberetning Vassøy idrettslag 2014 side 2 av 6

(Ny uendra utgave med nye sidetall, )

Installasjonsveiledning. Mamut. Oppdatering til versjon 12.1

Publisering av statiske og dynamiske websider til klasserom.net fra Dreamweaver og MySQL

Resultater total Figurjakt Froland

VITEC. Veiledning nytt år. EmProf årsavslutning LAST EDITED:

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

Transkript:

Rapport i (IT1901) Informatikk prosjektarbeid høst 2005 oppgave 2 4.3.3 det offensive manager spillet gruppemedlemmer: Gulizar Atroshi Jon Andre Simonsen Nedzad Sisic William Wai Man Young 1

1. SAMMENDRAG... 3 2. OVERORDNET BESKRIVELSE... 4 3. ARKITEKTUR... 5 3.1 BESKRIVELSE AV KOMPONENTARKITEKTUR... 5 3.1.1 BRUKERGRENSESNITT... 5 3.1.2 DATABASE MYSQL... 6 3.2 BESKRIVELSE AV KOMPONENTER... 8 3.2.1 MODELLKOMPONENT... 8 3.2.2 FUNKSJONSKOMPONENT... 10 3.2.3 BRUKERGRENSESNITT... 12 4. INSTALLASJONSVEILEDNING... 22 5. BRUKERVEILEDNING... 23 5.1 HVORDAN STARTE SPILLET:... 23 5.2 NAVIGERING... 23 5.3 NYHETER... 23 5.4 TRANSFER... 23 5.5 DITT LAG... 24 5.6 TERMINLISTE... 24 5.7. STADION... 24 5.8 TABELL... 24 5.9 KAMP... 25 5.10 AVSLUTT... 25 6. VEDLEGG... 26 6.1 TIMELISTE/GJENNOMFØRING... 26 6.2 TESTING... 27 6.2.1 TESTCASE... 27 6.2.2 TEST RAPPORT:... 28 6.3 KODELISTING... 30 2

1. Sammendrag Vi satte oss ned og bestemte at manager oppgaven var den oppgaven vi brente for. Nedzad ble valgt til prosjektleder, og oppgavene ble raskt fordelt. Vi skulle veksle mellom å programmere og det å drive med databasen slik at alle fikk være med på alt. Dette fungerte veldig bra. I starten hadde vi bestemt oss for å ha et møte i uka og det var på fredag. Senere ble dette utvidet til tre møter i uka. Det ble passet på at alle kunne møte på de slik at det ikke krasjet med forelesninger og diverse andre ting. Vi valgte å benytte oss av mysql som skolen hadde tilgang til. Den brukte vi til å lage databasen. Vi opprettet en gruppe på IT s learning og satt det opp slik at vi kunne gi raske beskjeder til hverandre. Men innså etter en stund at IT s learning ikke var tilfredsstillende. Beskjeder ble gitt via MSN-messenger, telefon eller SMS og filene ble lagret på et sambaad.stud.ntnu.no/groupswww. I programmering brukte vi eclipse med cvs server slik at flere kunne jobbe med samme koden på en effektiv måte. Grafikken ble laget og behandlet med Adobe photoshop. Oppgaven i seg selv var tidskrevende, vi innså at vi trengte å ha oftere møter og oppdatere hverandre slik at ting blir gjort fortere. Flere endringer ble gjort underveis, og nye ideer strømmet på. Vi valgte å fokusere på å gjøre ferdig selve programmeringen siden den er mest tidskrevende. Opprette databasen gikk greit, men det tok en del tid å opprette alle spillere og legge til deres skills. For å få fortgang i dette hadde vi delt oppgaven i to. Nedzad og Jon jobbet med dette. Jon opprettett selve spilleren, mens Nedzad satte skills og verdi på dem. William drev med programmering og Gulizar diverse papirarbeid som skulle til innlevering. Vi vekslet som sagt på arbeidsoppgavene underveis. Noen av de største problemene som dukket opp underveis var selve kampmotoren og terminlisten. Dette ble etter hvert løst ved god hjelp av terminlisten fra Norges fotball forbund, og intens satsing på kampmotoren. Terminlisten skiftes for hver sesong slik at vi ikke møter de samme lagene år etter år. Et annet problem som dukket opp var hvordan multiplayer-funksjonen skal implementeres. Vi valgte å opprette slags save game mulighet. Man kan opprette et nytt spill på et nytt mysql database. Så kan man hente spillet fra siste gang fra databasen. Konklusjonen til selve oppgaven er at den var veldig lærerik og vi støtet på diverse problemer underveis som vi ikke hadde vært borti før. Dette førte til at vi alle lærte mye nytt som forhåpentligvis også blir nyttig i framtiden. Selve resultatet er vi veldig fornøyd med. Vi føler at vi har oppfylt alle kravene som både vi selv og dere hadde satt til oppgaven. 3

2. Overordnet beskrivelse 4-3-3- det offensive manager spillet tilbyr deg mange muligheter og gir deg en helt ny opplevelse av et manager spill. Den gir deg en oversiktlig meny og save game muligheter. Du kan spille i flere sesonger enn 3 og det er helt opp til deg og dine lederegenskaper om du får den nye jobben som Manager for selveste Norge. For det er nemlig det spillet handler om. Dine lederegenskaper. Spillet inneholder 630 spillere med noenlunde realistiske ferdigheter og verdier. Spillet fungerer i alle oppløsninger fra 800*600 og oppover. Man skal kunne bruke lene seg tilbake og spille og spille spillet med å bare klikke med musen. Dette inneholder vårt spill: - Lag uttak: Du skal kunne sette opp ditt lag og taktikk. Dine valg her vil ha en stor virkning på kampens utfall. - Stadion modifikasjon: Man kan velge mellom å utvide stadion, pusse opp garderober og bygge VIP-plasser. Alt dette har innvirkning på tilskuertallet som kommer for å se dine kamper, som igjen fører til at det blir mer penger i kassa. - Nyheter: Spiller hendelser inntreffer her. Spilleren kan bli skadet, eller bli utsatt for andre utenomsportslige ting. - Terminliste: Her kan du se hvem du møter i den neste kampen og sette opp lag og taktikk i forhold til dem. - Kampmotor: beregner lagenes taktikk og spillerferdigheter, setter de to lagene i kamp mot hverandre. Med litt flaks og dine lederegenskaper så vinner det beste laget. - Økonomi: I transfer vinduet kan du kjøpe og selge spillere så lenge pengene tillatter det. Og her kan du se hvor mye penger som er i kassen. Hold orden på økonomien eller få sparken. - Tabell: Hold orden på toppscorerne i de to divisjonene vi har med og din klubbplassering i den divisjonen du spiller i. 4

3. Arkitektur 3.1 Beskrivelse av komponentarkitektur 3.1.1 brukergrensesnitt Vi har laget spillet sånn at brukeren nesten bare bruker musen til å spille. Brukeren velger et lag fra enten elitedivisjonen eller 1. divisjonen. Ved å navigere rundt mellom vinduene kan brukeren; - Kjøpe og selge spillere ved å velge et lag og så markere spillerne som skal kjøpes eller selges. Spillerne blir solgt til det valgte laget. - Sette opp sitt eget lag ved å velge taktikk og hvor spillerne skal spille. - Se på terminlistene viser hvilke kamper som er spilt og resultatene fra dette, samt kampene fremover. - Utvide stadion for en liten sum og se hvor mange tilskuere som var på den forrige kampen. - Se på tabellen som viser hvor mye poeng lagene i divisjonen til brukeren har og toppscorere for hver av divisjonene. - Etter å ha satt opp eget lag spille kamp, der lagoppsettet påvirker utfallet på kampen. 5

3.1.2 Database MYSQL Vi har laget en MySQL database som er opprettet på https://www.itea.ntnu.no/mysql. Oppretter tabellene som programmet skal koble seg opp mot: CREATE TABLE Stadion ( StadionID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Stadionnavn varchar(30) NOT NULL, Kapasitet int NOT NULL, EksKapasitet int NOT NULL ); CREATE TABLE Manager ( ManagerID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Navn varchar(30) NOT NULL, Alder int, KlubbID int, Runde int NOT NULL, Sesong int DEFAULT 1 NOT NULL, Poeng int NOT NULL, Goal int NOT NULL ); CREATE TABLE Klubb ( KlubbID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Navn varchar(30) NOT NULL, StadionID int, Divisjon int, Poeng int, Budsjett int, Pop int DEFAULT 1000 NOT NULL, Taktikk int DEFAULT -1 NOT NULL ); CREATE TABLE Spiller ( SpillerID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Spillernavn varchar(30) NOT NULL, Alder int, KlubbID int NOT NULL, Lonn int, Verdi int, Goalkeeping int, Defending int, Playmaking int, Attacking int, Posisjon varchar(12), Kort int DEFAULT 0 NOT NULL, Mål int DEFAULT 0 NOT NULL ); CREATE TABLE Kamp ( KampID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Hjemmelag varchar(30) NOT NULL, Bortelag varchar(30) NOT NULL, Runde int(2), Sesong int, Hjemmemål int DEFAULT -1 NOT NULL, Bortemål int DEFAULT -1 NOT NULL ); CREATE TABLE Spillerhendelse ( SpillerhendelseID int PRIMARY KEY NOT NULL AUTO_INCREMENT, 6

HendelseID int NOT NULL, SpillerID int NOT NULL ); CREATE TABLE Hendelse ( HendelseID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Hendelse varchar(40), Kamper_Borte int, Type varchar(20), Prosent int(2) ); 7

8 3.2 Beskrivelse av komponenter 3.2.1 Modellkomponent ER-Diagram Klubb PK KlubbID Navn StadionID Divisjon poeng Budsjett Pop Taktikk Spiller PK SpillerID Spillernavn Alder KlubbID Lonn Verdi Goalkeeping Defending Playmaking Attacking Kort Mål Stadion PK StadionID Stadionnavn Kapasitet EksKapasitet Eier Kamp PK KampID Hjemmelag Bortelag Runde Sesong Hjemmemål Bortemål spiller Hendelser PK HendelsesID Hendelse Kamper_Borte Type Prosent Spillerhendelse PK SpillerhendelseID HendelsesID SpillerID Opplever Manager PK ManagerID Navn Alder KlubbID Runde Sesong Poeng Goal leder spiller har

Manager -managerid : Integer -navn : String -alder : Integer -klubbid : int -runde : int -sesong : int +hentgoal() : int +hentpoeng() : int +Manager(in managerid : signed int, in navn : string, in alder : int, in klubb : int, in runde : int, in sesong : int, in poeng : int, in goal : int) +hentgoal() : int +hentnavn() : String +hentrunde() : int +hentsesong() : int End6 End5 klubb stadion -stadionid : int -kapasitet : Integer -navn : String -ekskapasitet : int +finnstadionnavnmedid(in id : int) +stadion(in ID : int, in navn : string, in kapasitet : int, in ekskapasitet : int) +hentekskapasitet() : int +hentkapasitet() : int +hentstadionid() : int +tostring() : String +Utbygg(in k : int) : void End1 End2 End8 -klubbid : int -navn : string -stadionnavn : string -divisjon : int -poeng : int -budsjett : int -ellverklar : bool +minklubbid() : int +mintaktikk() : int +finnidmednavn(in navn : String) : int +finnklubbmedid(in id : int) +settellverklar(in valg : bool) : bool +lagklubbliste(in klubbid : int) : any(idl) +klubb(in klubbid : int, in navn : string, in stadionid : int, in divisjon : int, in poeng : int, in budsjett : int, in pop : int, in taktikk : int) +beregnstyrke() : void +beregnsumlonn() +finnbestespillertilklubben(in antall : int, in posisjon : string) +gjoreklartilkamp() : void +hentattack() : double +hentbudsjett() : int +hentdefence() : double +HentDivisjon() : Integer +hentklubbid() : int +hentpoeng() : Integer +hentstadion() : int +hentsumlonn() : int +henttaktikk() : int +hvemscorte(in antallgoal : int) : void +lagklubbliste() +minusbudsjett(in id : int) : int +plusbudsjett(in penger : int) : int +SettDivisjon(in x : int) : void +settoppellver() : void +Settpoeng(in x : int) : void +spillertilklubben() : void +tostring() : String End3 kamp End7

kamp -kampid : int -hjmmelagid : string -bortelag : string -hjmmemål : int -bortemål : int -runde : int -sesong : int +finndennerunden() : int +finnrunde(in serierunde : int) : any(idl) +settnyliste() : void +spillrunde(in runde : int) : void +beregnstyrke(in kampid : int, in hjemmelag : string, in bortelag : string, in runde : int, in sesong : int, in hjemmemål : int, in bortemål : int) : void +hentbortelag() : String +henthjemmelag() : String +hentkampid() : int +hentrunde() : int +hentresultat() : String +hentsesong() : int +hentstyrketilklubbene() : void +settresulatt(in x : int, in y : int) : void +spilldennekampen() : void +tostring() : string End9 End7 End10 Hendelse -ID : int -kamper : int -navn : String -type : String -hendelseliste : any(idl) +finnkamperbortemedid(in id : int) : Single +finnnavnmedid(in id : int) : String +finntypemedid(in id : int) : String +Hendelse(in ID : int, in navn : string, in kamper : int, in type : string) +Hendelse(in ID : int, in navn : string, in type : string) +hentid() : int +hentkamper() : String +hentnavn() : String +henttype() : string Spiller -navn : String -alder : Integer -posisjon : String -ferdigheter : Integer -spillerid : Integer -klubbid : Integer -verdi : Integer -lonn : Integer +finnnavnmedid(in id : int) : String +finnspillermedid(in id : int) +spiller(in ID : int, in navn : string, in alder : int) +spiller(in ID : int, in navn : string, in alder : int, in klubbid : int, in lonn : int, in verdi : int, in g : int, in d : int, in p : int, in a : int, in pos : string, in kort : int, in goal : int) +beregnferdighet(in tilfeldig : int) : int +hentalder() : Integer +hentferdigheter(in i : int) : Integer +hentgoal() : int +hentid() : int +hentklubb() +hentklubbid() : Integer +hentkort() : int +hentlonn() : Integer +hentnavn() : void +hentposisjon() : String +hentverdi() : Integer +randomalder() : void +randomferdigheter() : void +scortegoal() : void +SettFerdigheter(in g : int, in d : int, in p : int, in a : int) : void +SettKlubb() : void +settposisjon(in pos : String) : String +tostring() : String End4

3.2.2 Funksjonskomponent Modell: Spiller.java Klassen som inneholder informasjon om spiller som navn, alder, ferdigheter, antall scorede mål osv. Stadion.java Klassen som inneholder informasjon om stadion som kapasitet, ekspansjonsmuligheter osv. Klubb.java Klassen som inneholder informasjon om en klubb som navn, hvilken stadion klubben eier og økonomi. Hendelse.java Klassen som inneholder informasjon om hendelse. Manager.java Klassen som inneholder informasjon om managere (selve spilleren). Nyheter.java Klassen som inneholder informasjon om Spillerhendelsene. Terminliste.java Klassen som generer en ny terminliste i begynnelsen av en sesong. Kamp.java Klassen som beregner kampresultater og sender dem til databasen der den lagres. DatabaseManager.java Klasse som håndterer kommunikasjonen mellom MYSQL og Java programmet. Den henter oppdatert informasjon og legger det til lister som JAVA kan bruke, og oppdaterer informasjon fra Java til Databasen. GUI: BrukerVindu.java Klassen som viser et vindu der man kan opprette en ny bruker. LagVindu.java Klassen som viser et vindu der man forandre taktikk og sette opp et lag. NyheterVindu.java Klassen som viser et vindu der man kan lese nyheter, og sjekke poengsummen sin. ResultatVindu.java Klassen som viser et vindu der man se på resultater fra alle kampene denne serierunden. SalgsVindu.java Klassen som viser et vindu der man kjøpe, selge og sjekke fotballspillere. 10

StadionVindu.java Klassen som viser et vindu der man kan utvide stadion, sjekke kapasitet, og sjekke antall tilskuer man hadde i sin forrige hjemmekamp. StartVindu.java Klassen som inneholder et logo, og felter man kan skrive inn hvor man vil hente spillet fra. StartMeny.java Klassen som inneholder knappene til StartVindu. SpillMeny.java Klassen som inneholder knapper der man kan navigere mellom vinduene. SpillVindu.java Klassen som inneholder main metoden som starter spillet og holder styr på alle vinduene. TabellVindu.java Klassen som viser et vindu der man kan sjekke poengsummene til alle lagene i samme divisjon, og sjekke toppscorer tabellen. TerminVindu.java Klassen som viser et vindu der man kan sjekke resultater av alle kampene sine, samtidig som man kan se hvilken lag man skal spille mot. manager.component.jtablex.java En klasse som arver fra JTable som justerer kolonnebredden til det passende. manager.panel.imagepanel.java En klasse som arver JPanel som viser et bildet. manager.panel.jpanelvindu.java En klasse som alle GUI vinduene arver fra og gjør at vinduene blir vist fram riktig. 11

3.2.3 Brukergrensesnitt 12

StartVindu: Spillets aller første vindu. Først må man skrive in hvor man vil opprette spillet. Dette må man ha gjort på forhånd og laget en mysql database. Våre forhåndslagde kontoer er: jdbc:mysqsl://mysql.stud.ntnu.no/jonands_manager og jdbc:mysqsl://mysql.stud.ntnu.no/jonands_manager2. Begge med brukernavn jonands_skole og passord ape. For mer info om hvordan du kan lage din egen konto på stud sin mysql server: (http://sif8001.idi.ntnu.no/mysql.php). Nytt spill starter et helt nytt spill fra databasen. Hent spill henter det siste spillet fra databasen. Hvis du vil avslutte spillet trykker du på avslutt-knappen. Dette vinduet består av en ImagePanel, StartMeny og Startvindu. Dette inneholder Logoen som er en ImagePanel, 3 JLabels, 2 JTextField, 1 JPasswordField, og 4 JButtons. 13

Opprett Bruker: Etter å ha trykt nytt spill så kommer du til vinduet der du oppretter en bruker. Skriv inn navn, alder og velg klubb. Dette vinduet er av BrukerVindu og StartMeny. Den har 4 JLabel, 2 JTextField, 2 JRadionButton, 1 JList og 6 JButtons. 14

Nyheter: Nå er du inne i selve spillet Nyheter dukker opp etter hvert som sesongen løper. Vinduet består av en SpillMeny og NyheterVindu. SpillMeny består av 8 JButtons og 1 ImagePanel, mens NyheterVindu består av 3 JLabels og 1 JTable. 15

Kjøp og salg av spillere Dette vinduet består av en SpillMeny og en SalgsVindu. SpillMeny består av 8 JButtons og 1 ImagePanel, mens SalgsVindu består av 3 JLabel, 2 JTable, 1 JButton og 1 JCombobox. 16

Laget ditt: Dette vinduet består av en SpillMeny og en LagVindu. Lagvinduet består av 1 JLabel, 1 JTable og 3 JButtons. < 17

Terminliste: Dette vinduet består av en SpillMeny og en TerminVindu som består av en JLabel og 1 JTable. 18

Stadion: Dette vinduet består av en SpillMeny og StadionVindu som består av 4 JLabel, 1 Jbutton og 1 JTable. 19

Serietabell m/ toppscorer: Denne tabellen inneholder en SpillMeny og en JTabellVindu som består av 3 JTable og 3 JLabel. 20

Resultat: Dette vinduet består av en SpillMeny og en ResultatVindu som består av 1 JLabel og en JTable. 21

4. Innstalasjonsveiledning Metode 1: Gå inn i source katalogen og kjør Manager.bat Metode 2: Kjør mainmetoden i SpillVindu.java Metode 3: Hvis alt det overnevnte ikke fungerer kan du prøve å kopiere alt fra source-katalogen til en lokal disk, kompiler alle java filene, og kjør Main() fra SpillVindu.java. Dersom det fortsatt ikke lar seg kjøres, ta kontakt med prosjektlederen Nedzad Sisic. Anbefalt systemkrav: Windows XP med Java 1.4 eller nyere innstallert. CPU: Ja Harddislplass: 5 MB Skjermkort: Ja, med 800 x 600 oppløsning eller bedre. RAM: 512 (Java sluker RAM) Nettverk: Må ha rask linje mellom maskinen og mysql serveren. 22

5. Brukerveiledning 5.1 Hvordan starte spillet: Før du starter et nytt spill så må du ha en database klart, hvis du ikke ønsker å bruke standard databasen som vi har opprettet. Dersom dette er første gangen du spiller trykk nytt spill, hvis du har spilt før så har du en mulighet til hente det spillet. (hent spill) Når du starter nytt spill så vil det ta litt tid å laste alle spillere og klubber osv. vær tålmodig. Deretter kommer delen hvor du skal skrive inn navn, alder og velge klubb. Klubb velges ved å trykke på en av radioknappene tippeligaen eller 1 div så trykker du på laget du ønsker og OK 5.2 Navigering Du vil nå få et nytt vindu med oversikt over nyheter, og en meny på venstre siden. I menyen til venstre kan man: - Nyheter: Sjekke nyheter. - Transfer: Kjøpe og selge spillere. - Ditt Lag: Sette opp taktikk og velge hvilke spillere du vil bruke. - Terminliste: Sjekke hvilke kamper man skal spille, samt resultater av tidligere kamper. - Stadion: Sjekke kapasitet til stadion din og tilskuertall fra forrige kamp, med mulighet for utvidelser. - Tabell: Sjekke serietabell og toppscorer - Kamp: Spille neste kamp - Avslutt: Avslutte spillet. 5.3 Nyheter Nyheterlisten er tomt til å starte med, men etter hvert så vil spiller hendelser dukke opp. Her kan du holde deg oppdatert på hva som skjer med forskjellige norske fotballspillere rundt om i landet. 5.4 Transfer Kjøp og selg spillere. Et tastetrykk og du har Norges største stjerner på ditt lag. Ingen manager i verden har det så enkelt som du. Bare økonomien tillatter dette For å kjøpe spillere må du: 1. Velge hvilken klubb du vil kjøpe spiller fra. 23

Da vil en ny liste over spillerne med navn, alder, ferdighet, verdi og lønn for den klubben vises på tabellen nedenfor i transfervinduet.. 2. Klikke på knappen på velg-kollonen til spilleren du vil kjøpe. 3. Trykk på transfer-knappen. Nå er du tilbake til nyhetervinduet, dersom du hadde nok penger vil spilleren være på laget ditt. Og det vil komme en nyhet på at du har kjøpt spilleren. For å selge spillere må du: 1. Velge hvilken klubb du vil selge spiller til. Da vil en ny liste over spillerne med navn, alder, ferdighet, verdi og lønn for denne klubben vises på tabellen under. 2. Kryss av de spillerne du vil selge fra ditt eget lag på tabellen ovenfor. 3. Trykk på transfer-knappen. Da vil du komme tilbake til nyhetervinduet, og dersom de hadde nok penger vil det stå som en nyhet at du har solgt spilleren din. 5.5 Ditt Lag Sett opp taktikk, og velg hvilken spiller som skal starte kamper for deg. dersom du ikke setter opp ditt lag vil assistenttreneren velge taktikk og spillere for deg. Hvis du vil sette opp din egen taktikk og spillere må du først velge hvilken taktikk du vil bruke, så velger du hvilken posisjon hver spillere skal spille på banen (total 11 personer må ha en posisjon). Dette velges ved å klikke på posisjons-kollonen til spilleren. Når dette er valgt, trykk bekreft. 5.6 Terminliste Se hvem ditt neste motstander er. Du er bare et tastetrykk unna. I Terminlisten kan man sjekke resultatene av kampene man har spilt, og hvilket lag man skal møte. 5.7. Stadion Bygg ut stadion. Se hvor mange tilskuere som var på din siste hjemmekamp. Er det nødvendig med nye VIP-plasser? Finn ut det selv. I stadion får man opp informasjon om stadion til klubben som navn, kapasitet, og antall tilskuere man hadde i forrige hjemmekamp. Her kan man også se hvor mye penger man har og bygge ut stadion. For å utvide stadion må man krysse av hvilken utvidelse man vil gjøre, og deretter trykke på utfør-knappen. 5.8 Tabell Sjekk hvordan du ligger an. Er en av dine spillere på toppscorer listen? Kanskje på tide å handle en spiss? I tabellen kan man se hvilken plassering man ligger på, samt de andre lagenes plasseringer. Man kan også se sesongens toppscorere til eliteserien og 1. divisjon. De to lagene med lavest poengsum i eliteserien rykker ned til 1. divisjon og 24

de to lagene med høyest poengsum i 1. divisjonen rykker opp til eliteserien ved sesongslutt. 5.9 Kamp Trykk på denne knappen for å spille en kamp. Når kampene er ferdigspilt vil et resultatvindu av alle kampene som spilles i gjeldene serierunde vises. Ble det seier? 5.10 Avslutt Trykk på denne knappen for å avslutte spillet. 25

6. Vedlegg 6.1 Timeliste/gjennomføring Dato Nedzad Jon William Gullizar 20.09.2005 Stiftelse av gruppen, valg av oppgave, litt planlegging. 1 21.09.2005 Planlegging av prosjekt 1 21.09.2005 Prosjektplan Innlevering 1 4 23.09.2005 Analyse 4 28.09.2005 Programmering 6 Database 6 Programmering 6 Database 5 07.10.2005 Programmering 6 Database 6 Programmering 6 Database 4 12.10.2005 Prototype 5 14.10.2005 Revidert prosjektplan 7 16.10.2005 Programmering 2 17.10.2005 Programmering 5 Database og programmering 14 Database 2 18.10.2005 Programmering 6 27.10.2005 Database og programmering 5 31.10.2005 Database og programmering 7 Diagram 4 01.10.2005 Programmering 6 02.10.2005 Programmering og database 7 04.11.2005 Programmering og database 6 07.11.2005 Database og programmering 6 08.11.2005 Spillerdatabase 6 Programmering 6 09.11.2005 Database 6 Programmering 6 Diagram 4 12.11.2005 Database og programmering 8 Programmering 16 13.11.2005 Programmering og design 3 15.11.2005 Spillerdatabase og testing 5 Grafikk 5 Terminliste 5 17.11.2005 Programmering 7 Database 7 18.11.2005 Design 5 Grafikk 6 Programmering 5 19.11.2005 Programmering 5 21.11.2005 Spillerdatabase 5 Design og grafikk 5 22.11.2005 Ferdig med databasen og testing 6 Programmering 6 23.11.2005 Programmering og design 3 Sluttrapport 4 24.11.2005 Sluttrapport 7 Programmering 11 Sluttrapport 4 25.11.2005 Sluttrapport 10 Total 144 timer 156 timer 182 timer 86 timer 26

6.2 Testing 6.2.1 Testcase Test case nummer: 0000001.2005 Dato: 15 november 2005 Utføres av: Jon Andre Simonsen Mål med testing: Kan vi plassere spillere i en formasjon, er taktikketn satt opp også når vi starter på nytt? Input data: Start spill, trykk hent spill, trykk Ditt lag, Sett opp spillere, trykk ønskede formasjon, restarte spill og se om taktikk er der fortsatt. Forventet resultat: 11 spillere i 4-3-3,4-5-1 eller 4-4-2 formasjon. Bør være samme taktikk etter restart. Test case nummer: 0000011.2005 Dato: 15 november 2005 Utføres av: Nedzad Sisic Mål med testing: Kan vi kjøpe og selge spillere? Input data: Start spill, trykk hent spill, trykk Transfer, Velg lag hvis du vil kjøpe, trykk spiller så transfer, velg en av dine egne spillere hvis du vil selge så trykk transfer. Forventet resultat: Kjøp og selg en spiller. Test case nummer: 0000111.2005 Dato: 15 november 2005 Utføres av: Jon Andre Simonsen Mål med testing: Utvide Stadion? Input data: Start spill, trykk hent spill, trykk stadion, velg hva du vil gjøre. Forventet resultat: Bygge ut stadion, pusse opp stadion eller bygge VIP-plasser. Test case nummer: 0001111.2005 Dato: 15 november 2005 Utføres av: Jon Andre Simonsen Mål med testing: Har vi full oversikt over tabell og terminliste? Input data: Start spill, trykk hent spill, trykk terminliste og se neste kamp, trykk tabell og se poeng og toppscorer. Forventet resultat: full terminliste for ditt lag, full oversikt over tabell og poeng samt toppscoreren. Test case nummer: 0011111.2005 Dato: 15 november 2005 Utføres av: Nedzad Sisic Mål med testing: Forekommer uforutsette hendelser? Input data: Start spill, trykk hent spill, trykk Nyheter, les av om hendelser har skjedd. Forventet resultat: Diverse hendelser skal ramme spillere. 27

Test case nummer: 0111111.2005 Dato: 15 november 2005 Utføres av: Jon Andre Simonsen Mål med testing: Er det noen inntekter, utgifter? Input data: Start spill, trykk hent spill, trykk transfer, se informasjon om økonomi. Forventet resultat: Skal kunne lese av klubbens økonomi. Test case nummer: 1111111.2005 Dato: 22. november2005 Utføres av: Jon Andre Simonsen Mål med testing: Kamp simmulering. Input data: Start spill, trykk hent spill, trykk Kamp, se resultat. Forventet resultat: Etter å ha trykt kamp skal resultat komme. Test case nummer: 2111111.2005 Dato: 22. november2005 Utføres av: Nedzad sisic Mål med testing: Spille i 3 sesonger? Input data: Start spill, trykk hent spill, spill noen sesonger. Forventet resultat: Det skal gå an å spille flere enn 3 sesonger. 6.2.2 Test rapport: Test case nummer: 0000001.2005 Test Dato: 15. november 2005 Rapport dato: 15. november 2005 Utføres av: Jon Andre Simonsen Problemer observert: Glemmer taktikk etter å ha restartet spillet., ellers tilfredsstillende Test case nummer: 0000011.2005 Test Dato: 15 November 2005 Rapport dato: 15. november 2005 Utføres av: Nedzad Sisic Problemer observert: Haken ved salg av spillere vises ikke, ellers bra. Test case nummer: 0000111.2005 Test Dato: 15 november 2005 Rapport dato: 15 november 2005 Utføres av: Jon Andre Simonsen Problemer observert: Forventet resultat ble akkurat som ventet. Test case nummer: 0001111.2005 Test Dato: 15 november 2005 Rapport dato: 15 november 2005 Utføres av: Jon Andre Simonsen 28

Problemer observert: resultat som forventet Test case nummer: 0011111.2005 Test Dato: 15 november 2005 Rapport dato: 15 november 2005 Utføres av: Nedzad Sisic Problemer observert: spillerne blir ikke virkelig borte fra kampene etter at en skade har inntruffet. Eller som forventet. Test case nummer: 0111111.2005 Test Dato: 15 november 2005 Rapport dato: 15 november 2005 Utføres av: Jon Andre Simonsen Problemer observert: resultat som forventet. Test case nummer: 1111111.2005 Test Dato: 15 november 2005 Rapport dato: 22. november2005 Utføres av: Jon Andre Simonsen Problemer observert: Ble scoret for mange mål. Ellers som forventet. Test case nummer: 1111111.2005 Test Dato: 15 november 2005 Rapport dato: 15 november 2005 Utføres av: Nedzad Sisic Problemer observert: resultat som forventet. 29

6.3 Kodelisting Create.txt CREATE TABLE Stadion (StadionID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Stadionnavn varchar(30) NOT NULL, Kapasitet int NOT NULL, EksKapasitet int NOT NULL); CREATE TABLE Manager (ManagerID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Navn varchar(30) NOT NULL, Alder int, KlubbID int, Runde int NOT NULL, Sesong int DEFAULT 1 NOT NULL, Poeng int NOT NULL, Goal int NOT NULL); CREATE TABLE Klubb (KlubbID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Navn varchar(30) NOT NULL, StadionID int, Divisjon int, Poeng int, Budsjett int, Pop int DEFAULT 1000 NOT NULL, Taktikk int DEFAULT - 1 NOT NULL); CREATE TABLE Spiller (SpillerID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Spillernavn varchar(30) NOT NULL, Alder int, KlubbID int NOT NULL, Lonn int, Verdi int, Goalkeeping int, Defending int, Playmaking int, Attacking int, Posisjon varchar(12), Kort int DEFAULT 0 NOT NULL, Mål int DEFAULT 0 NOT NULL); CREATE TABLE Kamp (KampID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Hjemmelag varchar(30) NOT NULL, Bortelag varchar(30) NOT NULL, Runde int(2), Sesong int, Hjemmemål int DEFAULT -1 NOT NULL, Bortemål int DEFAULT -1 NOT NULL); CREATE TABLE Spillerhendelse (SpillerhendelseID int PRIMARY KEY NOT NULL AUTO_INCREMENT, HendelseID int NOT NULL, SpillerID int NOT NULL); CREATE TABLE Hendelse (HendelseID int PRIMARY KEY NOT NULL AUTO_INCREMENT, Hendelse varchar(40), Kamper_Borte int, Type varchar(20), Prosent int(2)); 30

INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Ble solgt','0','melding','0'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Har brukket beinet','7','kamphendelse','10'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Tråkket over','2','kamphendelse','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Fikk Rødt kort','2','kamphendelse','30'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Har fått strekk i låret','3','kamphendelse','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Ble tatt av Tsunami','4','UtenforKamp','1'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Dømt for rassist handling','1','utenforkamp','10'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Blitt dømt for voldtekt','6','utenforkamp','5'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Har testet positivt på dopingkontrollen','56','utenforkamp','3'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Ble fengslet for råkjøring','2','utenforkamp','10'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Tatt for bestikkelse av dommeren','4','utenforkamp','2'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Betalte publikumsbillettene','8','utenforkamp','2'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Røk kosbåndet i kneet','2','kamphendelse','10'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Er lei seg på grunn av dødsfall i familien','2','utenforkamp','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Ble nylig skilt','1','utenforkamp','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Blitt pappa','10','utenforkamp','6'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Anmeldt for hard takling','2','utenforkamp','9'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Gifter seg','10','utenforkamp','2'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Er elsket av supporterskaren','9','utenforkamp','11'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Ble kåret til lagets singstar vinner','7','utenforkamp','7'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Stillte opp i underbuksa på pressekonferanse','6','utenforkamp','16'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Var ut på byen to dager før storkampen','2','utenforkamp','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Kom seg ut av skapet','8','utenforkamp','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Tråkket over i forrige trening','1','utenforkamp','20'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Er usikker på om treneren sin er den rette mannen for klubben','2','utenforkamp','2');

INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Liker treneren sin','8','utenforkamp','2'); INSERT INTO Hendelse(Hendelse, Kamper_Borte, Type, Prosent) VALUES ('Har lyst til å bytte til en større klubb','5','utenforkamp','2'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Rosenborg','1','0','0','90000000','10600'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Lyn','2','0','0','40000000','12800'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Vålerenga','2','0','0','75000000','12800'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Molde','3','0','0','35000000','5600'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Bodø- Glimt','4','0','0','22000000','5000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Stabæk','5','1','0','7000000','4200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Sandefjord','6','0','0','60000000','3500'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Moss','7','1','0','4000000','5000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Start','8','0','0','30000000','7500'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Viking','9','0','0','52000000','7600'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Lillestrøm','10','0','0','72000000','8300'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Ålesund','11','1','0','23000000','5300'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Tromsø','12','0','0','26000000','3200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Brann','13','0','0','56000000','8500'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Odd Grenland','14','0','0','20000000','5000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Ham Kam','15','0','0','22000000','4000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Fredrikstad','16','0','0','21000000','6200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Hønefoss BK','17','1','0','8000000','1500'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Bryne','18','1','0','7000000','5200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Pors Grenland','19','1','0','6000000','4000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Sogndal','20','1','0','5000000','2700'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Strømsgodset','21','1','0','5000000','4200');

INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Hødd','22','1','0','4000000','4000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Kongsvinger','23','1','0','3000000','3000'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Follo','24','1','0','3000000','1900'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Løv- Ham','25','1','0','2000000','2200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Mandalskameratene','26','1','0','2000000','2300'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Skeid','27','1','0','1500000','2200'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('FK Tønsberg','28','1','0','1000000','2500'); INSERT INTO Klubb(Navn, StadionID, Divisjon, Poeng, Budsjett, Pop) VALUES ('Alta','29','1','0','1000000','1200'); INSERT INTO Manager(Navn, Alder, KlubbID) VALUES ('Kjetil Rekdal', '38', '3'); INSERT INTO Manager(Navn, Alder, KlubbID) VALUES ('Tom Nordlie', '42', '9'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Lerkendal Stadion', '21200', '30000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Ullevaal Stadion', '25600', '33000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Molde Stadion', '11200', '21200'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Aspmyra Stadion', '10000', '2000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Nadderud Stadion', '8400', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Storstadion', '7000', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Melløs Stadion', '10000', '3000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Kristiansand Stadion', '15000', '20000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Viking Stadion', '15500', '30000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Åråsen Stadion', '16600', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Color Line Stadion', '10700', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Alfheim Stadion', '7500', '10000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Brann Stadion', '17000', '25000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Odd Stadion', '10000', '21000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Briskeby Gressbane', '8000', '12000');

INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Nye Fredrikstad Stadion', '12500', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Hønefoss Idrettspark', '3000', '6000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Bryne Stadion', '10500', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Pors Stadion', '8000', '0'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Fosshaugane', '5500', '2000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Marienlyst Stadion', '8500', '15000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Høddvoll', '8000', '2000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Gjemselund', '6000', '8000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Ski Stadion', '3800', '0'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Krohnsminde Idrettspark', '4500', '1000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Idrettsparken Stadion', '4700', '6000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Voldsløkka', '4500', '12000'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Tønsberg Gressbane', '5000', '12500'); INSERT INTO Stadion(Stadionnavn, Kapasitet, EksKapasitet) VALUES ('Alta Idrettspark', '2500', '5000'); Playmaking, Attacking) VALUES ('Arni Gautur Arason','30','3','10000','20000000','9','3','0','0'); Playmaking, Attacking) VALUES ('Amund R. Skiri','27','3','10000','700000','0','5','3','0'); Playmaking, Attacking) VALUES ('David Brocken','34','3','10000','500000','0','6','3','1'); Playmaking, Attacking) VALUES ('Thomas Holm','24','3','12000','900000','0','2','6','3'); Playmaking, Attacking) VALUES ('André Muri','24','3','12000','900000','0','7','3','1'); Playmaking, Attacking) VALUES ('Patrick Suffo','24','3','12000','9000000','0','7','3','1'); Playmaking, Attacking) VALUES ('Øyvind Bolthof','28','3','9000','200000','2','4','0','0'); Playmaking, Attacking) VALUES ('Freddy Dos Santos','29','3','12000','2000000','0','6','3','3'); Playmaking, Attacking) VALUES ('Arnar Førsund','19','3','5000','90000','0','3','2','0'); Playmaking, Attacking) VALUES ('Tom Henning Hovi','33','3','20000','90000','0','5','2','0');

Playmaking, Attacking) VALUES ('Ronny Johnsen','23','3','25000','50000','0','6','3','0'); Playmaking, Attacking) VALUES ('Tommy Stenersen','29','3','8000','100000','0','4','1','0'); Playmaking, Attacking) VALUES ('Kjetil Wæhler','29','3','18000','9000000','0','8','3','0'); Playmaking, Attacking) VALUES ('Morten Berre','30','3','12000','900000','0','2','4','6'); Playmaking, Attacking) VALUES ('Ardian Gashi','24','3','20000','15000000','0','4','8','2'); Playmaking, Attacking) VALUES ('Christian Grindheim','21','3','15000','20000000','0','3','8','2'); Playmaking, Attacking) VALUES ('Magne Hoseth','25','3','20000','10000000','0','1','8','4'); Playmaking, Attacking) VALUES ('Stefan Ishizaki','23','3','12000','700000','0','2','5','2'); Playmaking, Attacking) VALUES ('Mbulelo Mabizela','25','3','13000','900000','0','1','3','4'); Playmaking, Attacking) VALUES ('Tore André Flo','34','3','31000','1000000','0','1','3','7'); Playmaking, Attacking) VALUES ('Daniel Fredheim Holm','20','3','11000','2000000','0','1','4','5'); Playmaking, Attacking) VALUES ('Bernt Hulsker','28','3','10000','700000','0','0','2','5'); Playmaking, Attacking) VALUES ('Steffen Iversen','29','3','23000','9000000','0','1','2','8'); Playmaking, Attacking) VALUES ('Ali Al-Habsi ','24','2','13000','1200000','9','2','0','0'); Playmaking, Attacking) VALUES ('Nuno Marques','24','2','9000','320000','4','1','0','0'); Playmaking, Attacking) VALUES ('Tommy Berntsen ','32','2','12000','40000','0','6','2','0'); Playmaking, Attacking) VALUES ('Henrik Dahl ','30','2','9000','200000','0','4','2','0'); Playmaking, Attacking) VALUES ('Lars Kristian Eriksen','22','2','12000','800000','0','5','3','0'); Playmaking, Attacking) VALUES ('Kevin Larsen','21','2','10000','700000','0','4','2','0'); Playmaking, Attacking) VALUES ('Steven Lustü ','34','2','20000','100000','0','6','3','0'); Playmaking, Attacking) VALUES ('Kristian Flittie Onstad','21','2','9000','730000','0','5','3','0'); Playmaking, Attacking) VALUES ('Daniel Theorin','24','2','10000','6250000','0','5','2','0'); Playmaking, Attacking) VALUES ('Christoffer Dahl','22','2','9000','530000','0','1','4','0'); Playmaking, Attacking) VALUES ('Stefan Gislason','26','2','12000','200000','0','2','5','0');

Playmaking, Attacking) VALUES ('Mounir Hamoud','21','2','10000','900000','0','3','6','0'); Playmaking, Attacking) VALUES ('Øyvind Leonhardsen','34','2','20000','90000','0','4','6','0'); Playmaking, Attacking) VALUES ('John obi Mikel','18','2','15000','3000000','0','1','7','4'); Playmaking, Attacking) VALUES ('Jan Derek Sørensen','34','2','30000','250000','0','2','6','0'); Playmaking, Attacking) VALUES ('Ezekiel Bala','17','2','9000','1000000','0','1','3','6'); Playmaking, Attacking) VALUES ('Keijo Huusko','27','2','10000','520000','0','1','2','4'); Playmaking, Attacking) VALUES ('Thomasz Skolowski','20','2','9000','410000','0','2','4','4'); Playmaking, Attacking) VALUES ('Jo Tessem','33','2','20000','200000','0','1','3','6'); Playmaking, Attacking) VALUES ('Tor Egil Horn ','29','5','6000','300000','5','2','0','0'); Playmaking, Attacking) VALUES ('Jonas Ueland Kolstad ','18','5','2000','50000','3','1','0','0'); Playmaking, Attacking) VALUES ('Håvard Halvorsen ','32','5','9000','700000','0','5','3','0'); Playmaking, Attacking) VALUES ('Eirik Hoftun ','36','5','11000','600000','0','6','2','0'); Playmaking, Attacking) VALUES ('Cato Hansen ','33','5','8000','200000','0','5','2','0'); Playmaking, Attacking) VALUES ('Kristoffer Paulsen ','24','5','10000','1200000','0','7','4','0'); Playmaking, Attacking) VALUES ('Runar Berg ','35','5','11000','700000','0','3','7','2'); Playmaking, Attacking) VALUES ('Stian Theting ','23','5','9000','400000','0','3','4','0'); Playmaking, Attacking) VALUES ('Olav Råstad ','29','5','9000','500000','0','2','5','0'); Playmaking, Attacking) VALUES ('Christian Berg ','27','5','8000','400000','0','1','4','0'); Playmaking, Attacking) VALUES ('Aasmund Bjørkan ','32','5','12000','500000','0','1','3','5'); Playmaking, Attacking) VALUES ('Harald Martin Brattbakk ','34','5','11000','700000','0','1','4','6'); Playmaking, Attacking) VALUES ('Stig Johansen ','33','5','10000','400000','0','1','3','5'); Playmaking, Attacking) VALUES ('Stig Arild Råket ','23','5','9000','300000','0','0','2','4'); Playmaking, Attacking) VALUES ('Håvard Sakariassen ','28','5','9000','220000','0','1','2','4'); Playmaking, Attacking) VALUES ('Kenneth Høie','26','9','2000','80000','3','1','0','0');

Playmaking, Attacking) VALUES ('Rune Nilssen','30','9','10000','500000','6','2','0','0'); Playmaking, Attacking) VALUES ('Bård Borgersen','33','9','12000','700000','0','6','2','0'); Playmaking, Attacking) VALUES ('Lars Martin Engedal','22','9','4000','200000','0','3','1','0'); Playmaking, Attacking) VALUES ('Atle Roar Håland','22','9','15000','650000','0','5','3','0'); Playmaking, Attacking) VALUES ('Marius Johnsen','21','9','20000','2000000','0','6','3','2'); Playmaking, Attacking) VALUES ('Steinar Pedersen','30','9','10000','800000','0','6','2','0'); Playmaking, Attacking) VALUES ('Bjarte Lunde Aarsheim','30','9','11000','600000','0','2','5','2'); Playmaking, Attacking) VALUES ('Kristofer Hæstad','22','9','25000','5000000','0','4','8','4'); Playmaking, Attacking) VALUES ('David Hanssen','29','9','6000','90000','0','1','4','1'); Playmaking, Attacking) VALUES ('Fredrik Strømstad','23','9','19000','2400000','0','3','7','1'); Playmaking, Attacking) VALUES ('Stefan Bärlin','20','9','13000','900000','0','1','6','3'); Playmaking, Attacking) VALUES ('Bala Garba','31','9','16000','700000','0','1','3','5'); Playmaking, Attacking) VALUES ('Morten Hæstad','22','9','2000','100000','0','1','2','3'); Playmaking, Attacking) VALUES ('Todi Jonsson','30','9','13000','500000','0','1','3','5'); Playmaking, Attacking) VALUES ('Jon Midttun Lie','20','9','6000','120000','0','0','2','3'); Playmaking, Attacking) VALUES ('Alex Valencia','26','9','18000','2000000','0','1','5','7'); Playmaking, Attacking) VALUES ('Ben Wright','21','9','8000','300000','0','0','2','4'); Playmaking, Attacking) VALUES ('Knut Lillebakk','27','4','5000','100000','5','1','0','0'); Playmaking, Attacking) VALUES ('Lars Ivar Moldskred','22','4','3000','50000','4','1','0','0'); Playmaking, Attacking) VALUES ('Marcus Andreasson','23','4','10000','610000','0','5','2','0'); Playmaking, Attacking) VALUES ('Øyvind Gjerde','21','4','5000','200000','0','4','2','0'); Playmaking, Attacking) VALUES ('Martin Høyem','23','4','2000','90000','0','3','1','0'); Playmaking, Attacking) VALUES ('Toni Kallio','24','4','15000','1200000','0','6','3','0'); Playmaking, Attacking) VALUES ('Matej Mavric','20','4','20000','1000000','0','6','2','0');

Playmaking, Attacking) VALUES ('Erlend Ormbostad','21','4','70000','100000','0','3','1','0'); Playmaking, Attacking) VALUES ('Petter C. Singsaas','33','4','12000','400000','0','4','1','0'); Playmaking, Attacking) VALUES ('Trond Strande','35','4','13000','90000','0','5','2','0'); Playmaking, Attacking) VALUES ('Daniel Berg Hestad','30','4','21000','1300000','0','2','8','2'); Playmaking, Attacking) VALUES ('John Andreas Husøy','21','4','5000','300000','0','1','4','1'); Playmaking, Attacking) VALUES ('Magnus Kihlberg','32','4','13000','800000','0','2','5','1'); Playmaking, Attacking) VALUES ('Madiou Konate','22','4','10000','600000','0','1','5','3'); Playmaking, Attacking) VALUES ('Tomas Mork','27','4','9000','500000','0','2','4','2'); Playmaking, Attacking) VALUES ('Stian Ohr','27','4','11000','900000','0','1','5','2'); Playmaking, Attacking) VALUES ('Dag Roar Ørsal','22','4','6000','200000','0','1','3','1'); Playmaking, Attacking) VALUES ('Kai Røberg','21','4','70000','90000','0','1','2','3'); Playmaking, Attacking) VALUES ('Petter Rudi','30','4','20000','1000000','0','2','7','2'); Playmaking, Attacking) VALUES ('Rob Friend','23','4','8000','700000','0','1','2','5'); Playmaking, Attacking) VALUES ('Tommy Eide Møster','22','4','5000','400000','0','2','2','4'); Playmaking, Attacking) VALUES ('Espen Johnsen','26','1','17000','10000000','8','3','0','0'); Playmaking, Attacking) VALUES ('Ivar Rønningen','30','1','12000','900000','6','2','0','0'); Playmaking, Attacking) VALUES ('Christer Basma','33','1','11000','700000','0','5','2','0'); Playmaking, Attacking) VALUES ('Mikael Dorsin','21','1','13000','900000','0','5','1','0'); Playmaking, Attacking) VALUES ('Miika Koppinen','27','1','15000','1000000','0','6','1','0'); Playmaking, Attacking) VALUES ('Bjørn Tore Kvarme','33','1','12000','400000','0','5','2','0'); Playmaking, Attacking) VALUES ('Alejandro Lago','24','1','11000','1200000','0','5','1','0'); Playmaking, Attacking) VALUES ('Vidar Riseth','33','1','20000','500000','0','5','2','0'); Playmaking, Attacking) VALUES ('Robbie Russell','23','1','10000','700000','0','4','2','0'); Playmaking, Attacking) VALUES ('Ståle Stensaas','34','1','11000','300000','0','5','2','0'); Playmaking, Attacking) VALUES ('Ørjan Berg','37','1','12000','500000','0','3','6','2');

Playmaking, Attacking) VALUES ('Sebastian Eguren','23','1','11000','800000','0','1','5','2'); Playmaking, Attacking) VALUES ('Per Ciljan Skjelbred','18','1','12000','2000000','0','2','7','1'); Playmaking, Attacking) VALUES ('Jan Gunnar Solli','24','1','11000','1500000','0','5','1','0'); Playmaking, Attacking) VALUES ('Roar Strand','35','1','16000','800000','0','3','6','1'); Playmaking, Attacking) VALUES ('Fredrik Winsnes','30','1','10000','600000','0','2','5','1'); Playmaking, Attacking) VALUES ('Daniel Braaten','22','1','14000','9000000','0','1','3','7'); Playmaking, Attacking) VALUES ('Thorstein Helstad','28','1','20000','16000000','0','1','2','7'); Playmaking, Attacking) VALUES ('Frode Johnsen','31','1','12000','800000','0','1','1','5'); Playmaking, Attacking) VALUES ('Alexander Ødegaard','25','1','9000','700000','0','1','3','5'); Playmaking, Attacking) VALUES ('Øyvind Storflor','26','1','11000','1000000','0','1','2','5'); Playmaking, Attacking) VALUES ('Jon Knudsen','31','6','6000','80000','5','1','0','0'); Playmaking, Attacking) VALUES ('Espen Isaksen','26','6','4000','40000','3','1','0','0'); Playmaking, Attacking) VALUES ('Tom Stenvoll','27','6','3000','40000','0','4','1','0'); Playmaking, Attacking) VALUES ('Christian Holter','33','6','4000','30000','0','4','1','0'); Playmaking, Attacking) VALUES ('Inge André Olsen','27','6','5000','50000','0','4','3','0'); Playmaking, Attacking) VALUES ('Mike Kjølø','24','6','10000','400000','0','5','2','0'); Playmaking, Attacking) VALUES ('Morten M. Skjønsberg','22','6','5000','20000','0','3','2','0'); Playmaking, Attacking) VALUES ('Bjørnar Holmvik','20','6','1000','20000','0','2','2','0'); Playmaking, Attacking) VALUES ('Markus Karlsson','33','6','11000','110000','0','2','4','0'); Playmaking, Attacking) VALUES ('Tommy Stenersen','29','6','12000','800000','0','2','5','0'); Playmaking, Attacking) VALUES ('Jesper Jansson','34','6','9000','200000','0','1','3','0'); Playmaking, Attacking) VALUES ('Branimir Poljac','21','6','11000','1000000','0','2','5','0'); Playmaking, Attacking) VALUES ('Henning Hauger','20','6','4000','700000','0','2','4','0'); Playmaking, Attacking) VALUES ('Christian Sund','27','6','3000','80000','0','1','2','0'); Playmaking, Attacking) VALUES ('Torbjørn Melhuus','20','6','2000','60000','0','2','2','0');