/** *Kamp klassen inneholder kampfakte og hoveddelen av kampmotoren. young */

Like dokumenter
import java.util.arraylist;

INF Løsning på seminaropppgaver til uke 8

Eksamen Objektorientert Programmering 2013

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

import java.awt.color;

Objektorientert Programmering Ekstraordinær eksamen 2014

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

OPPGAVE 5b og 8b Java Kode

/** * A cache of words and their stems */ static private Map<String, String> cache = new WeakHashMap<String, String>();

IN1010 våren januar. Objektorientering i Java

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag til eksamen i INF1000 våren 2006

import java.io.*; import java.util.*; import javagently.text;

LC191D/LO191D Videregående programmering mai 2010

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

INF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

INF1010. Grensesnittet Comparable<T>

INF Seminaroppgaver til uke 3

INF100 Institutt for informatikk Universitetet i Bergen Øving 5

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen

Repetisjon. INF gruppe 13

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

Algoritmer og datastrukturer Eksamen

LO191D/LC191D Videregående programmering

static int ant_steiner; //antall steiner static int teller2 = 0; //teller for printing til Thread^ murer; //murertråden

Eksamen Objektorientert Programmering 2012

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

Læreboken på 45 minutter

Sortering med Comparable og Comparator

INF106 Objektorientert programmering

UNIVERSITETET I OSLO

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Mer objektorientert programmering

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

INF januar 2015 Stein Michael Storleer (michael) Lenkelister

TDT4100 Objektorientert programmering

Innhold. INF1000 Høst Klasser og objekter. Uke 7: Mer objektorientert programmering Siri Moe Jensen

UNIVERSITETET I OSLO

Java-kurs. Andreas Knudsen Nils Grimsmo 9th October 2003

INF2100. Oppgaver 26. september til 1. oktober 2007

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Eksamen i fag SIF8005 Programmering. Torsdag 10. mai 2001 kl

INF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:

Del 3: Evaluere uttrykk

INF1010 våren januar. Objektorientering i Java

Algoritmer og datastrukturer Løsningsforslag

INF 1010, vår 2005 Løsningsforslag uke 11

Inf1000 (Uke 10) HashMap og ArrayList

UNIVERSITETET I OSLO

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

UNIVERSITETET I OSLO

Seminaroppgaver IN1010, uke 2

Dagens tema: Mer av det dere trenger til del 1

INF1000: Forelesning 4. Mer om arrayer Metoder

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

UNIVERSITETET I OSLO

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

IN2030. Oppgave 1. Løsningsforslag. Uke (Disse filene finnes også i mappen ~inf2100/e/e2/.)

INF1010. grensesni-et Comparable<T> grensesni-et Iterable<T> rekursjon

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

