/*
Resultater ut fra kamptabell
*/
var navn: Array = ["RBK", "Brann", "Freidig"];
// Resultattabell: rader er hjemmelag, kolonner er bortelag
var resultater: Array =
[
["-", "H", "H"],
["U", "-", "H"],
["H", "U", "-"]
];
// Poengtabell:
// Lagt inn objekter istedenfor bare poengsum,
// for å kunne sortere resultatlisten til slutt
var poeng: Array =
[
{lag: "RBK", poengsum: 0},
{lag: "Brann", poengsum: 0},
{lag: "Freidig",poengsum: 0}
];
// Regner ut alle poengene og legger i poengtabellen
function beregnPoeng():void {
var l: int = poeng.length; //Finner antall lag
var resultat: String = "";
for (var h:int=0;h<l;h++) { //For alle hjemmelag
for (var b:int=0;b<l;b++){ //For alle bortelag
resultat = resultater[h][b];
if( resultat == "H" ) {
poeng[h]["poengsum"]+=3;
}else if( resultat == "U" ) {
poeng[h]["poengsum"]++;
poeng[b]["poengsum"]++;
}else if( resultat == "B" ) {
poeng[b]["poengsum"]+=3;
}//if
}//for b
}//for h
}//beregnPoeng()
// Eksempel på funksjon som regner ut poeng for
// et bestemt lag.
// Kan brukes av en modifisert beregnPoeng()-funksjon
function beregnPoengForLag(r: Array,lag: String):int {
var indeks: int = navn.indexOf(lag);
var poeng: int = 0;
var resultat: String = "";
// Poeng i hjemmekamper:
for(var b:int;b<r.length;b++) { //mot alle bortelag
resultat = r[indeks][b];
if( resultat == "H" ) {
poeng+=3;
}else if( resultat == "U" ) {
poeng++;
}//if
}//for h
// Poeng i bortekamper
for(var h:int;h<r.length;h++) { //mot alle hjemmelag
resultat = r[h][indeks];
if( resultat == "B" ) {
poeng+=3;
}else if( resultat == "U" ) {
poeng++;
}//if
}//for h
return poeng;
}//beregnPoengForLag()
// Alternativ beregnPoeng()-funksjon som bruker
// beregnPoengForLag()
function beregnPoeng2():void {
for(var lag:int = 0;lag<poeng.length;lag++){
poeng[lag]["poengsum"]=
beregnPoengForLag(resultater,poeng[lag]["lag"]);
}//for
}//beregnPoeng2()
/// --- Hovedprogram --- ///
beregnPoeng();
var liste: Array = poeng.sortOn("poengsum",Array.NUMERIC+Array.DESCENDING);
for(var lag:int=0;lag<poeng.length;lag++) {
trace(liste[lag]["lag"] + ", " + poeng[lag]["poengsum"]);
}//for
trace("\nTest av alternative funksjoner:\n");
trace("RBK fikk " + beregnPoengForLag(resultater, "RBK") + " poeng");
trace("Brann fikk " + beregnPoengForLag(resultater,"Brann") + " poeng\n");
beregnPoeng2();
liste = poeng.sortOn("poengsum",Array.NUMERIC+Array.DESCENDING);
for(lag=0;lag<poeng.length;lag++) {
trace(liste[lag]["lag"] + ", " + poeng[lag]["poengsum"]);
}//for
|