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();