Oppgave01.java class Bongo { 2 public static void main(string[] args){ 3 int[][][]bongo = new int[2][3][4]; 4 5 // SVAR: 24 6 } 7 } 8

EKSAMEN. Objektorientert programmering

Algoritmer og datastrukturer Eksamen

Løsningsforslag, inf101, våren 2001

UNIVERSITETET I OSLO

static int skrivetidsfrist = 0; // antall overskredet tid når skrive

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

LO191D/LC191D Videregående programmering eksamen des. 2009

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

OO-eksempel. Modellen ser slik ut: Studenter + antstudenter : int = 0

Kapittel 7: Mer om arv

Forelesning inf Java 5

EKSAMEN I EMNET INF100/INF100-F Grunnkurs i programmering (Programmering 1) Fredag 16. desember 2005 Tid: 09:00 14:00

UNIVERSITETET I OSLO

Forelesning inf Java 5

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

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

Kapittel 9: Sortering og søking Kort versjon

UNIVERSITETET I OSLO

INF1000 : Forelesning 4

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Repetisjon INF 1000 våren 2006

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

INF1000 Prøveeksamen Oppgave 7 og 9

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

UNIVERSITETET I OSLO

Transkript:

import java.util.arraylist; *Kamp klassen inneholder kampfakte og hoveddelen av kampmotoren. *@author young public class Kamp{ private static ArrayList kampliste = DatabaseManager.kampListeID; private int kampid; private String hjemmelag; private String bortelag; private Klubb hjemmeklubb; private Klubb borteklubb; private int runde; private int sesong; private int hjemmemål; private int bortemål; private int hjemme; private int borte; private int hattack; private int battack; private int hdefence; private int bdefence; private static ArrayList kamper; private int antalltilskuer = 0; * Konstruktor for å opprette en kamp * @param kampid Kamp ID * @param hjemmelag hjemmelagets ID * @param bortelag bortelagets ID * @param runde Når kampen skal spilles * @param sesong Hvilken sesong kampen tilhører public Kamp( int kampid, String hjemmelag, String bortelag, int runde, int sesong, int hjemmemål, int bortemål){ this.kampid = kampid; this.hjemmelag = hjemmelag; this.bortelag = bortelag; this.runde = runde; this.sesong = sesong; this.hjemmemål = hjemmemål; this.bortemål = bortemål; int hjemme = Klubb.finnIDMedNavn(hjemmelag); int borte = Klubb.finnIDMedNavn(bortelag); hjemmeklubb = Klubb.finnKlubbMedID(hjemme); borteklubb = Klubb.finnKlubbMedID(borte); * Metode for å sette resultat på en kamp * @param x antall mål scoret av hjemmelaget * @param y antall mål scoret av bortelaget public void SettResultat(int x, int y){ hjemmemål = x; bortemål = y; * Metode som retunerer KampIden * @return Kampens ID public int hentkampid(){ return kampid;

* Metode som retunerer hjemmelaget til kampen * @return Kampens hjemmelag public String henthjemmelag(){ return hjemmelag; * Metode som retunerer bortelaget til kampen * @return Kampens bortelag public String hentbortelag(){ return bortelag; * Metode som returnerer runde som kampen skal spilles. * @return runden til kampen. public int hentrunde(){ * Metode som returnerer runde som sesong skal spilles. * @return sesongen til kampen. public int hentsesong(){ return sesong; * Mmetode for å returnere resultatet til kampen. * @return resultatet public String hentresultat(){ return (hjemmemål +" - "+bortemål); * Metode for å returnerer kampen. * @return tostring med hjemmelag og bortelag public String tostring(){ return (hjemmelag + " " + bortelag); * Metode for å finnerunden som skal spilles. * @return en ararylist med de riktige kampene som skal spilles. public static ArrayList finnrunde(int serierunde){ ArrayList ml = DatabaseManager.ManagerListe; Manager m2 = (Manager)(ml.get(ml.size()-1)); ArrayList runde = new ArrayList(); int antallkamper = kampliste.size(); Manager m1 = (Manager) (DatabaseManager.ManagerListe.get(DatabaseManager.ManagerListe.size()-1)); int i = m1.hentsesong()*452-452; while (i < antallkamper){ Kamp dennekampen = (Kamp)kampListe.get(i); if (dennekampen.hentrunde() == serierunde && dennekampen.hentsesong() == m2.hentsesong()){ runde.add(dennekampen); i++;

* Metode for å finne hvilken runde vi er i nå. * @return runden som skal spilles nå. public static int finndennerunden(){ ArrayList ml = DatabaseManager.ManagerListe; Manager m2 = (Manager)(ml.get(ml.size()-1)); int runde = 0; runde = m2.hentrunde(); * Metode for å oppdatere en ny kampliste. * @param ny public static void settnyliste(arraylist ny){ kampliste = ny; * Metode for å spille en Runde * @param runde metode for å spille runden. public static void spillrunde(int runde){ kamper = finnrunde(runde); for (int i = 0 ; i < kamper.size(); i++){ Kamp dennekampen = (Kamp)kamper.get(i); dennekampen.spilldennekampen(); DatabaseManager.okRunde(); 1; * Mmetode for å spille en spesiell kamp. * @return ingenting :P public void spilldennekampen(){ hentstyrketilklubbene(); int hjemme = hjemmeklubb.hentklubbid(); int borte = borteklubb.hentklubbid(); double hjemmesjanser = 2.2; double bortesjanser = 2; if (hjemmeklubb.hentattack() > 12){ hjemmesjanser = Math.sqrt(((hjemmeklubb.hentAttack()*1.1-11) /1.6)*10)- if (borteklubb.hentattack() > 12){ bortesjanser = Math.sqrt(((borteklubb.hentAttack()-11) / 1.6)*10)-1; if (hjemmesjanser < 1){ hjemmesjanser = 1; if (bortesjanser < 1){ bortesjanser = 1; double hjemmeprosent = 28 + (Math.random()*21) + (hjemmeklubb.hentattack() *1.1*0.8 - borteklubb.hentdefence()); double borteprosent = 23 + (Math.random()*34) + (borteklubb.hentattack()*0.8 -

hjemmeklubb.hentdefence()*1.1); if (hjemmeprosent < 8) hjemmeprosent = 8; if (borteprosent < 8) borteprosent = 8; int h = (int)(hjemmesjanser*hjemmeprosent/100+0.5); int b = (int)(bortesjanser*borteprosent/100+0.5); hjemmeklubb.hvemscorte(h); borteklubb.hvemscorte(b); DatabaseManager.settResultatPåKamp(this.hentKampID(), h, b); if (h>b){ DatabaseManager.managerPoeng(3); DatabaseManager.settPoeng(hjemme, 3); int popu = (int)(math.random()*35); DatabaseManager.settPop(hjemme, popu); DatabaseManager.settPop(borte, -popu); else if ( h == b){ DatabaseManager.managerPoeng(1); DatabaseManager.settPoeng(hjemme, 1); DatabaseManager.settPoeng(borte, 1); else if (h<b){ if (borteklubb.hentklubbid() == Klubb.minKlubbID){ DatabaseManager.managerPoeng(3); int popu = (int)(math.random()*50); DatabaseManager.settPoeng(borte, 3); DatabaseManager.settPop(hjemme, popu); DatabaseManager.settPop(borte, -popu); hjemmeklubb.beregnsumlonn(); DatabaseManager.budsjettforandring(hjemmeklubb.hentSumLonn(), hjemmeklubb.hentklubbid()); borteklubb.beregnsumlonn(); DatabaseManager.budsjettforandring(borteklubb.hentSumLonn(), borteklubb.hentklubbid()); Stadion hjemmestad = hjemmeklubb.hentstadion(); int hjemmepop = hjemmeklubb.hentpop() + (int)(math.random()*300)-150; if (hjemmepop + (int)(borteklubb.hentpop()*0.21) < hjemmestad.hentkapasitet()){ antalltilskuer = hjemmepop + (int)(borteklubb.hentpop()*0.20); else { antalltilskuer = hjemmeklubb.hentstadion().hentkapasitet(); DatabaseManager.budsjettforandring(-antallTilskuer * 50, hjemmeklubb.hentklubbid()); StadionVindu.popu = antalltilskuer; int shuffle = (int)(math.random()*100); if (shuffle > 90){ int offer = (int)(math.random()*600); int hendelse = (int)(math.random()*24)+2;

DatabaseManager.lageSpillerhendelse(hendelse, offer); * Metode for å beregne taktikk, startellver og styrken til hjemmelaget og borte laget. * public void hentstyrketilklubbene(){ hjemmeklubb.gjoreklartilkamp(); borteklubb.gjoreklartilkamp();