import easyIO.*; class Omgang { Skihopper[] startliste; Skihopper[] rekkeflg; int antall = 0;; // antall som har hoppet boolean f?rsteomgang; // overf?res til konstrukt?ren Omgang( Skihopper[] startliste, boolean f?rsteomgang){ this.startliste = startliste; this.f?rsteomgang = f?rsteomgang; rekkeflg = new Skihopper[startliste.length]; } void skrivMeny(){ System.out.println(); System.out.print("*** MENY "); if( f?rsteomgang ) System.out.println("1. OMGANG ***"); else System.out.println("2. OMGANG ***"); System.out.println("0. Tilbake til hovedmenyen"); System.out.println("1. Registrer nytt hopp"); System.out.println("2. List gjenst?ende hoppere"); System.out.println("3. Resultatliste"); System.out.println("4. Simuler resten av omgangen"); System.out.println(); } void kommandol?kke(){ In tast = new In(); int valg; skrivMeny(); do { System.out.print("\nValg (9 for meny): "); valg = tast.inInt(); switch(valg){ case 0: System.out.println(); break; case 1: nesteHopp(); break; case 2: skrivGjenst?ende(); break; case 3: skrivResultat(); break; case 4: simulerOmgang(); break; case 9: skrivMeny(); break; default: System.out.println("Du tastet feil"); } } while (!(valg == 0)); } void nesteHopp(){ if( antall >= startliste.length ) return; startliste[antall].nyttHopp(f?rsteomgang); oppdaterListe(); } void oppdaterListe(){ int i = antall; Skihopper aktiv = startliste[antall]; while( i>0 && rekkeflg[i-1].poengsum(f?rsteomgang) < aktiv.poengsum(f?rsteomgang) ){ rekkeflg[i] = rekkeflg[i-1]; i--; } rekkeflg[i] = startliste[antall++]; System.out.println( " "+ aktiv.poengsum(f?rsteomgang) +" poeng [nr. "+ (i+1) +"]\n"); } void skrivResultat(){ int nr = 0; for( int i=0; i